@gengage/assistant-fe 0.6.35 → 0.6.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(tt){Object.defineProperty(tt,Symbol.toStringTag,{value:"Module"});var Tn=Object.defineProperty,L=(t,e)=>()=>(t&&(e=t(t=0)),e),St=(t,e)=>{let a={};for(var n in t)Tn(a,n,{get:t[n],enumerable:!0});return e||Tn(a,Symbol.toStringTag,{value:"Module"}),a},os="__gengageWidgetsInit";function ss(){const t=window.__gengageSessionId??sessionStorage.getItem("gengage_session_id")??null??crypto.randomUUID();return window.__gengageSessionId=t,sessionStorage.setItem("gengage_session_id",t),window.gengage||(window.gengage={}),window.gengage.sessionId=t,t}function An(t){return{sessionId:t?.sessionId??ss(),...t}}var Ln=L((()=>{}));function cs(t){return/^\s*javascript\s*:/i.test(t)}function ls(t){const e=[];for(const a of t.split(";")){const n=a.trim();if(!n)continue;const i=n.indexOf(":");if(i===-1)continue;const r=n.slice(0,i).trim().toLowerCase(),o=n.slice(i+1).trim();Mn.has(r)&&(Bn.test(o)||e.push(n))}return e.join("; ")}function oa(t,e){if(t.nodeType===Node.TEXT_NODE)return;if(t.nodeType!==Node.ELEMENT_NODE){t.parentNode?.removeChild(t);return}const a=t,n=a.tagName.toLowerCase();if(Nn.has(n)){a.parentNode?.removeChild(a);return}if(!In.has(n)){const c=Array.from(a.childNodes);for(const l of c)e.insertBefore(l,a);e.removeChild(a);for(const l of c)oa(l,e);return}const i=sa["*"]??new Set,r=sa[n]??new Set,o=Array.from(a.attributes);for(const c of o){const l=c.name.toLowerCase();if(!i.has(l)&&!r.has(l)){a.removeAttribute(c.name);continue}if(cs(c.value)){a.removeAttribute(c.name);continue}if(l==="style"){const p=ls(c.value);p?a.setAttribute("style",p):a.removeAttribute("style");continue}}if(n==="a"){const c=a.getAttribute("href");if(c!==null){const l=c.trim().toLowerCase();!l.startsWith("http://")&&!l.startsWith("https://")&&!l.startsWith("mailto:")&&a.removeAttribute("href")}a.setAttribute("target","_blank"),a.setAttribute("rel","noopener noreferrer")}if(n==="img"){const c=a.getAttribute("src");c!==null&&(c.trim().toLowerCase().startsWith("https://")||a.removeAttribute("src"))}if(n==="button"){const c=a.getAttribute("type")?.trim().toLowerCase();(!c||c!=="button")&&a.setAttribute("type","button")}const s=Array.from(a.childNodes);for(const c of s)oa(c,a)}function we(t){const e=t.trim();if(!e)return!1;if(e.startsWith("/")&&!e.startsWith("//"))return!0;try{return ca.includes(new URL(e).protocol)}catch{return!1}}function pe(t){if(t.startsWith("/")&&!t.startsWith("//"))return!0;try{const e=new URL(t);return ca.includes(e.protocol)}catch{return!1}}function he(t,e,a){(e==="href"||e==="src")&&!pe(a)||t.setAttribute(e,a)}function ye(t){if(!t)return"";const e=new DOMParser().parseFromString(t,"text/html").body,a=Array.from(e.childNodes);for(const n of a)oa(n,e);return e.innerHTML}var In,Nn,sa,Mn,Bn,ca,ge=L((()=>{In=new Set(["p","br","a","strong","b","em","i","u","ul","ol","li","h1","h2","h3","h4","h5","h6","span","div","table","thead","tbody","tr","th","td","hr","code","pre","blockquote","img","sup","sub","button"]),Nn=new Set(["script","iframe","object","embed","form","input","textarea","select","style","link","meta","template","noscript"]),sa={"*":new Set(["class"]),a:new Set(["href","target","rel"]),img:new Set(["src","alt","width","height"]),button:new Set(["type","disabled","aria-label","aria-hidden","title"]),div:new Set(["style"]),span:new Set(["style"]),p:new Set(["style"])},Mn=new Set(["color","background-color","font-size","font-weight","font-style","font-family","text-align","text-decoration","line-height","letter-spacing","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","border","border-top","border-right","border-bottom","border-left","border-radius","border-color","border-width","border-style","width","max-width","min-width","height","max-height","min-height","display","vertical-align","white-space","word-break","overflow","opacity","visibility","list-style","list-style-type","text-transform","text-indent","text-overflow","box-sizing","flex","flex-direction","flex-wrap","justify-content","align-items","gap"]),Bn=/url\s*\(|expression\s*\(|javascript\s*:|\bimport\b|-moz-binding|behavior\s*:/i,ca=["http:","https:"]}));function gs(){return typeof window<"u"&&Array.isArray(window.dataLayer)}function de(t,e){const a={event:t,...e};gs()&&window.dataLayer.push(a)}function Et(t){de("gengage-on-init",{gengage_widget:t})}function Pt(t){de("gengage-show",{gengage_widget:t})}function la(t,e){de("gengage-suggested-question",{gengage_question_title:t,gengage_action_type:e})}function Rn(t){de("gengage-find-similars",{gengage_sku:t})}function ds(t){de("gengage-compare-preselection",{gengage_sku:t})}function ps(t){de("gengage-compare-selected",{gengage_skus:t,gengage_product_count:t.length})}function hs(){de("gengage-compare-clear")}function us(t){de("gengage-compare-received",{gengage_product_count:t})}function ms(t){de("gengage-like-product",{gengage_sku:t})}function fs(){de("gengage-like-list")}function bs(t,e){de("gengage-search",{gengage_search_query:t,gengage_result_count:e})}function ga(t,e){de("gengage-product-detail",{gengage_sku:t,gengage_product_name:e})}function vs(t){de("gengage-compare-product",{gengage_skus:t,gengage_product_count:t.length})}function ys(){de("gengage-chatbot-maximized")}function zn(t){de("gengage-interface-not-ready",{...t?.reason!==void 0?{gengage_reason:t.reason}:{},...t?.attempts!==void 0?{gengage_attempts:t.attempts}:{},...t?.message!==void 0?{gengage_message:t.message}:{}})}function Hn(t,e){de("gengage-cart-add",{gengage_sku:t,gengage_quantity:e})}function xs(){de("gengage-message-sent")}function Fn(){de("gengage-message-received")}function _s(){de("gengage-conversation-start")}function ws(){de("gengage-voice-input")}var at=L((()=>{}));function ue(t,e){window.dispatchEvent(new CustomEvent(t,{detail:e,bubbles:!1}))}function Tt(t,e){const a=n=>{e(n.detail)};return window.addEventListener(t,a),()=>window.removeEventListener(t,a)}function ks(t){if(t.type!=="user_message"&&t.type!=="inputText")return null;if(typeof t.payload=="string"&&t.payload.trim().length>0)return t.payload.trim();if(typeof t.payload=="object"&&t.payload!==null){const e=t.payload;if(typeof e.text=="string"){const a=e.text.trim();if(a.length>0)return a}}return typeof t.title=="string"&&t.title.trim().length>0?t.title.trim():null}function Cs(t){if(t.type!=="inputText"&&t.type!=="user_message")return t;const e=typeof t.payload=="string"?{text:t.payload.trim()}:t.payload!=null&&typeof t.payload=="object"&&!Array.isArray(t.payload)?{...t.payload}:{};if(typeof e.text!="string"||!e.text.trim()){const a=t.title?.trim();a&&(e.text=a)}return"is_launcher"in e||(e.is_launcher=1),"is_suggested_text"in e||(e.is_suggested_text=1),{...t,payload:e}}function Ss(t){let e=!1;const a=[];let n=0,i=null,r=0;const o=500,s=10;function c(){return window.gengage?.chat??null}function l(){e||(console.warn("[gengage] QNA tried to open chat, but chat widget is not initialized. Ensure GengageChat is initialized before calling wireQNAToChat()."),e=!0),t?.onChatUnavailable?.()}function p(u,g){if(u.openWithAction){const _=g.type==="inputText"||g.type==="user_message"?Cs(g):g;u.openWithAction(_);return}const v=ks(g);if(v&&u.sendMessage){u.open?.(),u.sendMessage(v);return}}function d(){i!==null&&(window.clearInterval(i),i=null)}function h(){const u=c();if(!u)return!1;if(n>0&&(u.open?.(),n=0),a.length>0){const g=a.splice(0,a.length);for(const v of g)p(u,v)}return d(),!0}function f(){i===null&&(r=0,i=window.setInterval(()=>{h()||(r+=1,r>=s&&((a.length>0||n>0)&&zn({reason:"chat_unavailable_after_poll",attempts:s}),a.length=0,n=0,d()))},o))}const b=Tt("gengage:qna:action",u=>{const g=c();if(g){p(g,u);return}l(),a.length>=20&&a.shift(),a.push(u),f()}),m=Tt("gengage:qna:open-chat",()=>{const u=c();if(u){u.open?.();return}l(),n+=1,f()});return()=>{b(),m(),a.length=0,n=0,d()}}var Ke=L((()=>{at()}));function da(t){const e=document.createElement("div");if(e.className=t.containerClassName,!t.spec.elements[t.spec.root])return e;const a=t.unknownRenderer??Dn,n=r=>{const o=t.spec.elements[r];if(!o)return null;const s=t.registry[o.type];return s?s({elementId:r,element:o,spec:t.spec,context:t.context,renderElement:n}):a({elementId:r,element:o,spec:t.spec,context:t.context,renderElement:n})},i=n(t.spec.root);return i&&e.appendChild(i),e}var Dn,Es=L((()=>{Dn=({element:t,renderElement:e})=>{if(!t.children||t.children.length===0)return null;const a=document.createElement("div");for(const n of t.children){const i=e(n);i&&a.appendChild(i)}return a}}));function pa(t,e){if(!e)return t;const a={...t};for(const[n,i]of Object.entries(e))i&&(a[n]=i);return a}var Ps=L((()=>{})),nt=L((()=>{Es(),Ps()}));function Ts(t){if(!t)return{...ha};const e={...ha,...t},a=t["--gengage-chat-launcher-size"];return a!==void 0&&(t["--gengage-chat-launcher-width"]===void 0&&(e["--gengage-chat-launcher-width"]=a),t["--gengage-chat-launcher-height"]===void 0&&(e["--gengage-chat-launcher-height"]=a)),e}var ha,As=L((()=>{ha={"--gengage-chat-offset":"20px","--gengage-chat-launcher-width":"56px","--gengage-chat-launcher-height":"56px","--gengage-chat-width":"400px","--gengage-chat-shell-radius":"1rem","--gengage-chat-header-height":"72px","--gengage-chat-conversation-width":"396px","--gengage-chat-panel-min-width":"320px","--gengage-chat-panel-max-width":"1200px","--gengage-chat-input-height":"48px","--gengage-qna-pill-radius":"999px","--gengage-qna-input-radius":"12px","--gengage-simrel-card-radius":"0.75rem","--radius-control":"12px","--radius-card":"16px","--radius-panel":"24px","--radius-pill":"999px","--surface-card-muted":"#f8fafc","--text-secondary":"#4b5563","--text-muted":"#6b7280","--border-default":"rgba(17, 24, 39, 0.10)"}})),Ae,Ls=L((()=>{Ae={primaryColor:"#b7102a",primaryForeground:"#ffffff",backgroundColor:"#ffffff",foregroundColor:"#111827",borderRadius:"0.75rem",fontFamily:'"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"14px",zIndex:"1000","--glov-chatbot-width":"420px","--glov-left-spacing":"260px","--chatbot-padding":"16px","--root-wrapper-background-color":"#f8f9fa","--root-wrapper-border-color":"#edeeef","--gengage-chat-width":"400px","--gengage-chat-shell-radius":"1rem","--gengage-chat-header-height":"72px","--gengage-chat-conversation-width":"396px","--gengage-chat-panel-min-width":"320px","--gengage-chat-panel-max-width":"1200px","--gengage-chat-input-height":"48px","--gengage-qna-pill-radius":"999px","--gengage-qna-input-radius":"0.75rem","--gengage-simrel-card-radius":"0.75rem","--client-primary":"#b7102a","--client-primary-hover":"color-mix(in srgb, #b7102a 88%, black 12%)","--client-primary-active":"color-mix(in srgb, #b7102a 78%, black 22%)","--client-primary-subtle":"color-mix(in srgb, #b7102a 12%, white)","--client-primary-soft":"color-mix(in srgb, #b7102a 20%, white)","--client-on-primary":"#ffffff","--client-focus-ring":"color-mix(in srgb, #b7102a 32%, transparent)","--surface-page":"#f6f7fb","--surface-shell":"#10131a","--surface-card":"#ffffff","--surface-card-muted":"#f8fafc","--surface-card-soft":"#f8fafc","--surface-elevated":"#ffffff","--surface-input":"#ffffff","--surface-overlay":"rgba(16, 19, 26, 0.52)","--text-primary":"#111827","--text-secondary":"#4b5563","--text-muted":"#6b7280","--text-inverse":"#f9fafb","--border-subtle":"rgba(17, 24, 39, 0.06)","--border-default":"rgba(17, 24, 39, 0.10)","--border-strong":"rgba(17, 24, 39, 0.18)","--shadow-1":"0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06)","--shadow-2":"0 4px 12px rgba(16, 24, 40, 0.08)","--shadow-3":"0 10px 24px rgba(16, 24, 40, 0.12)","--radius-control":"12px","--radius-card":"16px","--radius-panel":"24px","--radius-pill":"999px","--success":"#16a34a","--warning":"#d97706","--error":"#dc2626","--info":"#2563eb","--rating":"#f5b301","--ai-accent-start":"#0b24d6","--ai-accent-end":"#f768f2","--ai-accent-soft":"linear-gradient(135deg, rgba(11, 36, 214, 0.08), rgba(247, 104, 242, 0.08))"}}));function Un(t){return typeof t=="string"&&t.toLowerCase().startsWith("tr")}function ua(t){if(typeof navigator<"u"&&navigator.onLine===!1)return!0;const e=t instanceof Error?t.message.trim():"";return e?Wn.some(a=>a.test(e)):!1}function On(t,e){return ua(e)?Un(t)?"Bağlantı sorunu oluştu. Lütfen tekrar deneyin.":"Connection issue. Please try again.":Un(t)?"Bir hata oluştu. Lütfen tekrar deneyin.":"Something went wrong. Please try again."}function Is(){ba||typeof window>"u"||typeof document>"u"||(ba=!0,Tt("gengage:global:error",t=>{ma(t)}))}function ma(t){if(typeof document>"u")return;const e=t.message.trim();if(!e)return;zs();const a=Ms();Bs(a),a.innerHTML="";const n=document.createElement("section");n.className="gengage-global-toast gengage-global-toast--error",n.setAttribute("role","status"),n.setAttribute("aria-live","polite");const i=document.createElement("div");i.className="gengage-global-toast-title",i.textContent=Ns(t.source);const r=document.createElement("div");r.className="gengage-global-toast-message",r.textContent=e,n.appendChild(i),n.appendChild(r),a.appendChild(n),a.classList.add(At),qe&&(clearTimeout(qe),qe=null),t.sticky!==!0&&(qe=setTimeout(()=>{qn()},Rs(t.durationMs)))}function qn(){if(typeof document>"u")return;const t=document.getElementById(ze);t&&(t.classList.remove(At),t.innerHTML="",qe&&(clearTimeout(qe),qe=null))}function Ns(t){switch(t){case"chat":return"Chat warning";case"qna":return"QnA warning";case"simrel":return"Widget warning";default:return"Connection warning"}}function Ms(){const t=document.getElementById(ze);if(t instanceof HTMLElement)return t;const e=document.createElement("div");return e.id=ze,e.className="gengage-global-toast-root",document.body.appendChild(e),e}function Bs(t){if(typeof document>"u"||typeof window>"u")return;const e=document.querySelector(".gengage-chat-root, .gengage-qna-container, .gengage-simrel-container, .gengage-simbut-root");if(!e)return;const a=window.getComputedStyle(e);for(const n of Gn){const i=a.getPropertyValue(n).trim();i?t.style.setProperty(n,i):t.style.removeProperty(n)}}function Rs(t){return typeof t!="number"||!Number.isFinite(t)?jn:Math.min(Vn,Math.max($n,Math.round(t)))}function zs(){if(document.getElementById(fa))return;const t=document.createElement("style");t.id=fa;const e=Ae["--surface-card"]??Ae.backgroundColor??"#ffffff",a=Ae["--text-primary"]??Ae.foregroundColor??"#111827",n=Ae["--border-default"]??"rgba(17, 24, 39, 0.10)",i=Ae["--error"]??"#dc2626",r=Ae["--shadow-3"]??"0 10px 24px rgba(16, 24, 40, 0.12)",o=Ae["--radius-card"]??"16px",s=Ae["--text-muted"]??"#6b7280";t.textContent=`
1
+ (function(tt){Object.defineProperty(tt,Symbol.toStringTag,{value:"Module"});var Pn=Object.defineProperty,L=(t,e)=>()=>(t&&(e=t(t=0)),e),St=(t,e)=>{let a={};for(var n in t)Pn(a,n,{get:t[n],enumerable:!0});return e||Pn(a,Symbol.toStringTag,{value:"Module"}),a},os="__gengageWidgetsInit";function ss(){const t=window.__gengageSessionId??sessionStorage.getItem("gengage_session_id")??null??crypto.randomUUID();return window.__gengageSessionId=t,sessionStorage.setItem("gengage_session_id",t),window.gengage||(window.gengage={}),window.gengage.sessionId=t,t}function An(t){return{sessionId:t?.sessionId??ss(),...t}}var Ln=L((()=>{}));function cs(t){return/^\s*javascript\s*:/i.test(t)}function ls(t){const e=[];for(const a of t.split(";")){const n=a.trim();if(!n)continue;const i=n.indexOf(":");if(i===-1)continue;const r=n.slice(0,i).trim().toLowerCase(),o=n.slice(i+1).trim();Mn.has(r)&&(Bn.test(o)||e.push(n))}return e.join("; ")}function oa(t,e){if(t.nodeType===Node.TEXT_NODE)return;if(t.nodeType!==Node.ELEMENT_NODE){t.parentNode?.removeChild(t);return}const a=t,n=a.tagName.toLowerCase();if(Nn.has(n)){a.parentNode?.removeChild(a);return}if(!In.has(n)){const c=Array.from(a.childNodes);for(const l of c)e.insertBefore(l,a);e.removeChild(a);for(const l of c)oa(l,e);return}const i=sa["*"]??new Set,r=sa[n]??new Set,o=Array.from(a.attributes);for(const c of o){const l=c.name.toLowerCase();if(!i.has(l)&&!r.has(l)){a.removeAttribute(c.name);continue}if(cs(c.value)){a.removeAttribute(c.name);continue}if(l==="style"){const p=ls(c.value);p?a.setAttribute("style",p):a.removeAttribute("style");continue}}if(n==="a"){const c=a.getAttribute("href");if(c!==null){const l=c.trim().toLowerCase();!l.startsWith("http://")&&!l.startsWith("https://")&&!l.startsWith("mailto:")&&a.removeAttribute("href")}a.setAttribute("target","_blank"),a.setAttribute("rel","noopener noreferrer")}if(n==="img"){const c=a.getAttribute("src");c!==null&&(c.trim().toLowerCase().startsWith("https://")||a.removeAttribute("src"))}if(n==="button"){const c=a.getAttribute("type")?.trim().toLowerCase();(!c||c!=="button")&&a.setAttribute("type","button")}const s=Array.from(a.childNodes);for(const c of s)oa(c,a)}function we(t){const e=t.trim();if(!e)return!1;if(e.startsWith("/")&&!e.startsWith("//"))return!0;try{return ca.includes(new URL(e).protocol)}catch{return!1}}function he(t){if(t.startsWith("/")&&!t.startsWith("//"))return!0;try{const e=new URL(t);return ca.includes(e.protocol)}catch{return!1}}function ue(t,e,a){(e==="href"||e==="src")&&!he(a)||t.setAttribute(e,a)}function ye(t){if(!t)return"";const e=new DOMParser().parseFromString(t,"text/html").body,a=Array.from(e.childNodes);for(const n of a)oa(n,e);return e.innerHTML}var In,Nn,sa,Mn,Bn,ca,de=L((()=>{In=new Set(["p","br","a","strong","b","em","i","u","ul","ol","li","h1","h2","h3","h4","h5","h6","span","div","table","thead","tbody","tr","th","td","hr","code","pre","blockquote","img","sup","sub","button"]),Nn=new Set(["script","iframe","object","embed","form","input","textarea","select","style","link","meta","template","noscript"]),sa={"*":new Set(["class"]),a:new Set(["href","target","rel"]),img:new Set(["src","alt","width","height"]),button:new Set(["type","disabled","aria-label","aria-hidden","title"]),div:new Set(["style"]),span:new Set(["style"]),p:new Set(["style"])},Mn=new Set(["color","background-color","font-size","font-weight","font-style","font-family","text-align","text-decoration","line-height","letter-spacing","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","border","border-top","border-right","border-bottom","border-left","border-radius","border-color","border-width","border-style","width","max-width","min-width","height","max-height","min-height","display","vertical-align","white-space","word-break","overflow","opacity","visibility","list-style","list-style-type","text-transform","text-indent","text-overflow","box-sizing","flex","flex-direction","flex-wrap","justify-content","align-items","gap"]),Bn=/url\s*\(|expression\s*\(|javascript\s*:|\bimport\b|-moz-binding|behavior\s*:/i,ca=["http:","https:"]}));function gs(){return typeof window<"u"&&Array.isArray(window.dataLayer)}function pe(t,e){const a={event:t,...e};gs()&&window.dataLayer.push(a)}function Et(t){pe("gengage-on-init",{gengage_widget:t})}function Tt(t){pe("gengage-show",{gengage_widget:t})}function la(t,e){pe("gengage-suggested-question",{gengage_question_title:t,gengage_action_type:e})}function Rn(t){pe("gengage-find-similars",{gengage_sku:t})}function ds(t){pe("gengage-compare-preselection",{gengage_sku:t})}function ps(t){pe("gengage-compare-selected",{gengage_skus:t,gengage_product_count:t.length})}function hs(){pe("gengage-compare-clear")}function us(t){pe("gengage-compare-received",{gengage_product_count:t})}function ms(t){pe("gengage-like-product",{gengage_sku:t})}function fs(){pe("gengage-like-list")}function bs(t,e){pe("gengage-search",{gengage_search_query:t,gengage_result_count:e})}function ga(t,e){pe("gengage-product-detail",{gengage_sku:t,gengage_product_name:e})}function vs(t){pe("gengage-compare-product",{gengage_skus:t,gengage_product_count:t.length})}function ys(){pe("gengage-chatbot-maximized")}function zn(t){pe("gengage-interface-not-ready",{...t?.reason!==void 0?{gengage_reason:t.reason}:{},...t?.attempts!==void 0?{gengage_attempts:t.attempts}:{},...t?.message!==void 0?{gengage_message:t.message}:{}})}function Hn(t,e){pe("gengage-cart-add",{gengage_sku:t,gengage_quantity:e})}function xs(){pe("gengage-message-sent")}function Fn(){pe("gengage-message-received")}function _s(){pe("gengage-conversation-start")}function ws(){pe("gengage-voice-input")}var at=L((()=>{}));function me(t,e){window.dispatchEvent(new CustomEvent(t,{detail:e,bubbles:!1}))}function Pt(t,e){const a=n=>{e(n.detail)};return window.addEventListener(t,a),()=>window.removeEventListener(t,a)}function ks(t){if(t.type!=="user_message"&&t.type!=="inputText")return null;if(typeof t.payload=="string"&&t.payload.trim().length>0)return t.payload.trim();if(typeof t.payload=="object"&&t.payload!==null){const e=t.payload;if(typeof e.text=="string"){const a=e.text.trim();if(a.length>0)return a}}return typeof t.title=="string"&&t.title.trim().length>0?t.title.trim():null}function Cs(t){if(t.type!=="inputText"&&t.type!=="user_message")return t;const e=typeof t.payload=="string"?{text:t.payload.trim()}:t.payload!=null&&typeof t.payload=="object"&&!Array.isArray(t.payload)?{...t.payload}:{};if(typeof e.text!="string"||!e.text.trim()){const a=t.title?.trim();a&&(e.text=a)}return"is_launcher"in e||(e.is_launcher=1),"is_suggested_text"in e||(e.is_suggested_text=1),{...t,payload:e}}function Ss(t){let e=!1;const a=[];let n=0,i=null,r=0;const o=500,s=10;function c(){return window.gengage?.chat??null}function l(){e||(console.warn("[gengage] QNA tried to open chat, but chat widget is not initialized. Ensure GengageChat is initialized before calling wireQNAToChat()."),e=!0),t?.onChatUnavailable?.()}function p(u,g){if(u.openWithAction){const _=g.type==="inputText"||g.type==="user_message"?Cs(g):g;u.openWithAction(_);return}const v=ks(g);if(v&&u.sendMessage){u.open?.(),u.sendMessage(v);return}}function d(){i!==null&&(window.clearInterval(i),i=null)}function h(){const u=c();if(!u)return!1;if(n>0&&(u.open?.(),n=0),a.length>0){const g=a.splice(0,a.length);for(const v of g)p(u,v)}return d(),!0}function f(){i===null&&(r=0,i=window.setInterval(()=>{h()||(r+=1,r>=s&&((a.length>0||n>0)&&zn({reason:"chat_unavailable_after_poll",attempts:s}),a.length=0,n=0,d()))},o))}const b=Pt("gengage:qna:action",u=>{const g=c();if(g){p(g,u);return}l(),a.length>=20&&a.shift(),a.push(u),f()}),m=Pt("gengage:qna:open-chat",()=>{const u=c();if(u){u.open?.();return}l(),n+=1,f()});return()=>{b(),m(),a.length=0,n=0,d()}}var Ke=L((()=>{at()}));function da(t){const e=document.createElement("div");if(e.className=t.containerClassName,!t.spec.elements[t.spec.root])return e;const a=t.unknownRenderer??Dn,n=r=>{const o=t.spec.elements[r];if(!o)return null;const s=t.registry[o.type];return s?s({elementId:r,element:o,spec:t.spec,context:t.context,renderElement:n}):a({elementId:r,element:o,spec:t.spec,context:t.context,renderElement:n})},i=n(t.spec.root);return i&&e.appendChild(i),e}var Dn,Es=L((()=>{Dn=({element:t,renderElement:e})=>{if(!t.children||t.children.length===0)return null;const a=document.createElement("div");for(const n of t.children){const i=e(n);i&&a.appendChild(i)}return a}}));function pa(t,e){if(!e)return t;const a={...t};for(const[n,i]of Object.entries(e))i&&(a[n]=i);return a}var Ts=L((()=>{})),nt=L((()=>{Es(),Ts()}));function Ps(t){if(!t)return{...ha};const e={...ha,...t},a=t["--gengage-chat-launcher-size"];return a!==void 0&&(t["--gengage-chat-launcher-width"]===void 0&&(e["--gengage-chat-launcher-width"]=a),t["--gengage-chat-launcher-height"]===void 0&&(e["--gengage-chat-launcher-height"]=a)),e}var ha,As=L((()=>{ha={"--gengage-chat-offset":"20px","--gengage-chat-launcher-width":"56px","--gengage-chat-launcher-height":"56px","--gengage-chat-width":"400px","--gengage-chat-shell-radius":"1rem","--gengage-chat-header-height":"72px","--gengage-chat-conversation-width":"396px","--gengage-chat-panel-min-width":"320px","--gengage-chat-panel-max-width":"1200px","--gengage-chat-input-height":"48px","--gengage-qna-pill-radius":"999px","--gengage-qna-input-radius":"12px","--gengage-simrel-card-radius":"0.75rem","--radius-control":"12px","--radius-card":"16px","--radius-panel":"24px","--radius-pill":"999px","--surface-card-muted":"#f8fafc","--text-secondary":"#4b5563","--text-muted":"#6b7280","--border-default":"rgba(17, 24, 39, 0.10)"}})),Ae,Ls=L((()=>{Ae={primaryColor:"#b7102a",primaryForeground:"#ffffff",backgroundColor:"#ffffff",foregroundColor:"#111827",borderRadius:"0.75rem",fontFamily:'"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"14px",zIndex:"1000","--glov-chatbot-width":"420px","--glov-left-spacing":"260px","--chatbot-padding":"16px","--root-wrapper-background-color":"#f8f9fa","--root-wrapper-border-color":"#edeeef","--gengage-chat-width":"400px","--gengage-chat-shell-radius":"1rem","--gengage-chat-header-height":"72px","--gengage-chat-conversation-width":"396px","--gengage-chat-panel-min-width":"320px","--gengage-chat-panel-max-width":"1200px","--gengage-chat-input-height":"48px","--gengage-qna-pill-radius":"999px","--gengage-qna-input-radius":"0.75rem","--gengage-simrel-card-radius":"0.75rem","--client-primary":"#b7102a","--client-primary-hover":"color-mix(in srgb, #b7102a 88%, black 12%)","--client-primary-active":"color-mix(in srgb, #b7102a 78%, black 22%)","--client-primary-subtle":"color-mix(in srgb, #b7102a 12%, white)","--client-primary-soft":"color-mix(in srgb, #b7102a 20%, white)","--client-on-primary":"#ffffff","--client-focus-ring":"color-mix(in srgb, #b7102a 32%, transparent)","--surface-page":"#f6f7fb","--surface-shell":"#10131a","--surface-card":"#ffffff","--surface-card-muted":"#f8fafc","--surface-card-soft":"#f8fafc","--surface-elevated":"#ffffff","--surface-input":"#ffffff","--surface-overlay":"rgba(16, 19, 26, 0.52)","--text-primary":"#111827","--text-secondary":"#4b5563","--text-muted":"#6b7280","--text-inverse":"#f9fafb","--border-subtle":"rgba(17, 24, 39, 0.06)","--border-default":"rgba(17, 24, 39, 0.10)","--border-strong":"rgba(17, 24, 39, 0.18)","--shadow-1":"0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06)","--shadow-2":"0 4px 12px rgba(16, 24, 40, 0.08)","--shadow-3":"0 10px 24px rgba(16, 24, 40, 0.12)","--radius-control":"12px","--radius-card":"16px","--radius-panel":"24px","--radius-pill":"999px","--success":"#16a34a","--warning":"#d97706","--error":"#dc2626","--info":"#2563eb","--rating":"#f5b301","--ai-accent-start":"#0b24d6","--ai-accent-end":"#f768f2","--ai-accent-soft":"linear-gradient(135deg, rgba(11, 36, 214, 0.08), rgba(247, 104, 242, 0.08))"}}));function Un(t){return typeof t=="string"&&t.toLowerCase().startsWith("tr")}function ua(t){if(typeof navigator<"u"&&navigator.onLine===!1)return!0;const e=t instanceof Error?t.message.trim():"";return e?Wn.some(a=>a.test(e)):!1}function On(t,e){return ua(e)?Un(t)?"Bağlantı sorunu oluştu. Lütfen tekrar deneyin.":"Connection issue. Please try again.":Un(t)?"Bir hata oluştu. Lütfen tekrar deneyin.":"Something went wrong. Please try again."}function Is(){ba||typeof window>"u"||typeof document>"u"||(ba=!0,Pt("gengage:global:error",t=>{ma(t)}))}function ma(t){if(typeof document>"u")return;const e=t.message.trim();if(!e)return;zs();const a=Ms();Bs(a),a.innerHTML="";const n=document.createElement("section");n.className="gengage-global-toast gengage-global-toast--error",n.setAttribute("role","status"),n.setAttribute("aria-live","polite");const i=document.createElement("div");i.className="gengage-global-toast-title",i.textContent=Ns(t.source);const r=document.createElement("div");r.className="gengage-global-toast-message",r.textContent=e,n.appendChild(i),n.appendChild(r),a.appendChild(n),a.classList.add(At),qe&&(clearTimeout(qe),qe=null),t.sticky!==!0&&(qe=setTimeout(()=>{qn()},Rs(t.durationMs)))}function qn(){if(typeof document>"u")return;const t=document.getElementById(ze);t&&(t.classList.remove(At),t.innerHTML="",qe&&(clearTimeout(qe),qe=null))}function Ns(t){switch(t){case"chat":return"Chat warning";case"qna":return"QnA warning";case"simrel":return"Widget warning";default:return"Connection warning"}}function Ms(){const t=document.getElementById(ze);if(t instanceof HTMLElement)return t;const e=document.createElement("div");return e.id=ze,e.className="gengage-global-toast-root",document.body.appendChild(e),e}function Bs(t){if(typeof document>"u"||typeof window>"u")return;const e=document.querySelector(".gengage-chat-root, .gengage-qna-container, .gengage-simrel-container, .gengage-simbut-root");if(!e)return;const a=window.getComputedStyle(e);for(const n of Gn){const i=a.getPropertyValue(n).trim();i?t.style.setProperty(n,i):t.style.removeProperty(n)}}function Rs(t){return typeof t!="number"||!Number.isFinite(t)?jn:Math.min(Vn,Math.max($n,Math.round(t)))}function zs(){if(document.getElementById(fa))return;const t=document.createElement("style");t.id=fa;const e=Ae["--surface-card"]??Ae.backgroundColor??"#ffffff",a=Ae["--text-primary"]??Ae.foregroundColor??"#111827",n=Ae["--border-default"]??"rgba(17, 24, 39, 0.10)",i=Ae["--error"]??"#dc2626",r=Ae["--shadow-3"]??"0 10px 24px rgba(16, 24, 40, 0.12)",o=Ae["--radius-card"]??"16px",s=Ae["--text-muted"]??"#6b7280";t.textContent=`
2
2
  #${ze} {
3
3
  position: fixed;
4
4
  top: 16px;
@@ -44,9 +44,9 @@
44
44
  transform: translateY(0);
45
45
  }
46
46
  }
47
- `,document.head.appendChild(t)}var ze,fa,At,jn,$n,Vn,Gn,ba,qe,Wn,it=L((()=>{Ke(),Ls(),ze="gengage-global-toast-root",fa="gengage-global-toast-style",At="gengage-global-toast-root--visible",jn=4200,$n=1500,Vn=15e3,Gn=["--gengage-font-family","--surface-card","--text-primary","--text-muted","--border-default","--radius-card","--shadow-3","--error","--ds-toast-error-bg","--ds-toast-error-border","--ds-toast-error-accent","--ds-toast-error-fg","--ds-toast-error-shadow"],ba=!1,qe=null,Wn=[/failed to fetch/i,/networkerror/i,/network request failed/i,/load failed/i,/err_network/i,/fetch failed/i,/network error/i]}));function Hs(){if(rt!==null)return rt;try{rt=localStorage.getItem("gengage:debug")==="1"}catch{rt=!1}return rt}function Be(t,e,a){if(!Hs())return;const n=[`[gengage:${t}]`,e];a!==void 0&&n.push(a),console.debug(...n)}var rt,ot=L((()=>{rt=null}));function Fs(){if(typeof window>"u")return;const t=window;t.__gengageSdkRuntimeInfoLogged||(t.__gengageSdkRuntimeInfoLogged=!0,console.info(`[gengage] @gengage/assistant-fe v${Kn} (${Yn})`))}var Kn,Yn,Ds=L((()=>{Kn=("0.6.35".trim(),"0.6.35".trim()),Yn=("iife-build".trim(),"iife-build".trim())}));function Us(t){return t.replace(/([A-Z])/g,"-$1").toLowerCase()}var pt,Lt=L((()=>{Ke(),Ln(),As(),it(),ot(),Ds(),pt=class{constructor(){this.isVisible=!1,this.isInitialised=!1,this._handlers=new Map,this._cleanups=[],this._ownsRoot=!1,this._destroying=!1}async init(t){if(this.isInitialised){console.warn("[gengage] Widget already initialised. Call update() instead.");return}const e=Ts(t.theme);Fs(),this.config={...t,theme:e,session:An(t.session)},this.root=this._resolveMount(t.mountTarget),this._applyTheme(e),Is();const a=Tt("gengage:context:update",n=>this.update(n));this._cleanups.push(a),Be("lifecycle",`${this.constructor.name}.init`,{accountId:t.accountId,sku:t.pageContext?.sku});try{await this.onInit(this.config)}catch(n){throw this.destroy(),n}this._destroying||(this.isInitialised=!0,Be("lifecycle",`${this.constructor.name} ready`),this.emit("ready"))}update(t){this.isInitialised&&(this.config.pageContext?this.config={...this.config,pageContext:{...this.config.pageContext,...t}}:t.pageType!==void 0&&(this.config={...this.config,pageContext:t}),this.onUpdate(t),this.emit("context-update",this.config.pageContext))}show(){this.isVisible||(this.isVisible=!0,this.root.style.display="",this.onShow(),this.emit("show"))}hide(){this.isVisible&&(this.isVisible=!1,this.root.style.display="none",this.onHide(),this.emit("hide"))}destroy(){this._destroying||(this._destroying=!0,this.emit("destroy"),this._cleanups.forEach(t=>t()),this._cleanups.length=0,this._handlers.clear(),this.onDestroy(),this._cleanupRoot(),this.isInitialised=!1)}_cleanupRoot(){this._ownsRoot?this.root.remove():this.root.innerHTML=""}on(t,e){return this._handlers.has(t)||this._handlers.set(t,new Set),this._handlers.get(t).add(e),()=>this._handlers.get(t)?.delete(e)}emit(t,...e){this._handlers.get(t)?.forEach(a=>a(...e))}addCleanup(t){this._cleanups.push(t)}_resolveMount(t){if(t instanceof HTMLElement)return t;if(typeof t=="string"){const a=document.querySelector(t);if(!a)throw new Error(`[gengage] Mount target not found: "${t}"`);return a}const e=document.createElement("div");return e.dataset.gengageWidget=this.constructor.name.toLowerCase(),document.body.insertBefore(e,document.body.firstChild),this._ownsRoot=!0,e}_applyTheme(t){if(t){for(const[e,a]of Object.entries(t))if(a!==void 0){const n=e.startsWith("--")?e:`--gengage-${Us(e)}`;this.root.style.setProperty(n,a)}}}}}));function Qn(){const t=Date.now(),e=new Uint8Array(16);crypto.getRandomValues(e),e[0]=t/2**40&255,e[1]=t/2**32&255,e[2]=t/2**24&255,e[3]=t/2**16&255,e[4]=t/2**8&255,e[5]=t&255,e[6]=e[6]&15|112,e[8]=e[8]&63|128;const a=Array.from(e,n=>n.toString(16).padStart(2,"0")).join("");return`${a.slice(0,8)}-${a.slice(8,12)}-${a.slice(12,16)}-${a.slice(16,20)}-${a.slice(20)}`}var Os=L((()=>{}));function qs(t){if(typeof t!="object"||t===null)return!1;const e=t;return typeof e.gengage=="string"&&typeof e.type=="string"}function js(){try{return typeof process<"u"&&process.env.NODE_ENV!=="production"}catch{return!1}}var Zn,$s=L((()=>{Zn=class{constructor(t){this._handlers=new Map,this._destroyed=!1,this._namespace=t.namespace,this._allowedOrigins=t.allowedOrigins??[location.origin],this._onMessage=t.onMessage,this._allowedOrigins.includes("*")&&js()&&console.warn("[gengage] postMessage bridge using wildcard origin. Set allowedOrigins for production security."),this._messageListener=e=>this._handlePostMessage(e),window.addEventListener("message",this._messageListener)}send(t,e){if(this._destroyed)return;const a={namespace:this._namespace,type:t};e!==void 0&&(a.payload=e),window.dispatchEvent(new CustomEvent("gengage:bridge:message",{detail:a,bubbles:!1}))}on(t,e){this._handlers.has(t)||this._handlers.set(t,new Set);const a=this._handlers.get(t);return a.add(e),()=>{a.delete(e),a.size===0&&this._handlers.delete(t)}}destroy(){this._destroyed||(this._destroyed=!0,window.removeEventListener("message",this._messageListener),this._handlers.clear())}_handlePostMessage(t){if(this._destroyed||!this._isOriginAllowed(t.origin))return;const e=t.data;if(!qs(e)||e.gengage!==this._namespace)return;const a={type:e.type};e.payload!==void 0&&(a.payload=e.payload),this._onMessage?.(a);const n=this._handlers.get(a.type);if(n)for(const i of n)i(a.payload)}_isOriginAllowed(t){return this._allowedOrigins.includes("*")?!0:this._allowedOrigins.includes(t)}}}));function Xn(t,e){if(typeof window>"u"||!pe(t))return!1;const a=new CustomEvent("gengage:navigate",{detail:e===void 0?{url:t}:{url:t,newTab:e},cancelable:!0});return window.dispatchEvent(a)?(e?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t,!0):!1}var Jn=L((()=>{ge()}));function Vs(t,e,a={}){const n=t.action,i=a.logger??ei;switch(Be("action",`routing action: ${n.kind}`,n),n.kind){case"open_chat":e.openChat?.(n.payload);return;case"navigate":{if(typeof n.url!="string"){st(n,e,a,i);return}if(!pe(n.url)){i.warn("[gengage] Blocked navigation to unsafe URL:",n.url);return}const r=typeof n.newTab=="boolean"?n.newTab:void 0;if(e.navigate){e.navigate({url:n.url,...r!==void 0&&{newTab:r}});return}(a.defaultNavigate??Gs)(n.url,r);return}case"save_session":if(typeof n.sessionId!="string"||typeof n.sku!="string"){st(n,e,a,i);return}e.saveSession?.({sessionId:n.sessionId,sku:n.sku});return;case"add_to_cart":if(typeof n.sku!="string"||typeof n.quantity!="number"||typeof n.cartCode!="string"){st(n,e,a,i);return}e.addToCart?.({sku:n.sku,quantity:n.quantity,cartCode:n.cartCode});return;case"script_call":{if(a.allowScriptCall===!1){st(n,e,a,i);return}if(typeof n.name!="string"){st(n,e,a,i);return}const r=Ws(n.payload)?n.payload:void 0;e.scriptCall?.({name:n.name,...r!==void 0&&{payload:r}});return}default:st(n,e,a,i)}}function st(t,e,a,n){const i=a.unknownActionPolicy??"log-and-ignore";if(i==="delegate"){e.unknown?.(t),e.unknown||n.warn("[gengage] Unknown action received without delegate handler",t);return}if(i==="throw")throw new Error(`[gengage] Unknown action kind: ${t.kind}`);n.warn("[gengage] Unknown action ignored",t)}function Gs(t,e){if(!(typeof window>"u")){if(!pe(t)){console.warn("[gengage] Blocked navigation to unsafe URL:",t);return}Xn(t,e)}}function Ws(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var ei,Ks=L((()=>{ge(),ot(),Jn(),ei=console}));function He(t){const e=t?.trim();return e||"tr"}var ht=L((()=>{}));function ve(t){const e=globalThis.CSS?.escape;if(typeof e=="function")return e(t);const a=Array.from(t);return a.map((n,i)=>{const r=n.codePointAt(0);return r===void 0?"":r===0?"�":r>=1&&r<=31||r===127||i===0&&r>=48&&r<=57||i===1&&a[0]==="-"&&r>=48&&r<=57?`\\${r.toString(16)} `:i===0&&n==="-"&&a.length===1?"\\-":r>=128||/[A-Za-z0-9_-]/.test(n)?n:`\\${n}`}).join("")}var It=L((()=>{}));function Ys(t){return ti.includes(t.type)?t.size>5242880?{ok:!1,reason:"too_large"}:{ok:!0}:{ok:!1,reason:"invalid_type"}}var ti,Qs,Zs=L((()=>{ti=["image/jpeg","image/png","image/webp"],Qs=5*1024*1024}));function ai(t){return typeof t=="object"&&t!==null&&typeof t.type=="string"}function Xs(t){const e=[];let a=0,n=!1,i=!1,r=0;for(let o=0;o<t.length;o++){const s=t[o];if(i){i=!1;continue}if(s==="\\"&&n){i=!0;continue}if(s==='"'){n=!n;continue}n||(s==="{"&&a++,s==="}"&&(a--,a===0&&(e.push(t.slice(r,o+1)),r=o+1)))}return e.length>0?e:[t]}function ni(t,e){const a=t.trim();if(!a||a.startsWith(":"))return!1;const n=a.startsWith("data: ")?a.slice(6):a;if(n==="[DONE]")return e.onDone?.(),!0;try{const i=JSON.parse(n);return ai(i)?(Be("stream",`event: ${i.type}`,i),e.onEvent(i),i.type==="done"?(e.onDone?.(),!0):!1):!1}catch{const i=Xs(n);if(i.length>1){for(const r of i)try{const o=JSON.parse(r);if(!ai(o))continue;if(e.onEvent(o),o.type==="done")return e.onDone?.(),!0}catch{}return!1}return!1}}async function Nt(t,e){if(!t.ok){e.onError?.(new Error(`HTTP ${t.status}: ${t.statusText}`));return}if(!t.body){e.onError?.(new Error("Response body is null — streaming not supported"));return}const a=t.body.getReader(),n=new TextDecoder("utf-8");let i="";const r=e.idleTimeoutMs??6e4,o=Symbol("idle-timeout");let s=!1;try{for(;;){const c=a.read();let l;const p=await(r>0?Promise.race([c.then(b=>(clearTimeout(l),b)),new Promise(b=>{l=setTimeout(()=>b(o),r)})]):c);if(p===o){s=!0,await a.cancel();break}const{done:d,value:h}=p;if(d)break;i+=n.decode(h,{stream:!0});const f=i.split(`
48
- `);i=f.pop()??"";for(const b of f)if(ni(b,e))return}if(i.trim()&&ni(i,e))return}catch(c){if(c instanceof DOMException&&c.name==="AbortError")return;e.onError?.(c instanceof Error?c:new Error(String(c)))}finally{s||a.releaseLock()}e.onDone?.()}var va=L((()=>{ot()}));function Js(t){const e=(t.display_keywords??[]).flatMap(i=>Mt(i,{stripLeadingStopWords:!0})),a=e.filter((i,r)=>e.indexOf(i)===r);if(a.length>0)return a.slice(0,ya);const n=[...Mt(t.chosen_attribute,{stripLeadingStopWords:!0}),...Mt(t.short_name)];return n.filter((i,r)=>n.indexOf(i)===r).slice(0,ya)}function ec(t){return Js(t).join(" • ")}var ya,ii,Mt,tc=L((()=>{ya=3,ii=(t,e)=>{const a=t.replace(/\s+/g," ").trim().replace(/^[,.;:!?•-]+|[,.;:!?•-]+$/g,"");if(!a)return"";const n=e?.stripLeadingStopWords?a.replace(/^(?:daha|için)\s+/i,"").trim():a;return n?n.split(/\s+/).slice(0,3).join(" ").trim():""},Mt=(t,e)=>t?t.split(/[•,;:/()]|(?:\sve\s)|(?:\sand\s)|(?:\sile\s)|(?:\sfor\s)|(?:\swith\s)/i).map(a=>ii(a,e)).filter(Boolean):[]}));function ri(t){return t==="beauty_consulting"||t==="account_expert"}var oi=L((()=>{}));function xa(...t){for(const e of t){if(typeof e!="string")continue;const a=e.trim();if(a.length>0)return a}}function _a(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.trim().length>0).map(e=>e.trim()):[]}function Bt(t){const e={...t},a=xa(e.sku),n=_a(e.group_skus);if(a?e.sku=a:delete e.sku,n.length>0?e.group_skus=n:delete e.group_skus,a||n.length>0)delete e.image_url;else{const i=xa(e.image_url);i?e.image_url=i:delete e.image_url}return e}var wa=L((()=>{}));function Rt(t){if(typeof t.type!="string")return null;if(ac(t))return t;const e=t;switch(e.type){case"outputText":return nc(e);case"suggestedActions":return ic(e);case"productList":return rc(e);case"productDetails":return oc(e);case"productDetailsSimilars":return sc(e);case"comparisonTable":return cc(e);case"context":return pc(e);case"chatStreamEnd":return hc();case"loading":return uc(e);case"panelLoading":return mc(e);case"similarLoading":return fc(e);case"redirect":return bc(e);case"error":return vc(e);case"dummy":return yc(e);case"launcherAction":return xc(e);case"text":return ka(e);case"productItem":return _c(e);case"text_image":return si(e);case"quick_qna":return ci(e);case"reviewHighlights":return wc(e);case"aiProductSuggestions":return Sc(e);case"aiProductGroupings":return Ec(e);case"aiSuggestedSearches":return Tc(e);case"prosAndCons":return kc(e);case"getGroundingReview":return Ac(e);case"voice":return Ic(e);case"visitorDataResponse":return Cc(e);case"productListPreview":return Lc();case"groupList":return Nc(e);case"formGetInfo":case"formTestDrive":case"formServiceRequest":case"launchFormPage":return Mc(e);case"launcherContent":return Rc(e);case"handoff":return Bc(e);case"uiSpec":return $c(e);default:return null}}function ac(t){const e=t.type;if(typeof e!="string")return!1;switch(e){case"metadata":return typeof t.sessionId=="string"&&typeof t.model=="string";case"text_chunk":return typeof t.content=="string";case"ui_spec":{const a=t.widget;if(a!=="chat"&&a!=="qna"&&a!=="simrel")return!1;const n=xe(t.spec);return n?typeof n.root=="string"&&xe(n.elements)!==null:!1}case"action":{const a=xe(t.action);return a!==null&&typeof a.kind=="string"}case"error":return typeof t.code=="string"&&typeof t.message=="string";case"done":return!0;default:return!1}}function nc(t){const e=ee(t.payload.text,t.payload.plain_text)??"",a=ee(t.payload.plain_text,t.payload.text)??e;if(t.payload.is_error)return{type:"error",code:"BACKEND_ERROR",message:a||"Backend returned an error"};const n={type:"text_chunk",content:e,final:!0},i=t.payload.product_mentions;Array.isArray(i)&&i.length>0&&(n.productMentions=i.filter(c=>typeof c=="object"&&c!==null&&typeof c.sku=="string"&&typeof c.short_name=="string"));const r=t.payload.sku_to_product_item;r&&typeof r=="object"&&!Array.isArray(r)&&(n.skuToProductItem=r);const o=t.payload.conversation_mode;typeof o=="string"&&o&&(n.conversationMode=o);const s=t.payload.render_hint;return typeof s=="string"&&s&&(n.renderHint=s),t.payload.kvkk===!0&&(n.kvkk=!0),n}function ic(t){return li((t.payload.actions??[]).map(e=>{const a=ee(e.title)??"",n=Ee(e.requestDetails,a),i=n?{label:a,action:n}:null;return i?(typeof e.icon=="string"&&(i.icon=e.icon),typeof e.image=="string"&&(i.image=e.image),i):null}).filter(mt),"chat")}function rc(t){const e=Array.isArray(t.payload.grouped_assignment)?t.payload.grouped_assignment:[],a=(Array.isArray(t.payload.style_variations)?t.payload.style_variations:[]).map(s=>{const c=ee(s.style_label);if(!c)return null;const l=ee(s.style_mood),p=ee(s.image_url??void 0),d=(Array.isArray(s.product_list)?s.product_list:[]).map(f=>{const b=xe(f);return b?Ea(xe(b.product_detail)??xe(b.product)??b):null}).filter(mt),h=Array.isArray(s.recommendation_groups)?s.recommendation_groups.map(f=>({label:ee(f.label)??"",reason:ee(f.reason)??"",skus:Array.isArray(f.skus)?f.skus.filter(b=>typeof b=="string"&&b.trim().length>0):[]})):[];return{style_label:c,style_mood:l??"",...p?{image_url:p}:{},...typeof s.status=="string"?{status:s.status}:{},product_list:d,recommendation_groups:h}}).filter(mt),n=t.payload.product_list??[],i=ri(t.payload.source)&&a.length>0?a[0].product_list:null,r=i?Hc(i,"chat"):e.length>0?zc(e,n,"chat")??Sa(n,"chat"):Sa(n,"chat");r.panelHint="panel";const o=r.spec.elements[r.spec.root];if(o){const s={};typeof t.payload.offset=="number"&&(s.offset=t.payload.offset),typeof t.payload.end_of_list=="boolean"&&(s.endOfList=t.payload.end_of_list),typeof t.payload.title=="string"&&(s.panelTitle=t.payload.title),typeof t.payload.source=="string"&&(s.source=t.payload.source),a.length>0&&(s.styleVariations=a),t.payload.replace_panel===!0&&(s.replacePanel=!0),(t.payload.ranking_state==="pending"||t.payload.ranking_state==="final")&&(s.rankingState=t.payload.ranking_state);const c=t.payload.sequence_id??t.payload.search_id;typeof c=="string"&&c.length>0&&(s.sequenceId=c),Object.keys(s).length>0&&(o.props={...o.props,...s})}return r}function oc(t){const e=t.payload.productDetails;if(!e)return Dc("chat");const a=Fe(e);return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ProductDetailsPanel",props:{product:{...e,...a}}}}},panelHint:"panel"}}function sc(t){const e=Sa(t.payload.similarProducts??[],"chat"),a=e.spec.elements[e.spec.root];return a&&(a.props={...a.props,similarsAppend:!0}),{...e,panelHint:"panel"}}function cc(t){const e=t.payload.multiple_product_details??[],a=t.payload,n={key_differences:a.key_differences,recommended_choice:a.recommended_choice,recommended_choice_sku:a.recommended_choice_sku,special_considerations:a.special_considerations,criteria_view:a.criteria_view,criteria_view_short:a.criteria_view_short,compared_field_names:a.compared_field_names,winner_product:a.winner_product,winner_hits:a.winner_hits,...t.payload.product_comparison_framework??{}},i=t.payload.table,r=t.payload.features_list,o=[];for(const u of e){const g=Fe(u);o.push(g)}const s=lc(i,o,n,r);let c;n?.recommended_choice_sku?c=n.recommended_choice_sku:n?.winner_product&&n.winner_product.length>0&&(c=n.winner_product[0]?.product_detail?.sku??n.winner_product[0]?.sku);const l=c?o.find(u=>u.sku===c)??o[0]:o[0],p=[];if(Array.isArray(n?.key_differences))for(const u of n.key_differences)typeof u=="string"&&p.push(u);const d=gi(n?.special_considerations),h=n?.recommended_choice,f=n?.winner_hits,b={};for(const u of o){const g=u.sku;g&&(b[g]={title:u.name??g,type:"launchSingleProduct",payload:{sku:g}})}const m={products:o,attributes:s,highlights:p,productActions:b};return l&&(m.recommended=l),d.length>0&&(m.specialCases=d),h&&(m.recommendedText=h),f&&(m.winnerHits=f),typeof n?.key_differences=="string"&&(m.keyDifferencesHtml=n.key_differences),n?.special_considerations&&(m.specialConsiderations=n.special_considerations),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ComparisonTable",props:m}}},panelHint:"panel"}}function lc(t,e,a,n){if(!t)return[];const i=Object.entries(t);if(i.length===0)return[];const r=i[0]?.[1];if(Array.isArray(r)){const d=a.criteria_view??a.criteria_view_short??{},h=a.compared_field_names??Object.keys(t),f=[];for(const b of h){const m=t[b];if(!m||!Array.isArray(m))continue;const u=d[b]??b;f.push({label:u,values:m.map(g=>typeof g=="string"?g:String(g??""))})}return f}const o=t,s=e.map(d=>String(d.sku??"")).filter(d=>d.length>0),c=a.criteria_view??a.criteria_view_short??{},l=(n&&n.length>0?n:a.compared_field_names&&a.compared_field_names.length>0?a.compared_field_names:gc(o)).filter(d=>d!=="name"&&d!=="name_short"&&!d.endsWith("_short")),p=[];for(const d of l){const h=s.map(b=>{const m=o[b];if(!m||typeof m!="object")return"";const u=m[`${d}_short`],g=m[d];return dc(u??g)});if(h.every(b=>b.length===0))continue;const f=c[d]??d;p.push({label:f,values:h})}return p}function gc(t){const e=[],a=new Set;for(const n of Object.values(t))if(!(!n||typeof n!="object"))for(const i of Object.keys(n))a.has(i)||(a.add(i),e.push(i));return e}function dc(t){return typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):""}function pc(t){return{type:"metadata",sessionId:"",model:"",meta:{panel:t.payload.panel,messages:t.payload.messages,message_id:t.payload.message_id}}}function hc(){return{type:"done"}}function uc(t){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,loadingText:t.payload.text,thinkingMessages:t.payload.thinking_messages,dynamicLoading:t.payload.is_dynamic===!0}}}function mc(t){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,panelLoading:!0,panelPendingType:t.payload?.pending_type,loadingText:t.payload?.text}}}function fc(t){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,similarPanelLoading:!0,panelPendingType:t.payload?.pending_type,loadingText:t.payload?.text}}}function bc(t){const e=ee(t.payload.url);return e?{type:"action",action:{kind:"navigate",url:e,newTab:t.payload.new_tab===!0}}:{type:"metadata",sessionId:"",model:"",meta:{redirect:t.payload,redirectTarget:ee(t.payload.to)}}}function vc(t){return{type:"error",code:"BACKEND_ERROR",message:ee(t.payload?.text,t.payload?.message,t.payload?.error)??"Backend returned an error"}}function yc(t){return{type:"metadata",sessionId:"",model:"",meta:{noop:!0}}}function xc(t){const e=t.payload??{};if(Array.isArray(e.action_list)){const i={action_list:e.action_list},r=typeof e.type=="string"?e.type:void 0,o=typeof e.theme=="string"?e.theme:void 0;return r!==void 0&&(i.type=r),o!==void 0&&(i.theme=o),ci({type:"quick_qna",payload:i})}const a=xe(e.action);if(a){const i={action:a},r=typeof e.text=="string"?e.text:void 0,o=typeof e.image_url=="string"?e.image_url:void 0,s=typeof e.theme=="string"?e.theme:void 0;return r!==void 0&&(i.text=r),o!==void 0&&(i.image_url=o),s!==void 0&&(i.theme=s),si({type:"text_image",payload:i})}const n=typeof e.text=="string"?e.text:"";if(n){const i={text:n},r=typeof e.type=="string"?e.type:void 0,o=typeof e.theme=="string"?e.theme:void 0,s=xe(e.payload)??void 0;return r!==void 0&&(i.type=r),s!==void 0&&(i.payload=s),o!==void 0&&(i.theme=o),ka({type:"text",payload:i})}return{type:"metadata",sessionId:"",model:"",meta:{launcherAction:e}}}function ka(t){const e={text:ee(t.payload.text)??""};return typeof t.payload.theme=="string"&&(e.theme=t.payload.theme),t.payload.payload!==void 0&&(e.payload=t.payload.payload),{type:"ui_spec",widget:"qna",spec:{root:"root",elements:{root:{type:"QuestionHeading",props:e}}}}}function _c(t){return Fc(t.payload,"qna")}function si(t){const e=ee(t.payload.text)??"",a=Ee(t.payload.action,e);if(a){const i={label:e||a.title,action:a};return typeof t.payload.image_url=="string"&&(i.image=t.payload.image_url),typeof t.payload.theme=="string"&&(i.theme=t.payload.theme),{type:"ui_spec",widget:"qna",spec:{root:"root",elements:{root:{type:"ActionButton",props:i}}}}}const n={text:e};return typeof t.payload.theme=="string"&&(n.theme=t.payload.theme),ka({type:"text",payload:n})}function ci(t){return li((t.payload.action_list??[]).map(e=>{const a=ee(e.title)??"",n=Ee(e.requestDetails,a),i=n?{label:a,action:n}:null;return i?(typeof e.icon=="string"&&(i.icon=e.icon),typeof e.image=="string"&&(i.image=e.image),i):null}).filter(mt),"qna")}function wc(t){const e={reviews:(t.payload.reviews??[]).map(a=>{const n={};return typeof a.review_class=="string"&&(n.review_class=a.review_class),typeof a.review_text=="string"&&(n.review_text=a.review_text),(typeof a.review_rating=="string"||typeof a.review_rating=="number")&&(n.review_rating=a.review_rating),typeof a.review_tag=="string"&&(n.review_tag=a.review_tag),n})};return typeof t.payload.sku=="string"&&(e.sku=t.payload.sku),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ReviewHighlights",props:e}}}}}function kc(t){const e={};return Array.isArray(t.payload.pros)&&(e.pros=t.payload.pros),Array.isArray(t.payload.cons)&&(e.cons=t.payload.cons),typeof t.payload.product_name=="string"&&(e.productName=t.payload.product_name),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ProsAndCons",props:e}}}}}function Cc(t){return{type:"metadata",sessionId:"",model:"",meta:{visitorDataResponse:t.payload}}}function Sc(t){const e=t.payload.product_suggestions??[],a=[];for(let n=0;n<e.length;n++){const i=e[n];if(!i)continue;const r=Uc(i);if(!r)continue;const o={product:r},s=Ee(i.requestDetails,r.name);s&&(o.action=s),typeof i.role=="string"&&(o.role=i.role),typeof i.reason=="string"&&(o.reason=i.reason),typeof i.review_highlight=="string"&&(o.reviewHighlight=i.review_highlight),Array.isArray(i.labels)&&(o.labels=i.labels),typeof i.expert_quality_score=="number"&&(o.expertQualityScore=i.expert_quality_score),a.push(o)}return a.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiProductSuggestions:t.payload.product_suggestions??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AITopPicks",props:{suggestions:a}}}}}}function Ec(t){const e=t.payload.product_groupings??[],a=[],n=[];for(let i=0;i<e.length;i++){const r=e[i];if(!r)continue;const o=ee(r.name)??"",s=ee(r.description),c=ee(r.highlight),l=Array.isArray(r.labels)?gi(r.labels):[],p=ee(r.sku,r.repr_sku),d=ee(r.image,r.repr_image),h=Pc(r,o,p),f=(Array.isArray(r.group_products)?r.group_products:[]).map(u=>{const g=xe(u);return g?Ea(g):null}).filter(mt),b=d??ee(...f.map(u=>u.imageUrl));if(o&&f.length>0){const u={groupName:o,products:f};b&&(u.image=b),s&&(u.description=s),c&&(u.highlight=c),l.length>0&&(u.labels=l),a.push(u)}if(!h)continue;const m={name:o,action:h};l.length>0&&(m.labels=l),d!==void 0&&(m.image=d),n.push(m)}return a.length>0?{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"CategoriesContainer",props:{groups:a}}}},panelHint:"panel"}:n.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiProductGroupings:t.payload.product_groupings??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AIGroupingCards",props:{entries:n}}}}}}function Pc(t,e,a){const n=xe(t.requestDetails);if(n){if(n.type!=="findSimilar")return Ee(n,e);const o={...xe(n.payload)??{}};a&&!xa(o.sku)&&(o.sku=a);const s=_a(t.group_skus);return s.length>0&&(o.group_skus=s),Ee({...n,payload:Bt(o)},e)}const i={};a&&(i.sku=a);const r=_a(t.group_skus);return r.length>0&&(i.group_skus=r),Object.keys(i).length===0?null:Ee({type:"findSimilar",payload:Bt(i)},e)}function Tc(t){const e=t.payload.suggested_searches??[],a=[];for(let n=0;n<e.length;n++){const i=e[n];if(!i)continue;const r=ee(i.short_name,i.chosen_attribute,i.detailed_user_message)??`Search ${n+1}`,o={},s=ee(i.detailed_user_message);s&&(o.text=s);const c=xe(xe(i.requestDetails)?.payload),l=c?.group_skus;i.group_skus&&Array.isArray(i.group_skus)?o.group_skus=i.group_skus:Array.isArray(l)&&(o.group_skus=l.filter(g=>typeof g=="string"));const p=ee(i.sku,i.representative_product_sku,c?.sku);p&&(o.sku=p),o.is_suggested_text=1;const d={type:"inputText",payload:o},h=Ee(i.requestDetails,r),f=h?.type==="findSimilar"&&typeof o.text=="string"?Ee(d,r):h??Ee(d,r);if(!f)continue;const b={shortName:r,action:f},m=ee(i.detailed_user_message);m&&m!==r&&(b.detailedMessage=m);const u=ec(i);u&&u!==r&&u!==(m??"")&&(b.whyDifferent=u),typeof i.image=="string"&&(b.image=i.image),a.push(b)}return a.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiSuggestedSearches:t.payload.suggested_searches??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AISuggestedSearchCards",props:{entries:a}}}}}}function Ac(t){const e=t.payload,a=Ee(e.requestDetails??e.request_details,ee(e.review_count,e.reviewCount,e.text,e.title)??"Show product reviews");if(!a)return{type:"metadata",sessionId:"",model:"",meta:{groundingReview:e}};const n={action:a};return e.title&&(n.title=e.title),e.text&&(n.text=e.text),e.review_count?n.reviewCount=e.review_count:typeof e.reviewCount=="string"&&e.reviewCount.trim()&&(n.reviewCount=e.reviewCount),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"GroundingReviewCard",props:n}}}}}function Lc(){return{type:"metadata",sessionId:"",model:"",meta:{analyzeAnimation:!0}}}function Ic(t){return{type:"metadata",sessionId:"",model:"",meta:{voice:t.payload}}}function Nc(t){const e=t.payload.group_list??[],a=[];for(const i of e){const r=i.group_name??"",o=(i.product_list??[]).map(Fe);a.push({groupName:r,products:o})}const n=[];for(const i of t.payload.filter_tags??[]){const r=i.title??"";if(!r)continue;const o=Ee(i.requestDetails,r),s={title:r};o&&(s.action=o),n.push(s)}return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"CategoriesContainer",props:{groups:a,filterTags:n}}}},panelHint:"panel"}}function Mc(t){return{type:"metadata",sessionId:"",model:"",meta:{formType:t.type,formPayload:t.payload??{}}}}function Bc(t){const e={};return typeof t.payload?.summary=="string"&&(e.summary=t.payload.summary),Array.isArray(t.payload?.products_discussed)&&(e.products_discussed=t.payload.products_discussed),typeof t.payload?.user_sentiment=="string"&&(e.user_sentiment=t.payload.user_sentiment),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"HandoffNotice",props:e}}}}}function Rc(t){return{type:"metadata",sessionId:"",model:"",meta:{launcherContent:t.payload??{}}}}function Ca(t,e){const a={product:t,index:e},n=t,i=typeof n.sku=="string"?n.sku:void 0;return i&&(a.action={title:typeof n.name=="string"?n.name:"",type:"launchSingleProduct",payload:{sku:i}}),{type:"ProductCard",props:a}}function li(t,e){const a={},n=[];for(let i=0;i<t.length;i++){const r=t[i];if(!r)continue;const o=`action-${i}`;n.push(o);const s={label:r.label,action:r.action};r.icon!==void 0&&(s.icon=r.icon),r.image!==void 0&&(s.image=r.image),r.description!==void 0&&(s.description=r.description),a[o]={type:"ActionButton",props:s}}return a.root={type:"ActionButtons",props:{buttons:t.map(i=>{const r={label:i.label,action:i.action};return i.image!==void 0&&(r.image=i.image),i.description!==void 0&&(r.description=i.description),i.icon!==void 0&&(r.icon=i.icon),r})},children:n},{type:"ui_spec",widget:e,spec:{root:"root",elements:a}}}function Sa(t,e){const a={},n=[];for(let i=0;i<t.length;i++){const r=t[i];if(!r)continue;const o=Fe(r),s=`product-${i}`;n.push(s),a[s]=Ca(o,i)}return a.root={type:"ProductGrid",props:{layout:"grid"},children:n},{type:"ui_spec",widget:e,spec:{root:"root",elements:a}}}function zc(t,e,a){const n=new Map;for(const l of e)l?.sku&&n.set(l.sku,l);if(n.size===0)return null;const i=new Set,r={},o=[],s=[];let c=0;for(let l=0;l<t.length;l++){const p=t[l],d=ee(p?.title)??"",h=Array.isArray(p?.skus)?p.skus:[],f=[];for(let b=0;b<h.length;b++){const m=typeof h[b]=="string"?h[b].trim():"";if(!m||i.has(m))continue;const u=n.get(m);if(!u)continue;i.add(m);const g=`product-${l}-${b}`,v=Fe(u);o.push(g),f.push(g),r[g]=Ca(v,c),c+=1}f.length>0&&s.push({title:d,children:f})}return s.length===0||i.size<n.size?null:(r.root={type:"ProductGrid",props:{layout:"grouped",productSections:s},children:o},{type:"ui_spec",widget:a,spec:{root:"root",elements:r}})}function Hc(t,e){const a={},n=[];for(let i=0;i<t.length;i++){const r=t[i];if(!r)continue;const o=`product-${i}`;n.push(o),a[o]=Ca(r,i)}return a.root={type:"ProductGrid",props:{layout:"grid"},children:n},{type:"ui_spec",widget:e,spec:{root:"root",elements:a}}}function Fc(t,e){return{type:"ui_spec",widget:e,spec:{root:"root",elements:{root:{type:"ProductCard",props:{product:Fe(t),index:0}}}}}}function Dc(t){return{type:"ui_spec",widget:t,spec:{root:"root",elements:{root:{type:"ActionButtons",props:{buttons:[]},children:[]}}}}}function Uc(t){const e=ee(t.sku),a=ee(t.short_name),n={...xe(t.product_item)??t},i=ee(t.discount_reason,t.discountReason);return i&&!ee(n.discount_reason,n.discountReason)&&(n.discount_reason=i),Ea(n,e,a)}function Ea(t,e,a){const n=ee(t.sku,e),i=ee(t.name,a);if(!n||!i)return null;const r={sku:n,name:i},o=ee(t.brand);o&&(r.brand=o);const s=ee(t.url);s&&(r.url=s);const c=Oc(t.images);if(c.length>0)r.images=c;else{const m=ee(t.image,t.image_url,t.imageUrl);m&&(r.images=[m])}const l=ut(t.price_discounted);l!==void 0&&(r.price_discounted=l);const p=ut(t.price);p!==void 0&&(r.price=p);const d=ut(t.rating);d!==void 0&&(r.rating=d);const h=ut(t.review_count)??ut(t.reviewCount);h!==void 0&&(r.review_count=h);const f=ee(t.cart_code,t.cartCode);f&&(r.cart_code=f),typeof t.in_stock=="boolean"&&(r.in_stock=t.in_stock),typeof t.inStock=="boolean"&&(r.in_stock=t.inStock);const b=ee(t.discount_reason,t.discountReason);return b&&(r.discount_reason=b),Fe(r)}function Ee(t,e){const a=xe(t);if(!a)return null;const n=a.type;if(typeof n!="string"||n.length===0)return null;const i={title:e||n,type:n};return a.payload!==void 0&&(i.payload=a.payload),i}function xe(t){return!t||typeof t!="object"||Array.isArray(t)?null:t}function ee(...t){for(const e of t)if(typeof e=="string"){const a=e.trim();if(a.length>0)return a}}function Oc(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):[]}function gi(t){if(typeof t=="string"){const e=t.trim();return e?[e]:[]}return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(e=>e.length>0):[]}function ut(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"){let e;t.includes(".")&&t.includes(",")?e=t.replace(/\./g,"").replace(",","."):e=t.replace(",",".");const a=Number(e);if(Number.isFinite(a))return a}}function mt(t){return t!=null}function Fe(t){const e=t.price_discounted!=null&&t.price_discounted>0,a=e?t.price_discounted:t.price,n=e&&t.price!=null?t.price:void 0;let i;n!=null&&a!=null&&n>0?i=Math.round((n-a)/n*100):t.price_discount_rate!=null&&t.price_discount_rate>0&&(i=t.price_discount_rate);const r=ee(t.brand),o=ee(t.name)??t.sku,s=r&&!o.toLowerCase().startsWith(r.toLowerCase())?`${r} ${o}`:o,c={sku:t.sku,name:s,url:ee(t.url)??""},l=t.images?.[0];l&&(c.imageUrl=l),t.images&&t.images.length>1&&(c.images=t.images),a!=null&&a>0&&(c.price=String(a)),n!=null&&n>0&&(c.originalPrice=String(n)),i!==void 0&&(c.discountPercent=i),r!==void 0&&(c.brand=r),t.rating!==void 0&&(c.rating=t.rating),t.review_count!==void 0&&(c.reviewCount=t.review_count),t.cart_code!==void 0&&(c.cartCode=t.cart_code),t.in_stock!==void 0&&(c.inStock=t.in_stock),t.variants&&t.variants.length>0&&(c.variants=t.variants),t.discount_reason!==void 0&&(c.discountReason=t.discount_reason),t.promotions&&t.promotions.length>0&&(c.promotions=t.promotions),t.description!==void 0&&(c.description=t.description),t.description_html!==void 0&&(c.descriptionHtml=t.description_html),t.features&&t.features.length>0&&(c.features=t.features),t.specifications!==void 0&&(c.specifications=t.specifications),t.facet_hits&&(c.facetHits=t.facet_hits),t.category_names&&t.category_names.length>0&&(c.categoryNames=t.category_names),t.short_name!==void 0&&(c.shortName=t.short_name);const p=t,d={};let h=!1;for(const f of Object.keys(p))di.has(f)||(d[f]=p[f],h=!0);return h&&(c.extras=d),c}function qc(t){return t.results.map(Fe)}function jc(t){return t.product_groupings.map(e=>{const a={name:e.name,products:(e.group_products??[]).map(Fe)};return e.highlight!==void 0&&(a.highlight=e.highlight),a})}function $c(t){const e=t.payload.type,{type:a,...n}=t.payload;return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:e,props:n}}}}}var di,Pa=L((()=>{tc(),oi(),wa(),di=new Set(["sku","name","brand","images","price","price_discounted","price_discount_rate","price_currency","discount_reason","url","rating","review_count","cart_code","in_stock","description","description_html","features","specifications","short_name","category_ids","category_names","variants","facet_hits","promotions"])}));function Vc(t){if(t===void 0)throw new Error("[gengage] middlewareUrl is required. Pass your Gengage backend URL in widget config.");const e=t.trim();return e===""?"":e.replace(/\/+$/,"")}function zt(t,e){return`${Vc(e?.middlewareUrl)}/chat${pi[t]}`}var pi,Ta=L((()=>{pi={process_action:"/process_action",launcher_action:"/launcher_action",similar_products:"/similar_products",product_groupings:"/product_groupings"}}));function Gc(t){if(!(typeof window>"u"||!t))try{const e=window.GengageAssistantInjector?.[t]?.streamTransport;return typeof e=="function"?e:void 0}catch{return}}var Wc=L((()=>{}));async function Ht(t,e={},a={}){const n=Kc(t,e);if(!n)return fetch(t,e);const i=Date.now(),r=await Qc(n,i);if(r)return Jc(r);const o=await fetch(t,e);return o.ok&&Zc(n,o.clone(),i,{ttlMs:a.ttlMs??ui,maxEntries:a.maxEntries??Ia,maxBodyBytes:a.maxBodyBytes??mi}),o}function Kc(t,e={}){if(typeof Request<"u"&&t instanceof Request)return null;const a=String(e.method||"GET").toUpperCase();return a!=="POST"||typeof e.body!="string"||Yc(e.body)?null:`rr:${ol(rl({url:String(t),method:a,headers:el(e.headers),body:e.body}))}`}function Yc(t){try{const e=JSON.parse(t);if(!e||typeof e!="object"||Array.isArray(e))return!1;const a=e.type;return typeof a=="string"&&vi.has(a)}catch{return!1}}async function Qc(t,e){const a=Ie.get(t);if(a)if(a.expiresAt<=e)Ie.delete(t);else return a.lastAccessedAt=e,Ie.delete(t),Ie.set(t,a),Aa(a),a;const n=await al(t);return n?n.expiresAt<=e?(Ie.delete(t),nl(t),null):(n.lastAccessedAt=e,Ie.set(t,n),Aa(n),hi(Ia),n):null}async function Zc(t,e,a,n){try{const i=await e.text();if(sl(i)>n.maxBodyBytes||Xc(i))return;const r={key:t,status:e.status,statusText:e.statusText,headers:tl(e.headers),body:i,createdAt:a,expiresAt:a+n.ttlMs,lastAccessedAt:a};Ie.set(t,r),hi(n.maxEntries),await Aa(r),await il(n.maxEntries,a)}catch{}}function Xc(t){return/"_error"\s*:/u.test(t)||/"type"\s*:\s*"error"/u.test(t)}function Jc(t){return new Response(t.body,{status:t.status,statusText:t.statusText,headers:new Headers(t.headers)})}function el(t){const e=new Headers(t),a=[];return e.forEach((n,i)=>{const r=i.toLowerCase();r!=="authorization"&&r!=="cookie"&&a.push([r,n])}),a.sort(([n],[i])=>n.localeCompare(i))}function tl(t){const e=[];return t.forEach((a,n)=>{const i=n.toLowerCase();i!=="set-cookie"&&e.push([i,a])}),e.sort(([a],[n])=>a.localeCompare(n))}function hi(t){for(;Ie.size>t;){const e=[...Ie.values()].sort((a,n)=>a.lastAccessedAt-n.lastAccessedAt)[0];if(!e)break;Ie.delete(e.key)}}async function Ft(){return typeof indexedDB>"u"?null:(Na??=new Promise(t=>{const e=indexedDB.open(fi,bi);e.onupgradeneeded=()=>{const a=e.result;a.objectStoreNames.contains(Le)||a.createObjectStore(Le,{keyPath:"key"}).createIndex("lastAccessedAt","lastAccessedAt",{unique:!1})},e.onsuccess=()=>t(e.result),e.onerror=()=>t(null),e.onblocked=()=>t(null)}),Na)}async function al(t){const e=await Ft();return e?new Promise(a=>{const n=e.transaction(Le,"readonly"),i=n.objectStore(Le).get(t);i.onsuccess=()=>a(i.result??null),i.onerror=()=>a(null),n.onerror=()=>a(null)}):null}async function Aa(t){const e=await Ft();e&&await new Promise(a=>{const n=e.transaction(Le,"readwrite");n.objectStore(Le).put(t),n.oncomplete=()=>a(),n.onerror=()=>a(),n.onabort=()=>a()})}async function nl(t){const e=await Ft();e&&await new Promise(a=>{const n=e.transaction(Le,"readwrite");n.objectStore(Le).delete(t),n.oncomplete=()=>a(),n.onerror=()=>a(),n.onabort=()=>a()})}async function il(t,e){const a=await Ft();a&&await new Promise(n=>{const i=a.transaction(Le,"readwrite"),r=i.objectStore(Le),o=[],s=r.openCursor();s.onsuccess=()=>{const c=s.result;if(!c){const l=o.filter(d=>d.expiresAt<=e),p=o.filter(d=>d.expiresAt>e).sort((d,h)=>d.lastAccessedAt-h.lastAccessedAt).slice(0,Math.max(0,o.length-l.length-t));for(const d of[...l,...p])r.delete(d.key);return}o.push(c.value),c.continue()},s.onerror=()=>n(),i.oncomplete=()=>n(),i.onerror=()=>n(),i.onabort=()=>n()})}function rl(t){return JSON.stringify(La(t))}function La(t){return Array.isArray(t)?t.map(La):!t||typeof t!="object"?t:Object.fromEntries(Object.entries(t).sort(([e],[a])=>e.localeCompare(a)).map(([e,a])=>[e,La(a)]))}function ol(t){let e=14695981039346656037n;const a=1099511628211n;for(let n=0;n<t.length;n+=1)e^=BigInt(t.charCodeAt(n)),e=BigInt.asUintN(64,e*a);return e.toString(16).padStart(16,"0")}function sl(t){return typeof TextEncoder<"u"?new TextEncoder().encode(t).byteLength:t.length}var ui,Ia,mi,fi,bi,Le,vi,Ie,Na,Ma=L((()=>{ui=7200*1e3,Ia=200,mi=5*1024*1024,fi="gengage_request_response_cache",bi=1,Le="responses",vi=new Set(["addToCart","like"]),Ie=new Map,Na=null}));function cl(t,e){const a=t.type,n=t.payload!=null&&typeof t.payload=="object"&&!Array.isArray(t.payload)?t.payload:{},i=r=>{const o={...n};for(const[s,c]of Object.entries(r))s in o||(o[s]=c);return o};switch(a){case"user_message":case"inputText":{const r=typeof t.payload=="string",o=r?{text:t.payload}:t.payload!=null&&typeof t.payload=="object"&&!Array.isArray(t.payload)?t.payload:n,s={is_launcher:0};if(e.pageContext?.extra&&(s.page_details=e.pageContext.extra),!r&&!("sku_list"in o)){const l=e.pageContext?.skuList&&e.pageContext.skuList.length>0?e.pageContext.skuList:e.pageContext?.sku?[e.pageContext.sku]:void 0;l&&l.length>0&&(s.sku_list=l)}"is_suggested_text"in o||(s.is_suggested_text=0);const c={...o};for(const[l,p]of Object.entries(s))l in c||(c[l]=p);return{...t,payload:c}}case"findSimilar":{const r={is_launcher:0};return t.title&&(r.text=t.title,r.input=t.title),{...t,payload:Bt(i(r))}}case"getComparisonTable":{const r=t.payload;if(r&&typeof r=="object"&&!Array.isArray(r)&&"gengage_analytics_source"in r){const o={...r};return delete o.gengage_analytics_source,{...t,payload:o}}return t}case"launchProductList":return t;case"launchHomepage":return t;case"addToCart":{const r={};return"error_message"in n||(r.error_message=""),{...t,payload:i(r)}}case"reviewSummary":{const r={};return e.pageContext?.sku&&!("sku"in n)&&(r.sku=e.pageContext.sku),Object.keys(r).length===0?t:{...t,payload:i(r)}}default:return t}}function yi(t){const{action:e,type:a,payload:n,...i}=t,r=a??e?.type??"inputText",o=n??e?.payload,s=_i[r]??r,c={...i,type:s};return o!==void 0&&(c.payload=typeof o=="string"?{text:o}:o),JSON.stringify(c)}function ll(t){return JSON.parse(yi(t))}function gl(t){return t!==null&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"}function xi(t,e){let a=!1;const n=()=>e?.aborted===!0,i=()=>a||n(),r=()=>{i()||(a=!0,t.onDone())};return{fireDone:r,callbacks:{onTextChunk:(...o)=>{i()||t.onTextChunk(...o)},onUISpec:(...o)=>{i()||t.onUISpec(...o)},onAction:o=>{i()||t.onAction(o)},onMetadata:o=>{i()||t.onMetadata(o)},onError:o=>{n()||t.onError(o)},onDone:r}}}function dl(t,e,a){const n=new AbortController,i=a.injectorAdapter??Gc(a.accountId);return i?((async()=>{const o=xi(e,n.signal);try{if(await Promise.resolve(),n.signal.aborted)return;const s=i(ll(t),o.callbacks,n.signal,a.attachment);gl(s)&&(await s,o.fireDone())}catch(s){if(n.signal.aborted||s instanceof DOMException&&s.name==="AbortError")return;o.callbacks.onError(s instanceof Error?s:new Error(String(s)))}})(),n):((async()=>{try{const o=zt("process_action",a),s=yi(t),c=a.attachment!==void 0;let l;if(c){const h=new FormData;h.append("request",s),a.attachment!==void 0&&h.append("attachment",a.attachment),l={method:"POST",body:h,signal:n.signal}}else l={method:"POST",headers:{"Content-Type":"application/json"},body:s,signal:n.signal};const p=c?await fetch(o,l):await Ht(o,l);if(!p.ok){let h=p.statusText;try{const f=await p.json(),b=f.detail??f.message??f.error;typeof b=="string"&&(h=b)}catch{}e.onError(new Error(`HTTP ${p.status}: ${h}`));return}const d=xi(e);await Nt(p,{onEvent:h=>{const f=Rt(h);if(f)switch(f.type){case"text_chunk":d.callbacks.onTextChunk(f.content,f.final===!0,{productMentions:f.productMentions,skuToProductItem:f.skuToProductItem,conversationMode:f.conversationMode,renderHint:f.renderHint,kvkk:f.kvkk});break;case"ui_spec":d.callbacks.onUISpec(f.spec,f.widget,f.panelHint,f.clearPanel===!0);break;case"action":d.callbacks.onAction(f);break;case"metadata":d.callbacks.onMetadata(f);break;case"error":d.callbacks.onError(new Error(f.message));break;case"done":d.fireDone();break}},onError:e.onError,signal:n.signal}),d.fireDone()}catch(o){if(o instanceof DOMException&&o.name==="AbortError")return;e.onError(o instanceof Error?o:new Error(String(o)))}})(),n)}var _i,pl=L((()=>{va(),Pa(),Ta(),Wc(),wa(),Ma(),_i={user_message:"inputText"}}));function hl(){if(typeof window>"u")return!1;const t=new URLSearchParams(window.location.search);if(wi.some(e=>t.get(e)==="1"))return!0;try{return ki.some(e=>window.localStorage.getItem(e)==="1")}catch{return!1}}function ul(t,e,a){if(!hl())return;const n=(window.__gengageChatPresentationDebugSeq??0)+1;window.__gengageChatPresentationDebugSeq=n;const i={seq:n,time:new Date().toISOString(),scope:t,message:e,payload:a};window.__gengageChatPresentationDebugLog||(window.__gengageChatPresentationDebugLog=[]),window.__gengageChatPresentationDebugLog.push(i),window.__gengageChatPresentationDebugLog.length>400&&window.__gengageChatPresentationDebugLog.shift();const r=`[gengage-chat-debug #${n}][${t}] ${e}`;a===void 0?console.debug(r):console.debug(r,a)}var wi,ki,ml=L((()=>{wi=["chat_debug","presentation_debug"],ki=["gengage_chat_debug","gengage_presentation_debug"]}));function Ci(t){Ye=t}function fl(){if(Ye&&Ye.isConnected)return Ye;Ye=null;const t=document.getElementById(ft);return t||(ul("chat-scroll","failed to resolve scroll container (not registered)",{id:ft}),null)}function Si(){Ye=null}var ft,Ye,Ei=L((()=>{ml(),ft="gengage-chat-scroll",Ye=null})),Qe,bl=L((()=>{Qe={headerTitle:"Ürün Uzmanı",inputPlaceholder:"Ürün ara, soru sor",sendButton:"Gönder",closeButton:"Kapat",openButton:"Sohbeti aç",newChatButton:"Yeni sohbet",poweredBy:"Gengage ile",errorMessage:"Bir hata oluştu. Lütfen tekrar deneyin.",retryButton:"Tekrar Dene",loadingMessage:"İsteğinizi inceliyorum...",loadingSequenceGeneric:["İsteğinizi inceliyorum...","Ürün ve yorumlara bakıyorum...","Detayları inceliyorum..."],loadingSequencePanel:["En ilgili detayları inceliyorum","En güçlü sinyalleri kontrol ediyorum","Bu görünümü sizin için hazırlıyorum"],loadingSequenceComparison:["Ürün farklarını inceliyorum","En güçlü farkları ve ödünleşimleri kontrol ediyorum","Karşılaştırmayı sizin için hazırlıyorum"],productCtaLabel:"Satın Al",viewOnSiteLabel:"Sitede Gör",attachImageButton:"Resim ekle",attachMenuSelectPhoto:"Fotoğraf Seç",attachMenuPaste:"Yapıştır",clipboardNoImageMessage:"Panoda görsel bulunamadı. Önce bir görsel kopyalayın veya dosya seçin.",removeAttachmentButton:"Resmi kaldır",invalidFileType:"Sadece JPEG, PNG ve WebP dosyaları destekleniyor.",fileTooLarge:"Dosya boyutu 5 MB'dan küçük olmalıdır.",aiTopPicksTitle:"Sizin İçin En İyiler",roleWinner:"Size Özel Seçimim",roleBestValue:"En Uygun Fiyatlı",roleBestAlternative:"En İyi Alternatif",viewDetails:"Detayları Gör",groundingReviewCta:"Yorumları Oku",groundingReviewSubtitle:"{count} yorum mevcut",variantsLabel:"Varyantlar",sortRelated:"Önerilen",sortPriceAsc:"Fiyat düşükten yükseğe",sortPriceDesc:"Fiyat yüksekten düşüğe",sortToolbarAriaLabel:"Ürünleri sırala",compareSelected:"Karşılaştır",productGridSectionCountLabel:"{count} ürün",compareMinHint:"En az 2 ürün seçin",compareMaxHint:"En fazla 5 ürün seçebilirsiniz",comparisonSelectLabel:"Karşılaştırmak için seç",comparisonSelectedLabel:"Seçildi",comparisonSelectCardHint:"Karşılaştırmaya eklemek veya çıkarmak için kartın herhangi bir yerine dokunun.",comparisonPreparingLabel:"Karşılaştırma tablosu hazırlanıyor…",panelTitleProductDetails:"Ürün Detayı",panelTitleSimilarProducts:"Benzer Ürünler",panelTitleComparisonResults:"Karşılaştırma Sonuçları",panelTitleCategories:"Kategoriler",panelTitleSearchResults:"Arama Sonuçları",inStockLabel:"Stokta",outOfStockLabel:"Tükendi",findSimilarLabel:"Benzerlerini Bul",galleryPrevAriaLabel:"Önceki görsel",galleryNextAriaLabel:"Sonraki görsel",beautyStylesPreparedTitle:"Sizin için {count} farklı öneri yönü hazırladım",consultingOtherCompatibleProductsLabel:"Diğer Uyumlu Ürünler",consultingFallbackGroupLabel:"Öneri",consultingFallbackStyleLabel:"Stil {index}",consultingStyleLoadingDescription:"Bu stil için ürünleri toplamaya devam ediyorum. Panel kısa süre içinde yenilenir.",consultingStyleUnavailableDescription:"Bu stil için şu anda yeterli ürün eşleşmesi çıkaramadım. Diğer stilleri inceleyebilirsiniz.",consultingStyleLoadingBadge:"Yükleniyor",consultingStyleUnavailableBadge:"Hazır değil",choicePrompterHeading:"Kararsız mı kaldın?",choicePrompterSuggestion:"Ürünleri seçip karşılaştırabilirsin",choicePrompterCta:"Seç ve Karşılaştır",viewMoreLabel:"Daha Fazla Göster",similarProductsLabel:"Benzer Ürünler",addToCartButton:"Sepete Ekle",addedToCartToast:"Sepete eklendi",shareButton:"Paylaş",productInfoTab:"Ürün Bilgileri",specificationsTab:"Teknik Özellikler",recommendedChoiceLabel:"Önerilen Seçim",highlightsLabel:"Öne Çıkan Özellikler",keyDifferencesLabel:"Temel Farklar",specialCasesLabel:"Özel Durumlar İçin",emptyReviewsMessage:"Yorum özeti bulunamadı.",closeAriaLabel:"Kapat",startChatLabel:"Sohbete Başla",voiceButton:"Sesli giriş",voiceListening:"Dinleniyor...",voiceNotSupported:"Sesli giriş bu tarayıcıda desteklenmiyor.",voicePermissionDenied:"Mikrofon erişimi reddedildi.",voiceError:"Sesli giriş hatası.",handoffHeading:"Destek temsilcisine aktarılıyor",productNotFoundMessage:"Bu ürün bilgisi şu an kullanılamıyor. Başka bir konuda yardımcı olabilirim.",stopGenerating:"Yanıtı Durdur",offlineMessage:"Çevrimdışısınız — bağlantı kurulduğunda mesajlar gönderilecek.",cartAriaLabel:"Sepetim",favoritesAriaLabel:"Favorilerim",historyAriaLabel:"Sohbet geçmişi",historyPageTitle:"Sohbet Geçmişi",historyImageAttachmentLabel:"Görsel eklendi",emptyHistoryMessage:"Henüz kaydedilmiş sohbet yok.",historyDeleteLabel:"Sohbeti sil",historyDeleteConfirmMessage:"Bu sohbet geçmişten silinsin mi? Bu işlem geri alınamaz.",showPanelAriaLabel:"Sonuçları Göster",addToFavoritesLabel:"Favorilere ekle",customerReviewsTitle:"Müşteri Yorumları",togglePanelAriaLabel:"Paneli aç/kapat",chatMessagesAriaLabel:"Sohbet mesajları",suggestionsAriaLabel:"Öneriler",moreSuggestionsAriaLabel:"Daha fazla öneri",rollbackAriaLabel:"Bu mesaja geri dön",backAriaLabel:"Geri",forwardAriaLabel:"İleri",closePanelAriaLabel:"Paneli kapat",dismissAriaLabel:"Kapat",cartAddErrorMessage:"Üzgünüm sepete ekleyemedim, bir sorunla karşılaştım.",favoriteToggleErrorMessage:"Favoriler güncellenemedi. Lütfen tekrar deneyin.",reviewFilterPositive:"Olumlu",reviewFilterNegative:"Olumsuz",decreaseLabel:"Azalt",increaseLabel:"Artır",reviewCustomersMentionSingular:"1 müşteri bahsediyor",reviewCustomersMentionPlural:"müşteri bahsediyor",reviewSubjectsHeading:"İncelemek için seçin",tryAgainButton:"Tekrar dene",askSomethingElseButton:"Başka bir şey sor",accountInactiveMessage:"Bu hesap şu an aktif değil. Lütfen daha sonra tekrar deneyin.",favoritesPageTitle:"Favorilerim",emptyFavoritesMessage:"Henüz favori ürün yok. Bir ürünü kalp ikonuna tıklayarak favorilere ekleyebilirsin.",showFormerMessagesButton:"↑ Önceki mesajları göster",aiAnalysisAnalyzingLabel:"Ürünler analiz ediliyor...",aiBrowseCategoriesTitle:"Kategorilere Göz At",photoAnalysisBadge:"Cilt Analizi",photoAnalysisStrengthsLabel:"Öne Çıkanlar",photoAnalysisFocusLabel:"Odak Noktaları",photoAnalysisCelebStyleLabel:"Celeb Vibe Eşleşmesi",beautyPhotoStepTitle:"Selfie ile kişiselleştir",beautyPhotoStepDescription:"İstersen net bir profil fotoğrafı yükle, sana özel önerilerde bulunayım.",beautyPhotoStepUpload:"Fotoğraf Yükle",beautyPhotoStepProcessing:"Fotoğraf işleniyor...",beautyPhotoStepSkip:"Geç",beautyPhotoStepSkipMessage:"Fotoğraf adımını geçiyorum"}})),Pi,vl=L((()=>{Pi={headerTitle:"Product Expert",inputPlaceholder:"Search products, ask questions",sendButton:"Send",closeButton:"Close",openButton:"Open chat",newChatButton:"New chat",poweredBy:"Powered by Gengage",errorMessage:"Something went wrong. Please try again.",retryButton:"Retry",loadingMessage:"Reviewing your request...",loadingSequenceGeneric:["Reviewing your request...","Looking through products and reviews...","Reviewing the details..."],loadingSequencePanel:["Reviewing the most relevant details","Checking the strongest signals","Preparing this view for you"],loadingSequenceComparison:["Reviewing the product differences","Checking the strongest tradeoffs","Preparing your comparison"],productCtaLabel:"Buy",viewOnSiteLabel:"View on Site",attachImageButton:"Attach image",attachMenuSelectPhoto:"Choose photo",attachMenuPaste:"Paste",clipboardNoImageMessage:"No image found in clipboard. Copy an image first or choose a file.",removeAttachmentButton:"Remove image",invalidFileType:"Only JPEG, PNG and WebP files are supported.",fileTooLarge:"File must be smaller than 5 MB.",aiTopPicksTitle:"Top Picks for You",roleWinner:"Top Pick",roleBestValue:"Best Value",roleBestAlternative:"Best Alternative",viewDetails:"View Details",groundingReviewCta:"Read Reviews",groundingReviewSubtitle:"{count} reviews available",variantsLabel:"Variants",sortRelated:"Recommended",sortPriceAsc:"Price low to high",sortPriceDesc:"Price high to low",sortToolbarAriaLabel:"Sort products",compareSelected:"Compare",productGridSectionCountLabel:"{count} product(s)",compareMinHint:"Select at least 2 products",compareMaxHint:"You can select up to 5 products",comparisonSelectLabel:"Select to compare",comparisonSelectedLabel:"Selected",comparisonSelectCardHint:"Tap anywhere on the card to add or remove it from comparison.",comparisonPreparingLabel:"Preparing your comparison…",panelTitleProductDetails:"Product Details",panelTitleSimilarProducts:"Similar Products",panelTitleComparisonResults:"Comparison Results",panelTitleCategories:"Categories",panelTitleSearchResults:"Search Results",inStockLabel:"In Stock",outOfStockLabel:"Out of Stock",findSimilarLabel:"Find Similar",galleryPrevAriaLabel:"Previous image",galleryNextAriaLabel:"Next image",beautyStylesPreparedTitle:"Prepared {count} recommendation directions for you",consultingOtherCompatibleProductsLabel:"Other compatible products",consultingFallbackGroupLabel:"Recommendation",consultingFallbackStyleLabel:"Style {index}",consultingStyleLoadingDescription:"I am still collecting products for this style. The panel will refresh shortly.",consultingStyleUnavailableDescription:"I could not find enough product matches for this style yet. You can review the other styles.",consultingStyleLoadingBadge:"Loading",consultingStyleUnavailableBadge:"Not ready",choicePrompterHeading:"Can't decide?",choicePrompterSuggestion:"Select products to compare them",choicePrompterCta:"Select & Compare",viewMoreLabel:"Show More",similarProductsLabel:"Similar Products",addToCartButton:"Add to Cart",addedToCartToast:"Added to cart",shareButton:"Share",productInfoTab:"Product Info",specificationsTab:"Specifications",recommendedChoiceLabel:"Recommended Choice",highlightsLabel:"Key Highlights",keyDifferencesLabel:"Key Differences",specialCasesLabel:"For Special Cases",emptyReviewsMessage:"No review summary found.",closeAriaLabel:"Close",startChatLabel:"Start Chat",voiceButton:"Voice input",voiceListening:"Listening...",voiceNotSupported:"Voice input is not supported in this browser.",voicePermissionDenied:"Microphone access denied.",voiceError:"Voice input error.",handoffHeading:"Transferring to a support agent",productNotFoundMessage:"Product information is currently unavailable. I can help with something else.",stopGenerating:"Stop generating",offlineMessage:"You're offline — messages will send when you reconnect.",cartAriaLabel:"My cart",favoritesAriaLabel:"My favorites",historyAriaLabel:"Chat history",historyPageTitle:"Chat History",historyImageAttachmentLabel:"Image attachment",emptyHistoryMessage:"You don't have any saved chats yet.",historyDeleteLabel:"Delete chat",historyDeleteConfirmMessage:"Delete this chat from history? This cannot be undone.",showPanelAriaLabel:"Show Results",addToFavoritesLabel:"Add to favorites",customerReviewsTitle:"Customer Reviews",togglePanelAriaLabel:"Toggle panel",chatMessagesAriaLabel:"Chat messages",suggestionsAriaLabel:"Suggestions",moreSuggestionsAriaLabel:"More suggestions",rollbackAriaLabel:"Rollback to this message",backAriaLabel:"Back",forwardAriaLabel:"Forward",closePanelAriaLabel:"Close panel",dismissAriaLabel:"Dismiss",cartAddErrorMessage:"Sorry, I couldn't add that to your cart. Something went wrong.",favoriteToggleErrorMessage:"We couldn't update favorites. Please try again.",reviewFilterPositive:"Positive",reviewFilterNegative:"Negative",decreaseLabel:"Decrease",increaseLabel:"Increase",reviewCustomersMentionSingular:"1 customer mentions",reviewCustomersMentionPlural:"customers mention",reviewSubjectsHeading:"Select to learn more",tryAgainButton:"Try again",askSomethingElseButton:"Ask something else",accountInactiveMessage:"This account is currently inactive. Please try again later.",favoritesPageTitle:"My Favorites",emptyFavoritesMessage:"No favorites yet. Heart a product to save it here.",showFormerMessagesButton:"↑ Show earlier messages",aiAnalysisAnalyzingLabel:"Analyzing products...",aiBrowseCategoriesTitle:"Browse categories",photoAnalysisBadge:"Skin Analysis",photoAnalysisStrengthsLabel:"Your strengths",photoAnalysisFocusLabel:"Focus points",photoAnalysisCelebStyleLabel:"Celeb style match",beautyPhotoStepTitle:"Personalize with a selfie",beautyPhotoStepDescription:"Upload a clear profile photo so I can give you personalized recommendations.",beautyPhotoStepUpload:"Upload Photo",beautyPhotoStepProcessing:"Processing photo...",beautyPhotoStepSkip:"Skip",beautyPhotoStepSkipMessage:"Skip the photo step"}}));function yl(t){return t?t.toLowerCase().split("-")[0]??"tr":"tr"}function xl(t){return yl(t)==="en"?Pi:Qe}var bt=L((()=>{bl(),vl()}));function _l(){return Ti()!==null}function Ti(){const t=globalThis;return t.SpeechRecognition??t.webkitSpeechRecognition??null}function wl(t){switch(t){case"not-allowed":return"not-allowed";case"no-speech":return"no-speech";case"audio-capture":return"no-microphone";case"network":return"network";case"aborted":return"aborted";default:return"unknown"}}var Ai,kl=L((()=>{Ai=class{constructor(t,e){this.recognition=null,this._state="idle",this.silenceTimer=null,this.accumulatedTranscript="",this.intentionalStop=!1,this._lastRestartAt=0,this.callbacks=t,this.lang=e?.lang??"tr-TR",this.silenceTimeoutMs=e?.silenceTimeoutMs??1500,this.autoSubmit=e?.autoSubmit??!0}get state(){return this._state}start(){if(this._state==="listening")return;const t=Ti();if(!t){this.setState("error"),this.callbacks.onError?.("not-supported","Web Speech API is not supported in this browser.");return}if(typeof globalThis.isSecureContext<"u"&&!globalThis.isSecureContext){this.setState("error"),this.callbacks.onError?.("not-allowed","Voice input requires HTTPS.");return}this.accumulatedTranscript="",this.intentionalStop=!1;const e=new t;e.continuous=!0,e.interimResults=!0,e.lang=this.lang,e.maxAlternatives=1,e.onstart=()=>{this.setState("listening")},e.onresult=a=>{this.clearSilenceTimer();let n="",i="";for(let r=a.resultIndex;r<a.results.length;r++){const o=a.results[r];if(!o)continue;const s=o[0];s&&(o.isFinal?i+=s.transcript:n+=s.transcript)}i&&(this.accumulatedTranscript+=i,this.callbacks.onFinal?.(this.accumulatedTranscript)),n&&this.callbacks.onInterim?.(this.accumulatedTranscript+n),this.autoSubmit&&this.accumulatedTranscript&&this.startSilenceTimer()},e.onerror=a=>{const n=wl(a.error);this.intentionalStop&&(a.error==="no-speech"||a.error==="aborted")||(this.setState("error"),this.callbacks.onError?.(n,a.message||a.error))},e.onend=()=>{if(this.clearSilenceTimer(),this._state==="listening"&&!this.intentionalStop){const a=Date.now();if(a-this._lastRestartAt<500){this.setState("idle");return}this._lastRestartAt=a;try{e.start()}catch{this.setState("idle")}return}this.setState("idle")},this.recognition=e;try{e.start()}catch{this.setState("error"),this.callbacks.onError?.("unknown","Failed to start speech recognition.")}}stop(){if(this.intentionalStop=!0,this.clearSilenceTimer(),this.recognition){try{this.recognition.stop()}catch{}this.recognition=null}return this.setState("idle"),this.accumulatedTranscript}abort(){if(this.intentionalStop=!0,this.clearSilenceTimer(),this.accumulatedTranscript="",this.recognition){try{this.recognition.abort()}catch{}this.recognition=null}this.setState("idle")}destroy(){this.abort()}setState(t){this._state!==t&&(this._state=t,this.callbacks.onStateChange?.(t))}startSilenceTimer(){this.clearSilenceTimer(),this.silenceTimer=setTimeout(()=>{const t=this.stop();t.trim()&&this.callbacks.onAutoSubmit?.(t.trim())},this.silenceTimeoutMs)}clearSilenceTimer(){this.silenceTimer!==null&&(clearTimeout(this.silenceTimer),this.silenceTimer=null)}}}));function Cl(t){const e=document.createElement("div");e.className="gengage-chat-kvkk-banner gds-evidence-card gds-evidence-card-warning",e.dataset.gengagePart="kvkk-banner",e.setAttribute("role","alert");const a=document.createElement("div");a.className="gengage-chat-kvkk-content",a.dataset.gengagePart="kvkk-content",a.innerHTML=ye(t.htmlContent),e.appendChild(a);const n=document.createElement("button");return n.className="gengage-chat-kvkk-dismiss",n.dataset.gengagePart="kvkk-dismiss",n.type="button",n.setAttribute("aria-label",t.closeAriaLabel??"Close privacy notice"),n.textContent="×",n.addEventListener("click",t.onDismiss),e.appendChild(n),e}var Sl=L((()=>{ge()})),Li,El=L((()=>{Li=class{constructor(t){this._el=document.createElement("div"),this._el.className="gengage-chat-panel-topbar gds-toolbar",this._el.dataset.gengagePart="panel-topbar",this._backBtn=document.createElement("button"),this._backBtn.className="gengage-chat-panel-topbar-back gds-btn gds-btn-ghost gds-icon-btn",this._backBtn.dataset.gengagePart="panel-topbar-back",this._backBtn.type="button",this._backBtn.disabled=!0,this._backBtn.setAttribute("aria-label",t.backAriaLabel??"Back"),this._backBtn.title=t.backAriaLabel??"Back",this._backBtn.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m15 18-6-6 6-6"/><path d="M21 12H9"/></svg>',this._backBtn.addEventListener("click",()=>t.onBack());const e=document.createElement("div");e.className="gengage-chat-panel-topbar-title-wrap",this._titleEl=document.createElement("span"),this._titleEl.className="gengage-chat-panel-topbar-title",this._titleEl.dataset.gengagePart="panel-topbar-title",e.appendChild(this._titleEl),this._forwardBtn=document.createElement("button"),this._forwardBtn.className="gengage-chat-panel-topbar-forward gds-btn gds-btn-ghost gds-icon-btn",this._forwardBtn.dataset.gengagePart="panel-topbar-forward",this._forwardBtn.type="button",this._forwardBtn.disabled=!0,this._forwardBtn.setAttribute("aria-label",t.forwardAriaLabel??"Forward"),this._forwardBtn.title=t.forwardAriaLabel??"Forward",this._forwardBtn.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 18 6-6-6-6"/><path d="M3 12h12"/></svg>',this._forwardBtn.addEventListener("click",()=>t.onForward()),this._actionsEl=document.createElement("div"),this._actionsEl.className="gengage-chat-panel-topbar-actions",this._actionsEl.dataset.gengagePart="panel-topbar-actions",this._closeBtn=document.createElement("button"),this._closeBtn.className="gengage-chat-panel-topbar-close gds-btn gds-btn-ghost gds-icon-btn",this._closeBtn.dataset.gengagePart="panel-topbar-close",this._closeBtn.type="button",this._closeBtn.setAttribute("aria-label",t.closePanelAriaLabel??"Close panel"),this._closeBtn.title=t.closePanelAriaLabel??"Close panel",this._closeBtn.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',this._closeBtn.addEventListener("click",()=>t.onClose?.()),this._el.appendChild(this._backBtn),this._el.appendChild(e),this._el.appendChild(this._actionsEl),this._el.appendChild(this._forwardBtn),this._el.appendChild(this._closeBtn)}update(t,e,a){this._backBtn.disabled=!t,this._forwardBtn.disabled=!e,this._backBtn.hidden=!t,this._forwardBtn.hidden=!e,this._titleEl.textContent=a,this._titleEl.title=a}getElement(){return this._el}setTitle(t){this._titleEl.textContent=t}setActions(t){this._actionsEl.replaceChildren(),t&&this._actionsEl.appendChild(t)}getTitle(){return this._titleEl.textContent??""}}}));function Pl(t){return{processing:t.processing===!0,title:typeof t.title=="string"?t.title:void 0,description:typeof t.description=="string"?t.description:void 0,uploadLabel:typeof t.upload_label=="string"?t.upload_label:void 0,skipLabel:typeof t.skip_label=="string"?t.skip_label:void 0}}function Ii(t,e,a){const n=t.props??{},i=n.processing===!0,r={...Qe,...e.i18n??{}},o=document.createElement("div");o.className="gengage-chat-beauty-photo-step-card";const s=document.createElement("span");s.className="gengage-chat-beauty-photo-step-icon",s.setAttribute("aria-hidden","true"),s.textContent="✦";const c=document.createElement("div");c.className="gengage-chat-beauty-photo-step-content";const l=document.createElement("div");l.className="gengage-chat-beauty-photo-step-title",l.textContent=(typeof n.title=="string"?n.title:void 0)??r.beautyPhotoStepTitle;const p=document.createElement("p");p.className="gengage-chat-beauty-photo-step-desc",p.textContent=(typeof n.description=="string"?n.description:void 0)??r.beautyPhotoStepDescription;const d=document.createElement("div");d.className="gengage-chat-beauty-photo-step-actions";const h=document.createElement("button");h.type="button",h.className="gengage-chat-beauty-photo-step-upload gds-btn gds-btn-primary",h.textContent=i?r.beautyPhotoStepProcessing:(typeof n.upload_label=="string"?n.upload_label:void 0)??r.beautyPhotoStepUpload,h.disabled=i,a?.onUpload&&h.addEventListener("click",()=>a.onUpload());const f=document.createElement("button");return f.type="button",f.className="gengage-chat-beauty-photo-step-skip gds-btn gds-btn-ghost",f.textContent=(typeof n.skip_label=="string"?n.skip_label:void 0)??r.beautyPhotoStepSkip,a?.onSkip&&f.addEventListener("click",()=>a.onSkip()),d.appendChild(h),d.appendChild(f),c.appendChild(l),c.appendChild(p),c.appendChild(d),o.appendChild(s),o.appendChild(c),o}var Ba=L((()=>{bt()}));function Tl(t,e){if(t)return t;const a=document.createElement("section");a.className="gengage-chat-beauty-photo-step",a.dataset.gengagePart="chat-beauty-photo-step",a.hidden=!0;const n=e?.querySelector(".gengage-chat-input-area");return n?n.parentElement?.insertBefore(a,n):e?.appendChild(a),a}function Al(t,e,a,n,i){if(!a.visible)return t&&(t.hidden=!0,t.innerHTML=""),t;const r=Tl(t,e);r.hidden=!1,r.innerHTML="";const o=Ii({type:"BeautyPhotoStep",props:{processing:a.processing??!1,title:a.title,description:a.description,upload_label:a.uploadLabel,skip_label:a.skipLabel}},{i18n:n,onAction:()=>{}},{onUpload:i,onSkip:a.onSkip});return r.appendChild(o),r}var Ll=L((()=>{Ba()}));function Ni(t){const e=typeof t.summary=="string"?t.summary:"",a=Array.isArray(t.strengths)?t.strengths.filter(c=>typeof c=="string"):[],n=Array.isArray(t.focus_points)?t.focus_points.filter(c=>typeof c=="string"):[];if(!e&&a.length===0&&n.length===0)return null;const i={summary:e},r=typeof t.celeb_style=="string"?t.celeb_style:void 0,o=typeof t.celeb_style_reason=="string"?t.celeb_style_reason:void 0,s=typeof t.next_question=="string"?t.next_question:void 0;return a.length>0&&(i.strengths=a),n.length>0&&(i.focusPoints=n),r&&(i.celebStyle=r),o&&(i.celebStyleReason=o),s&&(i.nextQuestion=s),i}function Mi(t,e,a){if(e.length===0)return null;const n=document.createElement("section");n.className=`gengage-chat-photo-analysis-section ${a}`;const i=document.createElement("h4");i.className="gengage-chat-photo-analysis-section-title",i.textContent=t;const r=document.createElement("ul");r.className="gengage-chat-photo-analysis-section-list";for(const o of e){const s=document.createElement("li");s.className="gengage-chat-photo-analysis-section-item",s.textContent=o,r.appendChild(s)}return n.appendChild(i),n.appendChild(r),n}function Bi(t,e){const a=document.createElement("div");a.className="gengage-chat-photo-analysis-card";const n=document.createElement("div");n.className="gengage-chat-photo-analysis-badge",n.textContent=t.badge;const i=document.createElement("div");if(i.className="gengage-chat-photo-analysis-body",e.summary){const c=document.createElement("p");c.className="gengage-chat-photo-analysis-summary",c.textContent=e.summary,i.appendChild(c)}const r=document.createElement("div");r.className="gengage-chat-photo-analysis-highlights";const o=Mi(t.strengths,e.strengths??[],"gengage-chat-photo-analysis-section--strengths"),s=Mi(t.focus,e.focusPoints??[],"gengage-chat-photo-analysis-section--focus");if(o&&r.appendChild(o),s&&r.appendChild(s),r.childElementCount>0&&i.appendChild(r),e.celebStyle){const c=document.createElement("section");c.className="gengage-chat-photo-analysis-section gengage-chat-photo-analysis-section--celeb";const l=document.createElement("h4");l.className="gengage-chat-photo-analysis-section-title",l.textContent=t.celebStyle;const p=document.createElement("p");if(p.className="gengage-chat-photo-analysis-celeb-name",p.textContent=e.celebStyle,c.appendChild(l),c.appendChild(p),e.celebStyleReason){const d=document.createElement("p");d.className="gengage-chat-photo-analysis-celeb-reason",d.textContent=e.celebStyleReason,c.appendChild(d)}i.appendChild(c)}if(e.nextQuestion){const c=document.createElement("p");c.className="gengage-chat-photo-analysis-next",c.textContent=e.nextQuestion,i.appendChild(c)}return a.appendChild(n),a.appendChild(i),a}function Il(t){const e={...Qe,...t?.i18n??{}};return{badge:e.photoAnalysisBadge,strengths:e.photoAnalysisStrengthsLabel,focus:e.photoAnalysisFocusLabel,celebStyle:e.photoAnalysisCelebStyleLabel}}function Nl(t,e){const a=Ni(t.props??{})??{summary:""};return Bi(Il(e),a)}function Ml(t,e,a){t.innerHTML="",a&&t.appendChild(Bi(e,a))}var Ra=L((()=>{bt()}));async function Bl(t){for(const e of t)for(const a of e.types)if(a.startsWith("image/"))try{const n=await e.getType(a);if(!n||n.size===0)continue;const i=a||n.type||"image/png",r=i==="image/png"?"png":i==="image/webp"?"webp":"jpg",o=`paste-${Date.now()}.${r}`;return new File([n],o,{type:i})}catch{continue}for(const e of t)if(e.types.includes("text/html"))try{const a=(await(await e.getType("text/html")).text()).match(Hi)?.[0];if(!a||a.length>5e6)continue;const n=await(await fetch(a)).blob();if(!n||n.size===0)continue;const i=n.type||"image/png";if(!["image/jpeg","image/png","image/webp"].includes(i))continue;const r=i==="image/png"?"png":i==="image/webp"?"webp":"jpg";return new File([n],`paste-${Date.now()}.${r}`,{type:i})}catch{continue}return null}async function Rl(t){try{const e=t??(typeof navigator.clipboard?.read=="function"?navigator.clipboard.read():null);return e?Bl(await e):null}catch{}return null}var za,Ha,Ri,zi,Fa,Hi,Fi,zl=L((()=>{Ei(),ge(),Ke(),bt(),kl(),It(),Sl(),El(),Ll(),Ra(),za='<svg viewBox="0 0 16 16" class="gengage-chat-icon"><path d="M3 8h10M9 4l4 4-4 4" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>',Ha={search:'<svg viewBox="0 0 16 16" class="gengage-chat-icon"><circle cx="6.5" cy="6.5" r="5" fill="none" stroke="currentColor" stroke-width="1.5"/><line x1="10" y1="10" x2="15" y2="15" stroke="currentColor" stroke-width="1.5"/></svg>',review:'<svg viewBox="0 0 16 16" class="gengage-chat-icon"><polygon points="8,1 10,6 15,6 11,9 12.5,14 8,11 3.5,14 5,9 1,6 6,6" fill="none" stroke="currentColor" stroke-width="1.5"/></svg>',info:'<svg viewBox="0 0 16 16" class="gengage-chat-icon"><circle cx="8" cy="8" r="7" fill="none" stroke="currentColor" stroke-width="1.5"/><line x1="8" y1="7" x2="8" y2="12" stroke="currentColor" stroke-width="1.5"/><circle cx="8" cy="4.5" r="0.8" fill="currentColor"/></svg>',similar:'<svg viewBox="0 0 16 16" class="gengage-chat-icon"><rect x="1" y="3" width="6" height="6" rx="1" fill="none" stroke="currentColor" stroke-width="1.5"/><rect x="9" y="3" width="6" height="6" rx="1" fill="none" stroke="currentColor" stroke-width="1.5"/></svg>'},Ri=Qe,zi=1400,Fa=1500,Hi=/data:image\/(png|jpeg|jpg|webp);base64,[A-Za-z0-9+/=]+/gi,Fi=class{_renderPhotoAnalysisCard(t,e){Ml(t,{badge:this.i18n.photoAnalysisBadge,strengths:this.i18n.photoAnalysisStrengthsLabel,focus:this.i18n.photoAnalysisFocusLabel,celebStyle:this.i18n.photoAnalysisCelebStyleLabel},e)}constructor(t,e){this._sendStopHandler=null,this._panelVisible=!1,this._panelCollapsed=!1,this._onPanelToggle=void 0,this._onHostShellSync=void 0,this._pendingAttachment=null,this._onAttachment=void 0,this._onRollback=void 0,this._onLinkClick=void 0,this._userScrolledUp=!1,this._scrollLockedUntil=0,this._favBadgeEl=null,this._thinkingSteps=[],this._firstBotMessageIds=new Set,this._voiceInput=null,this._micBtn=null,this._voiceEnabled=!1,this._voiceLang="tr-TR",this._ignoreNextDividerClick=!1,this._cleanups=[],this._focusTrapHandler=null,this._previouslyFocusedElement=null,this._conversationEl=null,this._reopenPanelBtn=null,this._presentationFocusThreadId=null,this._formerMessagesBtn=null,this._programmaticScrollUntil=0,this._userInteractionUntil=0,this._touchStartY=null,this._presentationPinned=!0,this._presentationUserInteracting=!1,this._resizeRafId=null,this._cartBtn=null,this._attachWrapEl=null,this._attachMenuEl=null,this._attachBtn=null,this._attachMenuCleanup=null,this._attachMenuClickTimerId=null,this._typingLoadingBinding=null,this._panelLoadingBinding=null,this._panelAiZoneLoadingBinding=null,this._beautyPhotoStepEl=null,this._options=e,this.i18n={...Ri,...e.i18n},this.onSend=e.onSend,e.onPanelToggle!==void 0&&(this._onPanelToggle=e.onPanelToggle),e.onHostShellSync!==void 0&&(this._onHostShellSync=e.onHostShellSync),e.onAttachment!==void 0&&(this._onAttachment=e.onAttachment),e.onRollback!==void 0&&(this._onRollback=e.onRollback),e.onLinkClick!==void 0&&(this._onLinkClick=e.onLinkClick),e.voiceEnabled&&(this._voiceEnabled=!0),e.voiceLang!==void 0&&(this._voiceLang=e.voiceLang),this.root=document.createElement("div"),this.root.className="gengage-chat-drawer gds-panel",this.root.dataset.gengagePart="chat-drawer",this.root.setAttribute("role","dialog"),this.root.setAttribute("aria-label",this.i18n.headerTitle??"Chat"),this.root.setAttribute("aria-modal","true");const a="gengage-chat-dialog-desc",n=document.createElement("span");n.id=a,n.className="gengage-sr-only",n.textContent=this.i18n.headerTitle??"AI shopping assistant",this.root.appendChild(n),this.root.setAttribute("aria-describedby",a);let i=null;{const S=document.createElement("div");S.className="gengage-chat-drawer-handle",S.dataset.gengagePart="chat-drawer-handle",S.setAttribute("aria-hidden","true"),S.style.pointerEvents="none",i=S}const r=document.createElement("div");r.className="gengage-chat-header gds-shell-header",r.dataset.gengagePart="chat-header";const o=document.createElement("div");o.className="gengage-chat-header-left",o.dataset.gengagePart="chat-header-left";const s=e.headerAvatarUrl??e.launcherImageUrl,c=typeof e.headerAvatarUrl=="string"&&e.headerAvatarUrl.length>0&&e.headerAvatarUrl!==e.launcherImageUrl;if(s){const S=document.createElement("img");S.className="gengage-chat-header-avatar",c&&S.classList.add("gengage-chat-header-avatar--logo"),S.dataset.gengagePart="chat-header-avatar",S.src=s,S.alt=e.headerTitle??"Assistant",o.appendChild(S)}const l=document.createElement("div");l.className="gengage-chat-header-info",l.dataset.gengagePart="chat-header-info";const p=document.createElement("div");p.className="gengage-chat-header-title-row",p.dataset.gengagePart="chat-header-title-row";const d=document.createElement("span");if(d.className="gengage-chat-header-title",d.dataset.gengagePart="chat-header-title",d.textContent=e.headerTitle??this.i18n.headerTitle??"Product Expert",p.appendChild(d),e.headerBadge){const S=document.createElement("span");S.className="gengage-chat-header-badge gds-badge gds-badge-brand",S.dataset.gengagePart="chat-header-badge",S.textContent=e.headerBadge,p.appendChild(S)}l.appendChild(p);const h=document.createElement("a");h.className="gengage-chat-header-powered",h.dataset.gengagePart="chat-header-powered-by",h.href="https://gengage.ai/",h.target="_blank",h.rel="noopener noreferrer",h.innerHTML=`<svg viewBox="0 0 15 15" fill="none" aria-hidden="true"><path d="M15 5.88941C12.2201 5.88941 9.72762 7.14107 8.05571 9.11059H0C2.77991 9.11059 5.27238 7.85893 6.94429 5.88941H15Z" fill="currentColor"/><path d="M9.10964 0C9.10964 2.24394 8.29524 4.30038 6.94429 5.88941C5.27238 7.85962 2.77922 9.11059 0 9.11059V5.88941C3.24802 5.88941 5.89036 3.2465 5.89036 0H9.10964Z" fill="currentColor" fill-opacity="0.68"/><path d="M15 5.88941V9.11059C11.752 9.11059 9.10964 11.7535 9.10964 15H5.89036C5.89036 12.7561 6.70476 10.6996 8.05571 9.11059C9.72762 7.14038 12.2208 5.88941 15 5.88941Z" fill="currentColor" fill-opacity="0.68"/></svg>${this.i18n.poweredBy}`,l.appendChild(h),o.appendChild(l),r.appendChild(o);const f=document.createElement("div");f.className="gengage-chat-header-right",f.dataset.gengagePart="chat-header-actions";{const S=document.createElement("button");S.type="button",S.className="gengage-chat-header-btn gengage-chat-header-btn--reopen-panel gds-btn gds-btn-ghost gds-icon-btn",S.dataset.gengagePart="chat-header-reopen-panel",S.setAttribute("aria-label",this.i18n.showPanelAriaLabel),S.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><line x1="9" y1="3" x2="9" y2="21"/></svg>',S.addEventListener("click",()=>this._showMobilePanelFromBtn()),f.appendChild(S),this._reopenPanelBtn=S}if(e.headerCartUrl||e.onCartClick){const S=document.createElement("button");S.type="button",S.className="gengage-chat-header-btn gengage-chat-header-btn--cart gds-btn gds-btn-ghost gds-icon-btn",S.dataset.gengagePart="chat-header-cart",S.setAttribute("aria-label",this.i18n.cartAriaLabel),S.title=this.i18n.cartAriaLabel,S.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/></svg>',S.addEventListener("click",()=>e.onCartClick?.()),f.appendChild(S),this._cartBtn=S}if(e.onHistoryClick){const S=document.createElement("button");S.type="button",S.className="gengage-chat-header-btn gengage-chat-header-btn--history gds-btn gds-btn-ghost gds-icon-btn",S.dataset.gengagePart="chat-header-history",S.setAttribute("aria-label",this.i18n.historyAriaLabel),S.title=this.i18n.historyAriaLabel,S.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 8v5l3 2"/><path d="M3.05 11A9 9 0 1 1 5 17.5"/><path d="M3 8v4h4"/></svg>',S.addEventListener("click",()=>e.onHistoryClick?.()),f.appendChild(S)}if(e.onNewChat){const S=document.createElement("button");S.className="gengage-chat-header-btn gengage-chat-new-chat gds-btn gds-btn-ghost gds-icon-btn",S.dataset.gengagePart="chat-header-new-chat",S.type="button",S.setAttribute("aria-label",this.i18n.newChatButton),S.title=this.i18n.newChatButton,S.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>',S.addEventListener("click",()=>e.onNewChat?.()),f.appendChild(S)}const b=document.createElement("button");if(b.className="gengage-chat-close gds-btn gds-btn-ghost gds-icon-btn",b.dataset.gengagePart="chat-header-close",b.type="button",b.setAttribute("aria-label",this.i18n.closeButton),b.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',b.addEventListener("click",e.onClose),e.showHeaderFavorites){const S=document.createElement("button");S.className="gengage-chat-header-btn gengage-chat-header-btn--fav gds-btn gds-btn-ghost gds-icon-btn",S.dataset.gengagePart="chat-header-favorites",S.type="button",S.setAttribute("aria-label",this.i18n.favoritesAriaLabel),S.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>';const T=document.createElement("span");T.className="gengage-chat-header-fav-badge",T.dataset.gengagePart="chat-header-favorites-badge",T.setAttribute("aria-hidden","true"),T.style.display="none",S.appendChild(T),this._favBadgeEl=T,S.addEventListener("click",()=>{e.onFavoritesClick?.()}),f.appendChild(S)}f.appendChild(b),i&&r.insertBefore(i,r.firstChild),r.appendChild(f);{let T=0,H=0,Z=!1;const re=K=>{if(!(this._options.getMobileViewport?.()??window.innerWidth<=768)||K.target.closest('button, a, input, [role="button"]'))return;const Q=K.changedTouches?.[0];Q&&(T=Q.clientY,H=0,Z=!0,this.root.style.transition="none")},ce=K=>{if(!Z)return;const Q=K.changedTouches?.[0];if(!Q)return;H=Q.clientY-T;const X=(e.getMobileState?.()??"full")==="full"?Math.max(0,H):H;K.preventDefault(),this.root.style.transform=`translateY(${X}px)`},fe=()=>{if(!Z)return;Z=!1;const K=e.getMobileState?.()??"full";let Q;H>72?Q=K==="full"?"half":"close":H<-72&&K==="half"?Q="full":Q=K,this.root.style.transition="",Q==="close"?(this.root.style.transform="translateY(100%)",setTimeout(()=>{this.root.style.transform="",e.onMobileSnap?.("close")},280)):(this.root.style.transform="",e.onMobileSnap?.(Q)),H=0},F=()=>{Z&&(Z=!1,H=0,this.root.style.transition="",this.root.style.transform="")};r.addEventListener("touchstart",re,{passive:!0}),r.addEventListener("touchmove",ce,{passive:!1}),r.addEventListener("touchend",fe,{passive:!0}),r.addEventListener("touchcancel",F,{passive:!0}),this._cleanups.push(()=>{r.removeEventListener("touchstart",re),r.removeEventListener("touchmove",ce),r.removeEventListener("touchend",fe),r.removeEventListener("touchcancel",F)})}const m=document.createElement("div");m.className="gengage-chat-body",m.dataset.gengagePart="chat-body",this._panelEl=document.createElement("div"),this._panelEl.className="gengage-chat-panel gds-panel",this._panelEl.dataset.gengagePart="chat-panel",this._panelTopBar=new Li({onBack:()=>e.onPanelBack?.(),onForward:()=>e.onPanelForward?.(),onClose:()=>{e.getMobileViewport?.()??!1?this.hideMobilePanel():this.clearPanel(),e.onPanelClose?.()},backAriaLabel:this.i18n.backAriaLabel,forwardAriaLabel:this.i18n.forwardAriaLabel,closePanelAriaLabel:this.i18n.closePanelAriaLabel}),this._panelEl.appendChild(this._panelTopBar.getElement());const u=()=>this._updateScrollAffordance();this._panelEl.addEventListener("scroll",u,{passive:!0}),this._cleanups.push(()=>this._panelEl.removeEventListener("scroll",u)),m.appendChild(this._panelEl),this._dividerEl=document.createElement("div"),this._dividerEl.className="gengage-chat-panel-divider gengage-chat-panel-divider--hidden",this._dividerEl.dataset.gengagePart="chat-panel-divider",this._dividerEl.setAttribute("role","separator"),this._dividerEl.setAttribute("aria-label",this.i18n.togglePanelAriaLabel),this._dividerEl.setAttribute("title",this.i18n.togglePanelAriaLabel);const g=document.createElement("button");g.className="gengage-chat-panel-divider-toggle gds-btn gds-btn-ghost",g.dataset.gengagePart="chat-panel-divider-toggle",g.type="button",g.setAttribute("aria-label",this.i18n.togglePanelAriaLabel),g.setAttribute("title",this.i18n.togglePanelAriaLabel),g.textContent="»",g.addEventListener("click",()=>{if(this._ignoreNextDividerClick){this._ignoreNextDividerClick=!1;return}this.togglePanel(),this._onPanelToggle?.()});let v=null,_=null;const y=24,k=S=>{if(!(this._options.getMobileViewport?.()??window.innerWidth<=768))return;const T=S.changedTouches?.[0];T&&(v=T.clientX,_=T.clientY)},P=S=>{if(!(this._options.getMobileViewport?.()??window.innerWidth<=768)||v===null||_===null)return;const T=S.changedTouches?.[0];if(!T)return;const H=T.clientX-v,Z=T.clientY-_;if(v=null,_=null,Math.abs(Z)<y||Math.abs(Z)<Math.abs(H))return;const re=Z<0;re!==this._panelCollapsed&&(this._ignoreNextDividerClick=!0,this.setPanelCollapsed(re),this._onPanelToggle?.())};this._dividerEl.addEventListener("touchstart",k,{passive:!0}),this._dividerEl.addEventListener("touchend",P,{passive:!0}),this._cleanups.push(()=>{this._dividerEl.removeEventListener("touchstart",k),this._dividerEl.removeEventListener("touchend",P)}),this._dividerEl.appendChild(g),m.appendChild(this._dividerEl);const w=document.createElement("div");w.className="gengage-chat-conversation",w.dataset.gengagePart="chat-conversation",this._conversationEl=w,w.appendChild(r);const E=document.createElement("div");E.className="gengage-chat-offline-bar gds-evidence-card gds-evidence-card-warning",E.dataset.gengagePart="chat-offline-bar",E.setAttribute("role","status"),E.setAttribute("aria-live","polite"),E.textContent=this.i18n.offlineMessage,typeof navigator<"u"&&!navigator.onLine&&E.classList.add("gengage-chat-offline-bar--visible"),w.appendChild(E);const z=()=>E.classList.add("gengage-chat-offline-bar--visible"),V=()=>E.classList.remove("gengage-chat-offline-bar--visible");window.addEventListener("offline",z),window.addEventListener("online",V),this._cleanups.push(()=>{window.removeEventListener("offline",z),window.removeEventListener("online",V)}),this._kvkkSlot=document.createElement("div"),this._kvkkSlot.className="gengage-chat-kvkk-slot",this._kvkkSlot.dataset.gengagePart="chat-kvkk-slot",w.appendChild(this._kvkkSlot),this.messagesEl=document.createElement("div"),this.messagesEl.id=ft,this.messagesEl.className="gengage-chat-messages",this.messagesEl.dataset.gengagePart="chat-messages",this.messagesEl.setAttribute("role","log"),this.messagesEl.setAttribute("aria-live","polite"),this.messagesEl.setAttribute("aria-atomic","false"),this.messagesEl.setAttribute("aria-label",this.i18n.chatMessagesAriaLabel),Ci(this.messagesEl);const W=document.createElement("button");W.type="button",W.className="gengage-chat-former-messages-btn gds-chip",W.dataset.gengagePart="chat-former-messages-button",W.textContent=this.i18n.showFormerMessagesButton,W.setAttribute("aria-label",this.i18n.showFormerMessagesButton),W.style.display="none",W.addEventListener("click",()=>{this._options.presentation?.onReleasePresentationFocus?.()}),this.messagesEl.appendChild(W),this._formerMessagesBtn=W;const oe=()=>{this._userInteractionUntil=Date.now()+2e3};let ie=!1;const A=()=>this._options.presentation,D=()=>{ie||(ie=!0,requestAnimationFrame(()=>{ie=!1;const{scrollTop:S,scrollHeight:T,clientHeight:H}=this.messagesEl,Z=T-S-H;this._userScrolledUp=Z>10;const re=this._presentationPinned?Z<96:Z<32,ce=Date.now(),fe=ce<this._programmaticScrollUntil,F=!re&&ce<this._userInteractionUntil,K=fe?!1:F;re!==this._presentationPinned&&(this._presentationPinned=re,A()?.onPinnedToBottomChange?.(re)),K!==this._presentationUserInteracting&&(this._presentationUserInteracting=K,A()?.onUserInteractingChange?.(K))}))};this.messagesEl.addEventListener("scroll",D,{passive:!0}),this._cleanups.push(()=>{this.messagesEl.removeEventListener("scroll",D)});const C=S=>{oe(),S.deltaY<-6&&this._presentationFocusThreadId&&this._options.presentation?.onFormerMessagesHint?.()};this.messagesEl.addEventListener("wheel",C,{passive:!0}),this._cleanups.push(()=>this.messagesEl.removeEventListener("wheel",C));const M=S=>{oe(),this._touchStartY=S.touches[0]?.clientY??null},O=S=>{oe();const T=S.touches[0]?.clientY,H=this._touchStartY;typeof T=="number"&&typeof H=="number"&&T-H>10&&this._presentationFocusThreadId&&this._options.presentation?.onFormerMessagesHint?.()};this.messagesEl.addEventListener("touchstart",M,{passive:!0}),this.messagesEl.addEventListener("touchmove",O,{passive:!0}),this._cleanups.push(()=>{this.messagesEl.removeEventListener("touchstart",M),this.messagesEl.removeEventListener("touchmove",O)}),w.appendChild(this.messagesEl),this._panelFloatingEl=document.createElement("div"),this._panelFloatingEl.className="gengage-chat-panel-float",this._panelFloatingEl.dataset.gengagePart="chat-panel-floating-layer",this._panelEl.appendChild(this._panelFloatingEl),this._resetPanelAiZoneElement(),this._pillsEl=document.createElement("div"),this._pillsEl.className="gengage-chat-pills",this._pillsEl.dataset.gengagePart="chat-suggestion-pills",this._pillsEl.setAttribute("role","toolbar"),this._pillsEl.setAttribute("aria-label",this.i18n.suggestionsAriaLabel),this._pillsEl.style.display="none";const U=document.createElement("div");U.className="gengage-chat-pills-scroll",U.dataset.gengagePart="chat-suggestion-pills-scroll",this._pillsEl.appendChild(U);const R=document.createElement("button");R.className="gengage-chat-pills-arrow gds-btn gds-btn-ghost",R.dataset.gengagePart="chat-suggestion-pills-more",R.type="button",R.setAttribute("aria-label",this.i18n.moreSuggestionsAriaLabel),R.textContent="›",R.addEventListener("click",()=>{U.scrollBy({left:150,behavior:"smooth"})}),this._pillsEl.appendChild(R);let ne=!1;const ae=()=>{ne||(ne=!0,requestAnimationFrame(()=>{ne=!1;const S=U.scrollLeft+U.clientWidth>=U.scrollWidth-4;R.style.display=S?"none":""}))};U.addEventListener("scroll",ae,{passive:!0}),this._cleanups.push(()=>{U.removeEventListener("scroll",ae)}),w.appendChild(this._pillsEl),this._inputChipsEl=document.createElement("div"),this._inputChipsEl.className="gengage-chat-input-chips",this._inputChipsEl.dataset.gengagePart="chat-input-chips",this._inputChipsEl.style.display="none",w.appendChild(this._inputChipsEl);const G=document.createElement("div");G.className="gengage-chat-input-area",G.dataset.gengagePart="chat-input-area",this.inputEl=document.createElement("textarea"),this.inputEl.className="gengage-chat-input",this.inputEl.dataset.gengagePart="chat-input",this.inputEl.rows=1,this.inputEl.placeholder=this.i18n.inputPlaceholder,this.inputEl.addEventListener("input",()=>{this._resizeRafId!==null&&cancelAnimationFrame(this._resizeRafId),this._resizeRafId=requestAnimationFrame(()=>{this._resizeRafId=null,this.inputEl.style.height="auto",this.inputEl.style.height=`${Math.min(this.inputEl.scrollHeight,120)}px`}),this._updateSendEnabled()}),this.inputEl.addEventListener("keydown",S=>{S.key==="Enter"&&!S.isComposing&&((this._options.getMobileViewport?.()??window.innerWidth<=768)||!S.shiftKey)&&(S.preventDefault(),this._submit())}),this.inputEl.addEventListener("paste",S=>{const T=S.clipboardData;if(!T)return;let H=null;const Z=T.files?.[0];if(Z&&Z.type.startsWith("image/"))H=Z;else if(T.items?.length)for(let re=0;re<T.items.length;re++){const ce=T.items[re];if(ce?.kind==="file"&&ce.type.startsWith("image/")){const fe=ce.getAsFile();if(fe){H=fe;break}}}H&&(S.preventDefault(),this._routeAttachmentFile(H))}),this._fileInput=document.createElement("input"),this._fileInput.type="file",this._fileInput.accept="image/jpeg,image/png,image/webp",this._fileInput.style.display="none",this._fileInput.addEventListener("change",()=>{const S=this._fileInput.files?.[0];S&&this._routeAttachmentFile(S),this._fileInput.value=""});const x=document.createElement("div");x.className="gengage-chat-attach-wrap",x.dataset.gengagePart="chat-attach-wrap",this._attachWrapEl=x;const N=document.createElement("button");this._attachBtn=N,N.className="gengage-chat-attach-btn gds-btn gds-btn-ghost",N.dataset.gengagePart="chat-attach-button",N.type="button",N.setAttribute("aria-label",this.i18n.attachImageButton),N.setAttribute("aria-haspopup","menu"),N.setAttribute("aria-expanded","false"),N.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg>',N.addEventListener("click",S=>{S.stopPropagation(),this._toggleAttachMenu()});const I=document.createElement("div");this._attachMenuEl=I,I.className="gengage-chat-attach-menu gds-menu",I.dataset.gengagePart="chat-attach-menu",I.setAttribute("role","menu"),I.setAttribute("hidden","");const B=document.createElement("button");B.type="button",B.className="gengage-chat-attach-menu-item gds-btn gds-btn-ghost",B.dataset.gengagePart="chat-attach-menu-select-photo",B.setAttribute("role","menuitem"),B.innerHTML=`<span class="gengage-chat-attach-menu-icon" aria-hidden="true"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg></span><span class="gengage-chat-attach-menu-label">${this.i18n.attachMenuSelectPhoto}</span>`,B.addEventListener("click",S=>{S.stopPropagation(),this._closeAttachMenu(),this._fileInput.click()});const q=document.createElement("div");q.className="gengage-chat-attach-menu-sep",q.dataset.gengagePart="chat-attach-menu-separator",q.setAttribute("aria-hidden","true");const j=document.createElement("button");j.type="button",j.className="gengage-chat-attach-menu-item gds-btn gds-btn-ghost",j.dataset.gengagePart="chat-attach-menu-paste",j.setAttribute("role","menuitem"),j.innerHTML=`<span class="gengage-chat-attach-menu-icon" aria-hidden="true"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1Z"/><path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/><path d="M16 4h2a2 2 0 0 1 2 2v4"/><path d="M21 14H11"/><path d="m15 10-4 4 4 4"/></svg></span><span class="gengage-chat-attach-menu-label">${this.i18n.attachMenuPaste}</span>`,j.addEventListener("click",S=>{S.stopPropagation();const T=typeof navigator.clipboard?.read=="function"?navigator.clipboard.read():void 0;this._pasteImageFromClipboardMenu(T)}),I.appendChild(B),I.appendChild(q),I.appendChild(j),x.appendChild(N),x.appendChild(I),this._previewStrip=document.createElement("div"),this._previewStrip.className="gengage-chat-attachment-preview gengage-chat-attachment-preview--hidden gds-card-soft",this._previewStrip.dataset.gengagePart="chat-attachment-preview";const $=document.createElement("img");$.className="gengage-chat-attachment-preview-thumb",$.dataset.gengagePart="chat-attachment-preview-thumb",$.alt="",this._previewName=document.createElement("span"),this._previewName.className="gengage-chat-attachment-name",this._previewName.dataset.gengagePart="chat-attachment-preview-name";const J=document.createElement("button");J.className="gengage-chat-attachment-remove gds-btn gds-btn-ghost",J.dataset.gengagePart="chat-attachment-preview-remove",J.type="button",J.setAttribute("aria-label",this.i18n.removeAttachmentButton),J.textContent="×",J.addEventListener("click",()=>this.clearAttachment()),this._previewStrip.appendChild($),this._previewStrip.appendChild(this._previewName),this._previewStrip.appendChild(J),this.sendBtn=document.createElement("button"),this.sendBtn.className="gengage-chat-send gds-btn gds-btn-primary",this.sendBtn.dataset.gengagePart="chat-send",this.sendBtn.type="button",this.sendBtn.disabled=!0,this.sendBtn.setAttribute("aria-label",this.i18n.sendButton),this.sendBtn.dataset.tooltip=this.i18n.sendButton,this._renderSendButtonIcon("send"),this.sendBtn.addEventListener("click",()=>{if(this._sendStopHandler){const S=this._sendStopHandler;this.hideStopButton(),S();return}this._submit()}),G.addEventListener("dragover",S=>{S.preventDefault(),G.classList.add("gengage-chat-input-area--dragover")}),G.addEventListener("dragleave",()=>{G.classList.remove("gengage-chat-input-area--dragover")}),G.addEventListener("drop",S=>{S.preventDefault(),G.classList.remove("gengage-chat-input-area--dragover");const T=S.dataTransfer?.files[0];T&&this._routeAttachmentFile(T)});const Y=document.createElement("div");Y.className="gengage-chat-input-pill gds-input-shell",Y.dataset.gengagePart="chat-input-shell",Y.appendChild(x),Y.appendChild(this.inputEl),this._voiceEnabled&&_l()&&(this._micBtn=document.createElement("button"),this._micBtn.className="gengage-chat-mic-btn gds-btn gds-btn-ghost",this._micBtn.dataset.gengagePart="chat-mic-button",this._micBtn.type="button",this._micBtn.setAttribute("aria-label",this.i18n.voiceButton),this._micBtn.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><line x1="12" y1="19" x2="12" y2="23"/><line x1="8" y1="23" x2="16" y2="23"/></svg>',this._micBtn.addEventListener("click",()=>this._toggleVoice()),Y.appendChild(this._micBtn),this._voiceInput=new Ai({onInterim:S=>{this._resizeRafId!==null&&(cancelAnimationFrame(this._resizeRafId),this._resizeRafId=null),this.inputEl.value=S,this.inputEl.style.height="auto",this.inputEl.style.height=`${Math.min(this.inputEl.scrollHeight,120)}px`},onFinal:S=>{this.inputEl.value=S},onAutoSubmit:S=>{this.inputEl.value=S,this._micBtn?.classList.remove("gengage-chat-mic-btn--active"),this._submit()},onStateChange:S=>{S==="listening"?this._micBtn?.classList.add("gengage-chat-mic-btn--active"):this._micBtn?.classList.remove("gengage-chat-mic-btn--active")},onError:(S,T)=>{this._micBtn?.classList.remove("gengage-chat-mic-btn--active")}},{lang:this._voiceLang})),Y.appendChild(this.sendBtn),G.appendChild(this._previewStrip),G.appendChild(this._fileInput),G.appendChild(Y),w.appendChild(G),m.appendChild(w),this._comparisonDockSlotEl=document.createElement("div"),this._comparisonDockSlotEl.className="gengage-chat-comparison-dock-slot",this._comparisonDockSlotEl.dataset.gengagePart="comparison-dock-slot",m.appendChild(this._comparisonDockSlotEl),this.root.appendChild(m),this._setupHorizontalSwipe(w);const se=document.createElement("div");se.className="gengage-chat-footer",se.dataset.gengagePart="chat-footer",se.textContent=this.i18n.poweredBy,this.root.appendChild(se);const me=S=>{S.key==="Escape"&&e.onClose()};this.root.addEventListener("keydown",me),this._cleanups.push(()=>this.root.removeEventListener("keydown",me)),t.appendChild(this.root)}addMessage(t){const e=this._options.renderMessageUISpec?.(t)??null;if(!(t.content||t.attachment||e||t.role==="user"&&this._onRollback))return;const a=document.createElement("div");if(a.className=`gengage-chat-bubble gds-message ${t.role==="assistant"?"gds-message-assistant":"gds-message-user"} gengage-chat-bubble--${t.role}`,a.dataset.gengagePart=t.role==="assistant"?"chat-message-assistant":"chat-message-user",a.setAttribute("role","listitem"),a.dataset.messageId=t.id,t.threadId&&(a.dataset.threadId=t.threadId),this._firstBotMessageIds.has(t.id)&&a.classList.add("gengage-chat-bubble--first"),t.attachment){const n=document.createElement("img");n.className="gengage-chat-attachment-thumb";const i=URL.createObjectURL(t.attachment);n.src=i,n.alt=t.attachment.name,n.addEventListener("load",()=>URL.revokeObjectURL(i),{once:!0}),n.addEventListener("error",()=>URL.revokeObjectURL(i),{once:!0}),a.insertBefore(n,a.firstChild)}if(t.content){const n=document.createElement("div");if(n.className="gengage-chat-bubble-text",n.dataset.gengagePart="chat-message-text",t.role==="assistant"){if(t.renderHint==="photo_analysis"?(a.classList.add("gengage-chat-bubble--photo-analysis"),this._renderPhotoAnalysisCard(n,t.photoAnalysis)):n.innerHTML=ye(t.content),this._onLinkClick){const i=n.querySelectorAll("a[href]");for(const r of i)r.addEventListener("click",o=>{o.preventDefault();const s=r.getAttribute("href");s&&this._onLinkClick?.(s)})}}else n.textContent=t.content;a.appendChild(n)}if(e&&(a.classList.add("gengage-chat-bubble--ui-spec"),t.content||a.classList.add("gengage-chat-bubble--ui-spec-only"),e.classList.add("gengage-chat-bubble-ui-spec"),(e.classList.contains("gengage-chat-panel-restore-card")||e.querySelector(".gengage-chat-panel-restore-card")!==null)&&a.classList.add("gengage-chat-bubble--panel-restore"),a.appendChild(e)),t.role==="user"&&this._onRollback){const n=document.createElement("button");n.className="gengage-chat-rollback-btn gds-btn gds-btn-ghost",n.dataset.gengagePart="chat-message-rollback",n.type="button",n.setAttribute("aria-label",this.i18n.rollbackAriaLabel),n.title=this.i18n.rollbackAriaLabel,n.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="1 4 1 10 7 10"/><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"/></svg>',n.addEventListener("click",i=>{i.stopPropagation(),this._onRollback?.(t.id)}),a.appendChild(n)}this.messagesEl.appendChild(a),this._presentationFocusThreadId&&this._applyPresentationCollapsed(),this._scrollToBottom(t.role==="user")}removeMessageBubble(t){this._firstBotMessageIds.delete(t),this.messagesEl.querySelector(`[data-message-id="${ve(t)}"]`)?.remove(),this._presentationFocusThreadId&&this._applyPresentationCollapsed()}showTypingIndicator(t,e="auto"){this.removeTypingIndicator();const a=this._thinkingSteps.length>0?this._thinkingSteps.slice(-3):t?[t]:this.i18n.loadingSequenceGeneric,{root:n,binding:i}=this._createLoadingSequence("chat",a,"chat-typing-indicator","gengage-chat-typing");n.dataset.typing="true",this._typingLoadingBinding=i,this.messagesEl.appendChild(n),this.setTypingIndicatorMode(e),this._scrollToBottom(!0)}addThinkingStep(t){const e=t.trim();e&&this._thinkingSteps[this._thinkingSteps.length-1]!==e&&(this._thinkingSteps.push(e),this._thinkingSteps=this._thinkingSteps.slice(-3),this._typingLoadingBinding&&this._applyLoadingSteps(this._typingLoadingBinding,this._thinkingSteps,!0),this._panelLoadingBinding&&this._applyLoadingSteps(this._panelLoadingBinding,this._thinkingSteps,!0),this._panelAiZoneLoadingBinding&&this._applyLoadingSteps(this._panelAiZoneLoadingBinding,this._thinkingSteps,!0))}setThinkingSteps(t){const e=t.map(a=>a.trim()).filter(Boolean).slice(-3);e.length!==0&&(this._thinkingSteps=e,this._typingLoadingBinding&&this._applyLoadingSteps(this._typingLoadingBinding,this._thinkingSteps,!0),this._panelLoadingBinding&&this._applyLoadingSteps(this._panelLoadingBinding,this._thinkingSteps,!0),this._panelAiZoneLoadingBinding&&this._applyLoadingSteps(this._panelAiZoneLoadingBinding,this._thinkingSteps,!0))}removeTypingIndicator(){this._destroyLoadingBinding(this._typingLoadingBinding),this._typingLoadingBinding=null,this.messagesEl.querySelector(".gengage-chat-typing")?.remove(),this._thinkingSteps=[],this.hideStopButton()}setTypingIndicatorMode(t){const e=this.messagesEl.querySelector(".gengage-chat-typing"),a=this._typingLoadingBinding;if(!e||!a)return;const n=t==="auto"?this._panelOwnsProgressSurface()?"presence":"full":t;e.dataset.progressMode!==n&&(e.classList.toggle("gengage-chat-typing--presence",n==="presence"),e.dataset.progressMode=n,n==="presence"?(a.labelEl.setAttribute("aria-hidden","true"),a.labelEl.classList.add("gengage-sr-only"),e.setAttribute("aria-label",this.i18n.loadingMessage)):(a.labelEl.removeAttribute("aria-hidden"),a.labelEl.classList.remove("gengage-sr-only"),e.removeAttribute("aria-label")))}_panelOwnsProgressSurface(){return(this._options.getMobileViewport?.()??window.innerWidth<=768)||!this._panelVisible||this._panelCollapsed?!1:this._panelLoadingBinding!==null||this._panelAiZoneLoadingBinding!==null}showStopButton(t){this._sendStopHandler=t,this.sendBtn.disabled=!1,this.sendBtn.classList.add("gengage-chat-send--stop","gds-btn-secondary"),this.sendBtn.classList.remove("gds-btn-primary"),this.sendBtn.setAttribute("aria-label",this.i18n.stopGenerating),this.sendBtn.dataset.tooltip=this.i18n.stopGenerating,this._renderSendButtonIcon("stop")}hideStopButton(){this._sendStopHandler=null,this.sendBtn.classList.remove("gengage-chat-send--stop","gds-btn-secondary"),this.sendBtn.classList.add("gds-btn-primary"),this.sendBtn.setAttribute("aria-label",this.i18n.sendButton),this.sendBtn.dataset.tooltip=this.i18n.sendButton,this._renderSendButtonIcon("send"),this._updateSendEnabled()}showError(t,e){const a=document.createElement("div");a.className="gengage-chat-error",a.setAttribute("role","alert");const n=document.createElement("span");if(n.textContent=t??this.i18n.errorMessage,a.appendChild(n),e){const i=document.createElement("button");i.className="gengage-chat-error-retry",i.textContent=this.i18n.retryButton??"Retry",i.addEventListener("click",()=>{a.remove(),e()}),a.appendChild(i)}this.messagesEl.appendChild(a),this._scrollToBottom(!0)}showErrorWithRecovery(t,e){this.showError(t),this.setRecoveryPills(e)}showRecoveryPillsOnly(t){this.setRecoveryPills(t)}setRecoveryPills(t){this.setPills([{label:this.i18n.tryAgainButton,onAction:t.onRetry},{label:this.i18n.askSomethingElseButton,onAction:t.onNewQuestion}])}clearMessages(){const t=this._formerMessagesBtn;for(const e of[...this.messagesEl.children])e!==t&&e.remove()}setPills(t){const e=this._pillsEl.querySelector(".gengage-chat-pills-scroll");if(!e)return;for(;e.firstChild;)e.removeChild(e.firstChild);if(t.length===0){this._pillsEl.style.display="none";return}this._pillsEl.style.display="";for(const n of t){const i=document.createElement("button");if(i.className=n.image?"gengage-chat-pill gds-chip gds-chip-active gengage-chat-pill--rich":"gengage-chat-pill gds-chip gds-chip-active",i.type="button",n.icon){const o=Ha[n.icon]??za,s=document.createElement("span");s.className="gengage-chat-pill-icon",s.innerHTML=o,i.appendChild(s)}if(n.image&&we(n.image)){const o=document.createElement("img");o.className="gengage-chat-pill-img",o.src=n.image,o.alt="",i.appendChild(o)}const r=document.createElement("span");if(r.className="gengage-chat-pill-text",r.textContent=n.label,i.appendChild(r),n.description){const o=document.createElement("span");o.className="gengage-chat-pill-desc";const s=`pill-desc-${Math.random().toString(36).slice(2,9)}`;o.id=s,o.textContent=n.description,i.appendChild(o),i.setAttribute("aria-describedby",s)}i.addEventListener("click",()=>n.onAction()),e.appendChild(i)}const a=this._pillsEl.querySelector(".gengage-chat-pills-arrow");a&&requestAnimationFrame(()=>{a.style.display=e.scrollWidth>e.clientWidth?"":"none"})}focusInput(){this.inputEl.focus()}showKvkkBanner(t,e){this._kvkkSlot.innerHTML="";const a=Cl({htmlContent:t,onDismiss:e,closeAriaLabel:this.i18n.closeAriaLabel});this._kvkkSlot.appendChild(a)}hideKvkkBanner(){this._kvkkSlot.innerHTML=""}isKvkkBannerVisible(){return this._kvkkSlot.childNodes.length>0}getElement(){return this.root}openAttachmentPicker(){this._fileInput.click()}setAttachmentControlsVisible(t){this._attachWrapEl&&(this._attachWrapEl.style.display=t?"":"none",t||this._closeAttachMenu())}setBeautyPhotoStepCard(t){this._beautyPhotoStepEl=Al(this._beautyPhotoStepEl,this._conversationEl??null,t,this.i18n,()=>this.openAttachmentPicker())}stageAttachment(t){this._pendingAttachment=t,this._previewName.textContent=t.name;const e=this._previewStrip.querySelector(".gengage-chat-attachment-preview-thumb");e&&(e.src&&e.src.startsWith("blob:")&&URL.revokeObjectURL(e.src),e.src=URL.createObjectURL(t)),this._previewStrip.classList.remove("gengage-chat-attachment-preview--hidden"),this._updateSendEnabled()}clearAttachment(){const t=this._previewStrip.querySelector(".gengage-chat-attachment-preview-thumb");t?.src&&(URL.revokeObjectURL(t.src),t.src=""),this._pendingAttachment=null,this._previewStrip.classList.add("gengage-chat-attachment-preview--hidden"),this._updateSendEnabled()}_routeAttachmentFile(t){if(this._onAttachment)try{this._onAttachment(t)}catch(e){console.error("[gengage:chat] Attachment callback error:",e)}else this.stageAttachment(t)}_closeAttachMenu(){this._attachMenuEl&&(this._attachMenuEl.setAttribute("hidden",""),this._attachBtn?.setAttribute("aria-expanded","false"),this._attachMenuClickTimerId!==null&&(clearTimeout(this._attachMenuClickTimerId),this._attachMenuClickTimerId=null),this._attachMenuCleanup&&(this._attachMenuCleanup(),this._attachMenuCleanup=null))}_openAttachMenu(){if(!this._attachMenuEl)return;this._attachMenuEl.removeAttribute("hidden"),this._attachBtn?.setAttribute("aria-expanded","true");const t=a=>{this._attachWrapEl?.contains(a.target)||this._closeAttachMenu()},e=a=>{a.key==="Escape"&&(a.stopPropagation(),this._closeAttachMenu())};this._attachMenuClickTimerId=window.setTimeout(()=>{this._attachMenuClickTimerId=null,document.addEventListener("click",t,!0)},0),document.addEventListener("keydown",e,!0),this._attachMenuCleanup=()=>{document.removeEventListener("click",t,!0),document.removeEventListener("keydown",e,!0)}}_toggleAttachMenu(){this._attachMenuEl&&(this._attachMenuEl.hasAttribute("hidden")?this._openAttachMenu():this._closeAttachMenu())}async _pasteImageFromClipboardMenu(t){const e=await Rl(t);if(e){this._routeAttachmentFile(e),this._closeAttachMenu();return}ue("gengage:global:error",{message:this.i18n.clipboardNoImageMessage,source:"chat"}),this._closeAttachMenu()}getPendingAttachment(){return this._pendingAttachment}setPanelAiZoneState(t,e){if(this._panelAiZoneEl.isConnected&&(this._clearPanelAiZoneState(),t!=="hidden")){if(this._panelAiZoneEl.removeAttribute("hidden"),t==="analyzing"){this._panelAiZoneEl.innerHTML="";const a=[e?.analyzingLabel??this.i18n.aiAnalysisAnalyzingLabel,...this.i18n.loadingSequencePanel],{root:n,binding:i}=this._createLoadingSequence("panel",this._thinkingSteps.length>0?this._thinkingSteps.slice(-3):a,"panel-ai-zone-loading","gengage-chat-panel-ai-zone-inner");this._panelAiZoneLoadingBinding=i,this._panelAiZoneEl.appendChild(n)}else t==="results"&&e?.resultEl&&(this._panelAiZoneEl.innerHTML="",this._panelAiZoneEl.appendChild(e.resultEl));this.setTypingIndicatorMode("auto")}}_clearPanelAiZoneState(){this._destroyLoadingBinding(this._panelAiZoneLoadingBinding),this._panelAiZoneLoadingBinding=null,this._panelAiZoneEl.innerHTML="",this._panelAiZoneEl.setAttribute("hidden",""),this.setTypingIndicatorMode("auto")}_resetPanelAiZoneElement(){this._panelAiZoneEl=document.createElement("div"),this._panelAiZoneEl.className="gengage-chat-panel-ai-zone",this._panelAiZoneEl.setAttribute("hidden","")}_emitHostShellSync(){this.setTypingIndicatorMode("auto"),this._onHostShellSync?.()}_applyPanelCollapsedState(){this._panelEl.classList.toggle("gengage-chat-panel--collapsed",this._panelCollapsed);const t=this._dividerEl.querySelector(".gengage-chat-panel-divider-toggle");t&&(t.textContent=this._panelCollapsed?"«":"»")}_syncPanelTopBarFromContent(t){const e=t.querySelector(".gengage-chat-product-grid-head");if(e){const a=e.querySelector(".gengage-chat-product-grid-head-title"),n=e.querySelector(".gengage-chat-product-grid-head-actions");if(a?.textContent?.trim()){const i=a.textContent.trim();t.dataset.gengagePanelDerivedTitle=i,this._panelTopBar.setTitle(i)}n?(n.classList.add("gengage-chat-panel-topbar-toolbar-host"),this._panelTopBar.setActions(n)):this._panelTopBar.setActions(null),e.remove();return}this._syncPanelTopBarTitleFromContent(t)}_syncPanelTopBarTitleFromContent(t){const e=t.dataset.gengagePanelDerivedTitle;if(e?.trim()){this._panelTopBar.setTitle(e.trim());return}const a=t.querySelector(".gengage-chat-product-details-title, .gengage-chat-product-details-similars-heading, .gengage-chat-ai-top-picks-title")?.textContent?.trim();a&&this._panelTopBar.setTitle(a)}setPanelContent(t,e){this._destroyLoadingBinding(this._panelLoadingBinding),this._panelLoadingBinding=null,e?.preserveAiZone!==!0&&this._clearPanelAiZoneState(),this._panelVisible?this._swapPanelContent(t):(this._panelEl.innerHTML="",this._resetPanelAiZoneElement(),this._panelEl.appendChild(this._panelTopBar.getElement()),this._panelEl.appendChild(this._panelAiZoneEl),this._panelTopBar.setActions(null),this._panelEl.appendChild(t),this._panelEl.appendChild(this._panelFloatingEl)),this._syncPanelTopBarFromContent(t),this._dividerEl.classList.remove("gengage-chat-panel-divider--hidden"),this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this.root.classList.add("gengage-chat-drawer--with-panel"),this._panelCollapsed&&this.setPanelCollapsed(!1),this._syncComparisonDockVisibility(),requestAnimationFrame(()=>{this._updateScrollAffordance(),this._smoothScrollPanelListToTop()}),this._reopenPanelBtn&&(this._reopenPanelBtn.style.display="none"),this._emitHostShellSync()}_swapPanelContent(t){this._panelTopBar.setActions(null);const e=this._panelEl.querySelector(".gengage-chat-panel-skeleton");if(e){e.replaceWith(t);return}const a=this.getPanelContentElement();if(a){a.replaceWith(t);return}this._panelEl.insertBefore(t,this._panelFloatingEl)}appendPanelContent(t){this._panelEl.insertBefore(t,this._panelFloatingEl),this._syncPanelTopBarFromContent(this.getPanelContentElement()??t),this._dividerEl.classList.remove("gengage-chat-panel-divider--hidden"),this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this.root.classList.add("gengage-chat-drawer--with-panel"),this.setPanelCollapsed(this._panelCollapsed),this._syncComparisonDockVisibility(),this._emitHostShellSync()}getPanelContentElement(){const t=this._panelEl.children;for(let e=0;e<t.length;e++){const a=t[e];if(!(a.classList.contains("gengage-chat-panel-topbar")||a.classList.contains("gengage-chat-panel-ai-zone")||a.classList.contains("gengage-chat-panel-float")))return a}return null}resyncPanelTopBarFromCurrentContent(){const t=this.getPanelContentElement();t&&this._syncPanelTopBarFromContent(t)}isPanelVisible(){return this._panelVisible}hasPanelContent(){return this._panelVisible&&this.getPanelContentElement()!==null}isPanelLoading(){return this._panelEl.querySelector(".gengage-chat-panel-skeleton")!==null}showPanelLoading(t){this._destroyLoadingBinding(this._panelLoadingBinding),this._panelLoadingBinding=null,this._dividerEl.classList.remove("gengage-chat-panel-divider--hidden"),this._panelEl.innerHTML="",this._resetPanelAiZoneElement(),this._panelEl.appendChild(this._panelTopBar.getElement()),this._panelEl.appendChild(this._panelAiZoneEl);const e=document.createElement("div");e.className="gengage-chat-panel-skeleton";const a=t==="comparisonTable"?this.i18n.loadingSequenceComparison:this.i18n.loadingSequencePanel,{root:n,binding:i}=this._createLoadingSequence("panel",this._thinkingSteps.length>0?this._thinkingSteps.slice(-3):a,"panel-loading-status","gengage-chat-panel-loading-status");switch(this._panelLoadingBinding=i,t){case"productDetails":{e.appendChild(n);const r=document.createElement("div");r.className="gengage-chat-panel-skeleton-block gengage-chat-panel-skeleton-block--image",e.appendChild(r);for(let o=0;o<3;o++){const s=document.createElement("div");s.className="gengage-chat-panel-skeleton-block gengage-chat-panel-skeleton-block--text",e.appendChild(s)}break}case"productList":case"groupList":{e.appendChild(n);const r=document.createElement("div");r.className="gengage-chat-panel-skeleton-grid";for(let o=0;o<6;o++){const s=document.createElement("div");s.className="gengage-chat-panel-skeleton-block gengage-chat-panel-skeleton-block--card",r.appendChild(s)}e.appendChild(r);break}case"comparisonTable":{e.classList.add("gengage-chat-panel-skeleton--comparison"),e.appendChild(n);const r=document.createElement("div");r.className="gengage-chat-comparison gengage-chat-comparison--skeleton",r.setAttribute("aria-busy","true");const o=document.createElement("div");o.className="gengage-chat-comparison-recommended";const s=document.createElement("div");s.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-label",o.appendChild(s);const c=document.createElement("div");c.className="gengage-chat-comparison-recommended-body";const l=document.createElement("div");l.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-img",l.setAttribute("aria-hidden","true");const p=document.createElement("div");p.className="gengage-chat-comparison-recommended-info";for(let w=0;w<2;w++){const E=document.createElement("div");E.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-title",w===1&&E.classList.add("gengage-chat-comparison-skeleton-rec-title--short"),p.appendChild(E)}const d=document.createElement("div");d.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-price",p.appendChild(d),c.appendChild(l),c.appendChild(p),o.appendChild(c);const h=document.createElement("div");h.className="gengage-chat-comparison-highlights";const f=document.createElement("div");f.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-hl-label",h.appendChild(f);const b=document.createElement("ul");b.className="gengage-chat-comparison-skeleton-hl-list";for(let w=0;w<3;w++){const E=document.createElement("li"),z=document.createElement("div");z.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-hl-line",w===1&&z.classList.add("gengage-chat-comparison-skeleton-hl-line--medium"),w===2&&z.classList.add("gengage-chat-comparison-skeleton-hl-line--short"),E.appendChild(z),b.appendChild(E)}h.appendChild(b),o.appendChild(h),r.appendChild(o);const m=document.createElement("div");m.className="gengage-chat-comparison-key-differences";const u=document.createElement("div");u.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-kd-heading",m.appendChild(u);const g=document.createElement("div");g.className="gengage-chat-comparison-key-differences-content";for(let w=0;w<4;w++){const E=document.createElement("div");E.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-kd-line",g.appendChild(E)}m.appendChild(g),r.appendChild(m);const v=document.createElement("div");v.className="gengage-chat-comparison-special gengage-chat-comparison-special--skeleton";const _=document.createElement("div");_.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-special-line",v.appendChild(_),r.appendChild(v);const y=document.createElement("div");y.className="gengage-chat-comparison-skeleton-table-wrap";const k=document.createElement("div");k.className="gengage-chat-comparison-skeleton-table-head";const P=document.createElement("div");P.className="gengage-chat-comparison-skeleton-table-corner",k.appendChild(P);for(let w=0;w<3;w++){const E=document.createElement("div");E.className="gengage-chat-comparison-skeleton-table-col";const z=document.createElement("div");z.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-img";const V=document.createElement("div");V.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-name";const W=document.createElement("div");W.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-price",E.appendChild(z),E.appendChild(V),E.appendChild(W),k.appendChild(E)}y.appendChild(k);for(let w=0;w<3;w++){const E=document.createElement("div");E.className="gengage-chat-comparison-skeleton-table-row";const z=document.createElement("div");z.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-label",E.appendChild(z);for(let V=0;V<3;V++){const W=document.createElement("div");W.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-cell",E.appendChild(W)}y.appendChild(E)}r.appendChild(y),e.appendChild(r);break}default:e.appendChild(n);for(let r=0;r<3;r++){const o=document.createElement("div");o.className="gengage-chat-panel-skeleton-block",e.appendChild(o)}break}this._panelEl.appendChild(e),this._panelEl.appendChild(this._panelFloatingEl),this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this.root.classList.add("gengage-chat-drawer--with-panel"),this._applyPanelCollapsedState(),this._syncComparisonDockVisibility(),this._emitHostShellSync()}updatePanelTopBar(t,e,a){const n=this._options.getMobileViewport?.()??!1;this._panelTopBar.update(n?!0:t,e,a);const i=this.getPanelContentElement();i&&this._syncPanelTopBarTitleFromContent(i)}getPanelTopBarTitle(){return this._panelTopBar.getTitle()}updateFavoritesBadge(t){this._favBadgeEl&&(t>0?(this._favBadgeEl.textContent=t>99?"99+":String(t),this._favBadgeEl.style.display=""):this._favBadgeEl.style.display="none")}clearPanel(){this._destroyLoadingBinding(this._panelLoadingBinding),this._panelLoadingBinding=null,this._destroyLoadingBinding(this._panelAiZoneLoadingBinding),this._panelAiZoneLoadingBinding=null,this._panelEl.innerHTML="",this._resetPanelAiZoneElement(),this._panelEl.appendChild(this._panelTopBar.getElement()),this._panelEl.appendChild(this._panelAiZoneEl),this._panelEl.appendChild(this._panelFloatingEl),this._panelTopBar.setActions(null),this._panelVisible=!1,this._panelEl.classList.remove("gengage-chat-panel--visible","gengage-chat-panel--collapsed"),this.root.classList.remove("gengage-chat-drawer--with-panel"),this._dividerEl.classList.add("gengage-chat-panel-divider--hidden"),this._reopenPanelBtn&&(this._reopenPanelBtn.style.display="none"),this.setComparisonDockContent(null),this._emitHostShellSync()}_syncComparisonDockVisibility(){const t=this._panelVisible&&this._comparisonDockSlotEl.children.length>0;this._comparisonDockSlotEl.classList.toggle("gengage-chat-comparison-dock-slot--panel-visible",t),this._comparisonDockSlotEl.style.display=t?"":"none",this._comparisonDockSlotEl.setAttribute("aria-hidden",t?"false":"true")}setComparisonDockContent(t){this._comparisonDockSlotEl.replaceChildren(),t&&this._comparisonDockSlotEl.appendChild(t),this._syncComparisonDockVisibility()}hideMobilePanel(){this._panelVisible&&(this._panelVisible=!1,this._panelEl.classList.remove("gengage-chat-panel--visible"),this._reopenPanelBtn&&(this._reopenPanelBtn.style.display="flex"),this._syncComparisonDockVisibility(),this._emitHostShellSync())}_showMobilePanelFromBtn(){this._panelVisible||(this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this._reopenPanelBtn&&(this._reopenPanelBtn.style.display="none"),this._syncComparisonDockVisibility(),this._emitHostShellSync())}showMobilePanel(){this._showMobilePanelFromBtn()}expandPanel(){this._panelCollapsed=!1,this._panelEl.classList.remove("gengage-chat-panel--collapsed"),this._panelVisible||(this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this.root.classList.add("gengage-chat-drawer--with-panel")),this._syncComparisonDockVisibility(),this._emitHostShellSync()}setForceExpanded(){this._panelCollapsed=!1,this._panelEl.classList.remove("gengage-chat-panel--collapsed"),this._panelVisible||(this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this.root.classList.add("gengage-chat-drawer--with-panel")),this._dividerEl.classList.remove("gengage-chat-panel-divider--hidden"),this._syncComparisonDockVisibility(),this._emitHostShellSync()}_smoothScrollPanelListToTop(){this._panelEl.scrollTop=0}_getChoicePrompterRevealScrollThreshold(){if(!(this._options.getMobileViewport?.()??window.innerWidth<=768))return 88;const t=this._panelEl.querySelector(".gengage-chat-product-grid--mobile .gengage-chat-product-card, .gengage-chat-product-grid .gengage-chat-product-card"),e=this._panelEl.querySelector(".gengage-chat-product-card"),a=t??e;if(!a)return 88;const n=Math.round(a.getBoundingClientRect().height);return!Number.isFinite(n)||n<=0?88:n}_updateScrollAffordance(){const t=this._panelEl,e=t.scrollTop+t.clientHeight>=t.scrollHeight-10,a=this._getChoicePrompterRevealScrollThreshold();t.classList.toggle("gengage-chat-panel--has-scroll",!e&&t.scrollHeight>t.clientHeight),t.classList.toggle("gengage-chat-panel--scrolled",t.scrollTop>a)}_setupHorizontalSwipe(t){let e=0,a=0;const n=r=>{if(!(this._options.getMobileViewport?.()??window.innerWidth<=768))return;const o=r.touches[0];o&&(e=o.clientX,a=o.clientY)},i=r=>{if(!(this._options.getMobileViewport?.()??window.innerWidth<=768))return;const o=r.changedTouches[0];if(!o)return;const s=o.clientX-e,c=o.clientY-a;Math.abs(s)>50&&Math.abs(s)>Math.abs(c)*2&&(this.togglePanel(),this._onPanelToggle?.())};t.addEventListener("touchstart",n,{passive:!0}),t.addEventListener("touchend",i,{passive:!0}),this._cleanups.push(()=>{t.removeEventListener("touchstart",n),t.removeEventListener("touchend",i)})}togglePanel(){this.setPanelCollapsed(!this._panelCollapsed)}isPanelCollapsed(){return this._panelCollapsed}setPanelCollapsed(t){this._panelCollapsed=t,this._applyPanelCollapsedState(),this._emitHostShellSync()}persistPanelState(t){try{const e=`gengage:panel:${t}`;this._panelCollapsed?sessionStorage.setItem(e,"collapsed"):sessionStorage.removeItem(e)}catch{}}restorePanelState(t){try{const e=`gengage:panel:${t}`;if(sessionStorage.getItem(e)==="collapsed")return this._panelCollapsed=!0,!0}catch{}return!1}_createLoadingSequence(t,e,a,n){const i=document.createElement("div");i.className=`${n} gds-progress-loader ${t==="chat"?"gds-progress-loader-chat":"gds-progress-loader-panel"}`,i.dataset.gengagePart=a,i.setAttribute("role","status"),i.setAttribute("aria-live","polite");const r=document.createElement("span");r.className=t==="chat"?"gengage-chat-typing-text gds-progress-label":"gengage-chat-panel-loading-label gds-progress-label",i.appendChild(r);const o=document.createElement("span");o.className=t==="chat"?"gengage-chat-typing-dots gds-progress-dots":"gds-progress-dots",o.setAttribute("aria-hidden","true");for(let c=0;c<3;c++){const l=document.createElement("span");l.className="gds-progress-dot",o.appendChild(l)}i.appendChild(o);const s={labelEl:r,steps:[],index:0,intervalId:null};return this._applyLoadingSteps(s,e),{root:i,binding:s}}_applyLoadingSteps(t,e,a=!1){const n=e.map(r=>r.trim()).filter(Boolean).slice(-3),i=[this.i18n.loadingMessage];t.steps=n.length>0?n:i,this._clearLoadingBindingInterval(t),t.index=a?t.steps.length-1:0,t.labelEl.textContent=t.steps[t.index],!a&&t.steps.length>1&&(t.intervalId=setInterval(()=>{if(t.index>=t.steps.length-1){this._clearLoadingBindingInterval(t);return}t.index+=1,t.labelEl.textContent=t.steps[t.index],t.index>=t.steps.length-1&&this._clearLoadingBindingInterval(t)},zi))}_clearLoadingBindingInterval(t){t?.intervalId&&(clearInterval(t.intervalId),t.intervalId=null)}_destroyLoadingBinding(t){this._clearLoadingBindingInterval(t)}_updateSendEnabled(){if(this._sendStopHandler){this.sendBtn.disabled=!1;return}const t=this.inputEl.value.trim().length>0||this._pendingAttachment!==null;this.sendBtn.disabled=!t}_renderSendButtonIcon(t){this.sendBtn.innerHTML=t==="stop"?'<span class="gengage-chat-send-stop-icon" aria-hidden="true"></span>':'<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/></svg>'}_submit(){const t=this.inputEl.value.trim(),e=this._pendingAttachment;if(this._sendStopHandler){const a=this._sendStopHandler;if(this.hideStopButton(),a(),!t&&!e)return}else if(!t&&!e)return;this.onSend(t,e??void 0),this.inputEl.value="",this.inputEl.style.height="auto",this.clearAttachment(),this._updateSendEnabled()}_toggleVoice(){if(this._voiceInput)if(this._voiceInput.state==="listening"){const t=this._voiceInput.stop();t.trim()&&(this.inputEl.value=t,this._submit())}else this.inputEl.value="",this._voiceInput.start()}lockScrollForRestore(){this._scrollLockedUntil=Date.now()+500}_scrollToBottom(t=!1){!t&&this._userScrolledUp||!t&&this._options.presentation?.shouldBlockSoftAutoScroll?.()||!t&&Date.now()<this._scrollLockedUntil||requestAnimationFrame(()=>{this.messagesEl.scrollTop=this.messagesEl.scrollHeight,this._userScrolledUp=!1})}scrollToBottomIfNeeded(){this._scrollToBottom(!1)}updateBotMessage(t,e,a,n){const i=this.messagesEl.querySelector(`[data-message-id="${ve(t)}"]`);if(!i)return;let r=i.querySelector(".gengage-chat-bubble-text");r||(r=document.createElement("div"),r.className="gengage-chat-bubble-text",i.appendChild(r)),a==="photo_analysis"?(i.classList.add("gengage-chat-bubble--photo-analysis"),this._renderPhotoAnalysisCard(r,n)):(i.classList.remove("gengage-chat-bubble--photo-analysis"),r.innerHTML=ye(e)),this._scrollToBottom(!1)}markFirstBotMessage(t){this._firstBotMessageIds.add(t);const e=this.messagesEl.querySelector(`[data-message-id="${ve(t)}"]`);e&&e.classList.add("gengage-chat-bubble--first")}scrollToLastThread(){const t=this.messagesEl.querySelectorAll("[data-thread-id]");if(t.length===0){this._scrollToBottom(!0);return}const e=t[t.length-1].getAttribute("data-thread-id");if(!e){this._scrollToBottom(!0);return}this._programmaticScrollUntil=Date.now()+700;const a=this.messagesEl.querySelector(`[data-thread-id="${ve(e)}"]`);a?requestAnimationFrame(()=>{a.scrollIntoView({block:"start",behavior:"auto"}),this._userScrolledUp=!1}):this._scrollToBottom(!0)}scrollThreadIntoView(t,e="smooth"){const a=this.messagesEl.querySelectorAll(`[data-thread-id="${ve(t)}"]`),n=this.messagesEl.ownerDocument.defaultView?.HTMLElement;if(!n)return!1;let i=null,r=null;for(let c=0;c<a.length;c++){const l=a[c];if(l instanceof n&&(r||(r=l),!l.classList.contains("gengage-chat-bubble--presentation-collapsed")&&!l.classList.contains("gengage-chat-bubble--hidden")&&l.offsetHeight!==0&&!(l.classList.contains("gengage-chat-bubble--assistant")&&(l.textContent?.trim().length??0)===0))){i=l;break}}if(i||(i=r),!i)return!1;const o=Date.now();this._programmaticScrollUntil=o+Fa,this._scrollLockedUntil=Math.max(this._scrollLockedUntil,o+Fa),this._userScrolledUp=!0;const s=()=>{this._scrollMessagesTo(Math.max(i.offsetTop-20,0),e)};return s(),requestAnimationFrame(s),!0}scrollToBottomPresentation(t="smooth"){this._programmaticScrollUntil=Date.now()+700,requestAnimationFrame(()=>{this._scrollMessagesTo(this.messagesEl.scrollHeight,t),this._userScrolledUp=!1})}_scrollMessagesTo(t,e){if(typeof this.messagesEl.scrollTo=="function"){this.messagesEl.scrollTo({top:t,behavior:e});return}this.messagesEl.scrollTop=t}setPresentationFocus(t){this._presentationFocusThreadId=t,this._applyPresentationCollapsed()}setFormerMessagesButtonVisible(t){this._formerMessagesBtn&&(this._formerMessagesBtn.style.display=t?"":"none")}setInputPlaceholder(t){this.inputEl.placeholder=t}_applyPresentationCollapsed(){const t=this._presentationFocusThreadId;this.messagesEl.querySelectorAll("[data-thread-id]").forEach(e=>{const a=e.dataset.threadId;a&&(t&&a!==t?e.classList.add("gengage-chat-bubble--presentation-collapsed"):e.classList.remove("gengage-chat-bubble--presentation-collapsed"))})}refreshPresentationCollapsed(){this._presentationFocusThreadId&&this._applyPresentationCollapsed()}setInputAreaChips(t){if(this._inputChipsEl.innerHTML="",t.length===0){this._inputChipsEl.style.display="none";return}this._inputChipsEl.style.display="";for(const e of t){const a=document.createElement("button");if(a.className="gengage-chat-input-chip gds-chip",a.type="button",e.icon){const i=Ha[e.icon]??za,r=document.createElement("span");r.className="gengage-chat-input-chip-icon",r.innerHTML=i,a.appendChild(r)}const n=document.createElement("span");n.textContent=e.label,a.appendChild(n),a.addEventListener("click",()=>e.onAction()),this._inputChipsEl.appendChild(a)}}clearInputAreaChips(){this._inputChipsEl.innerHTML="",this._inputChipsEl.style.display="none"}trapFocus(){this._previouslyFocusedElement=document.activeElement,this.releaseFocus();const t=e=>{if(e.key!=="Tab")return;const a=Array.from(this.root.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(l=>{const p=getComputedStyle(l);return l.hidden||l.getAttribute("aria-hidden")==="true"||p.display==="none"||p.visibility==="hidden"?!1:l.getClientRects().length>0});if(a.length===0)return;const n=a[0],i=a[a.length-1],r=e.composedPath().find(l=>l instanceof HTMLElement&&this.root.contains(l))??null,o=this.root.getRootNode(),s=r??(o instanceof ShadowRoot&&o.activeElement instanceof HTMLElement?o.activeElement:document.activeElement instanceof HTMLElement?document.activeElement:null),c=s&&this.root.contains(s)?s:null;e.shiftKey?(c===n||!this.root.contains(c))&&(e.preventDefault(),i.focus()):(c===i||!this.root.contains(c))&&(e.preventDefault(),n.focus())};this._focusTrapHandler=t,this.root.addEventListener("keydown",t)}releaseFocus(){if(this._focusTrapHandler&&(this.root.removeEventListener("keydown",this._focusTrapHandler),this._focusTrapHandler=null),this._previouslyFocusedElement){try{this._previouslyFocusedElement.focus()}catch{}this._previouslyFocusedElement=null}}flashCartBadge(){this._cartBtn&&(this._cartBtn.classList.remove("gengage-chat-header-btn--cart-flash"),this._cartBtn.offsetWidth,this._cartBtn.classList.add("gengage-chat-header-btn--cart-flash"),this._cartBtn.addEventListener("animationend",()=>{this._cartBtn?.classList.remove("gengage-chat-header-btn--cart-flash")},{once:!0}))}showCartToast(t){this.root.querySelector(".gengage-chat-cart-toast")?.remove();const e=document.createElement("div");e.className="gengage-chat-cart-toast",e.setAttribute("role","status"),e.setAttribute("aria-live","polite"),e.textContent=t,this.root.appendChild(e),e.offsetWidth,e.classList.add("gengage-chat-cart-toast--visible"),setTimeout(()=>{e.classList.remove("gengage-chat-cart-toast--visible"),setTimeout(()=>e.remove(),300)},2500)}destroy(){Ci(null),this.releaseFocus(),this._resizeRafId!==null&&(cancelAnimationFrame(this._resizeRafId),this._resizeRafId=null),this._destroyLoadingBinding(this._typingLoadingBinding),this._typingLoadingBinding=null,this._destroyLoadingBinding(this._panelLoadingBinding),this._panelLoadingBinding=null,this._destroyLoadingBinding(this._panelAiZoneLoadingBinding),this._panelAiZoneLoadingBinding=null,this._closeAttachMenu();for(const t of this._cleanups)t();this._cleanups.length=0,this._voiceInput?.destroy(),this._voiceInput=null}}}));function Di(t){return t==="watch_expert"?"account_expert":Ui.includes(t)?t:null}function Hl(t){return typeof t=="string"?Di(t):null}function ke(t){return t==null||typeof t!="object"||Array.isArray(t)?null:t}function Fl(...t){for(const e of t)if(typeof e=="string"){const a=e.trim();if(a.length>0)return a}}function Dl(t){const e=ke(t);if(!e)return null;const a=Fl(e.assistant_mode,e.assistantMode);if(!a)return null;const n=Di(a);return!n||n==="shopping"?null:n}function Ul(t){return t==="beauty_consulting"?"user_message":"findSimilar"}var Ui,Oi=L((()=>{Ui=["shopping","beauty_consulting","account_expert"]})),qi,Ol=L((()=>{Oi(),ot(),qi=class{constructor(){this._mode="shopping",this._uiHints=null}get mode(){return this._mode}set mode(t){this._mode=t}get uiHints(){return this._uiHints}set uiHints(t){this._uiHints=t}get isShopping(){return this._mode==="shopping"}get isBeautyConsulting(){return this._mode==="beauty_consulting"}get isChoicePrompterHidden(){return this._uiHints?.hide_choice_prompter===!0}applyUiHints(t,e,a){const n=r=>this._uiHints?.[r]===!0;t?.setAttachmentControlsVisible(!n("hide_attachment_controls")),n("hide_choice_prompter")&&a?.();const i=typeof this._uiHints?.input_placeholder=="string"?this._uiHints.input_placeholder:void 0;i?t?.setInputPlaceholder(i):t?.setInputPlaceholder(e)}handleRedirect(t){Be("mode","redirect metadata received",t);const e=Dl(t);return e?(this.switchMode(e),!0):!1}switchMode(t){const e=this._mode;this._mode=t,Be("mode","assistant mode switched",{from:e,to:t})}updateFromContext(t){const e=t.assistant_mode;if(typeof e=="string"&&e){const a=Hl(e);a?this._mode=a:Be("mode","ignoring unrecognised assistant_mode from context",e)}else e===null&&(this._mode="shopping");this._uiHints=ke(t.ui_hints)??null}reset(){const t=this._mode!=="shopping";return this._mode="shopping",this._uiHints=null,t}resolveAttachmentActionType(){return Ul(this._mode)}shouldCondenseThinking(){return this._mode!=="shopping"}}}));function ql(){return{streamIncludedBeautyPhotoStep:!1,pendingPhotoStepSkip:!1}}function jl(t,e,a,n,i){if(t==="PhotoAnalysisCard"){const r=Ni(e);return r?(i.photoAnalysis=r,i.renderHint="photo_analysis",n.ensureRendered(),n.cancelTypewriter(),n.drawer?.updateBotMessage(i.id,i.content??"","photo_analysis",i.photoAnalysis),!0):(Be("beauty","PhotoAnalysisCard parse failed, falling through to generic renderer",e),!1)}if(t==="BeautyPhotoStep"){a.streamIncludedBeautyPhotoStep=!0;const r=Pl(e);return n.drawer?.setBeautyPhotoStepCard({visible:!0,...r,onSkip:()=>{n.drawer?.setBeautyPhotoStepCard({visible:!1}),n.streamDone?n.sendSkipMessage():a.pendingPhotoStepSkip=!0}}),!0}return!1}function $l(t){return t.renderHint==="photo_analysis"}function Vl(t,e){t.streamIncludedBeautyPhotoStep||e.drawer?.setBeautyPhotoStepCard({visible:!1}),t.pendingPhotoStepSkip&&(t.pendingPhotoStepSkip=!1,e.sendSkipMessage())}function Gl(t,e){t.pendingPhotoStepSkip&&(t.pendingPhotoStepSkip=!1,e.sendSkipMessage())}var Wl=L((()=>{Ra(),Ba(),ot()}));function Da(t){return Number.isFinite(t)?Math.max(0,Math.min(5,t)):0}function Ua(t){return Number.isFinite(t)?Math.max(0,Math.min(100,Math.round(t))):0}function Oa(t){const e=Da(t),a=Math.floor(e),n=e-a>=.5,i=5-a-(n?1:0),r=document.createElement("span");if(r.className="gengage-star-rating",r.setAttribute("role","img"),r.setAttribute("aria-label",`${e.toFixed(1)} out of 5 stars`),a>0&&r.appendChild(document.createTextNode("★".repeat(a))),n){const o=document.createElement("span");o.className="gengage-star-half",o.textContent="☆";const s=document.createElement("span");s.textContent="★",o.appendChild(s),r.appendChild(o)}return i>0&&r.appendChild(document.createTextNode("☆".repeat(i))),r}function Ce(t){t.addEventListener("error",()=>{t.style.display="none"},{once:!0})}var je=L((()=>{}));function te(t,e){const a=Number(t);if(!Number.isFinite(a)||a<0)return t;const n={...ji,...e},i=Math.abs(a%1)<Number.EPSILON,r=n.alwaysShowDecimals||!i?a.toFixed(2):a.toFixed(0),o=r.indexOf("."),s=o===-1?r:r.slice(0,o),c=o===-1?void 0:r.slice(o+1),l=s.replace(/\B(?=(\d{3})+(?!\d))/g,n.thousandsSeparator);let p;return c!==void 0?p=`${l}${n.decimalSeparator}${c}`:p=l,n.currencySymbol?n.currencyPosition==="prefix"?`${n.currencySymbol}${p}`:`${p} ${n.currencySymbol}`:p}var ji,ct=L((()=>{ji={currencyCode:"TRY",currencySymbol:"TL",currencyPosition:"suffix",thousandsSeparator:".",decimalSeparator:",",alwaysShowDecimals:!1}}));function Kl(t,e,a){return e?.[t]??Gi[t]??t.replace(/_/g," ").replace(/^./u,n=>Yl(n,a))}function Yl(t,e){try{return t.toLocaleUpperCase(He(e))}catch{return t.toLocaleUpperCase("tr")}}function $i(t){if(typeof t!="string")return!1;const e=Number(t);return Number.isFinite(e)&&e>0}function Ql(t){const e=typeof t=="number"?t:typeof t=="string"?Number(t):NaN;return Number.isFinite(e)&&e>0}function Zl(t){const e=typeof t=="number"?t:Number(t),a=document.createElement("div");a.className="gengage-chat-comparison-recommended-rating",a.innerHTML='<span class="gengage-chat-comparison-recommended-rating-icon" aria-hidden="true"><svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3.6l2.58 5.23 5.77.84-4.17 4.07.98 5.75L12 16.78l-5.16 2.71.99-5.75L3.66 9.67l5.76-.84L12 3.6z"/></svg></span>';const n=document.createElement("span");return n.className="gengage-chat-comparison-recommended-rating-value",n.textContent=e.toFixed(1),a.appendChild(n),a}function Xl(t){const{recommended:e,products:a,attributes:n,highlights:i,specialCases:r,onProductClick:o,i18n:s}=t,c=document.createElement("div");if(c.className="gengage-chat-comparison",c.dataset.gengagePart="comparison-dialog",c.setAttribute("role","dialog"),c.setAttribute("aria-label",s?.comparisonHeading??"Comparison Results"),e){const l=document.createElement("article");l.className="gengage-chat-comparison-recommended gds-card",l.dataset.gengagePart="comparison-recommended-card";const p=document.createElement("div");p.className="gengage-chat-comparison-recommended-label",p.textContent=s?.recommendedChoiceLabel??"Recommended Choice",l.appendChild(p);const d=document.createElement("div");d.className="gengage-chat-comparison-recommended-body",d.classList.add("gds-clickable"),d.tabIndex=0,d.setAttribute("role","button"),d.setAttribute("aria-label",e.name);const h=document.createElement("div");if(h.className="gengage-chat-comparison-recommended-media",e.imageUrl&&we(e.imageUrl)){const g=document.createElement("img");g.src=e.imageUrl,g.alt=e.name,g.loading="lazy",g.addEventListener("error",()=>{g.style.display="none"},{once:!0}),h.appendChild(g)}else{const g=document.createElement("div");g.className="gengage-chat-comparison-recommended-placeholder",g.setAttribute("aria-hidden","true"),h.appendChild(g)}d.appendChild(h);const f=document.createElement("div");f.className="gengage-chat-comparison-recommended-info";const b=document.createElement("div");b.className="gengage-chat-comparison-recommended-title",b.textContent=e.name,f.appendChild(b);const m=document.createElement("div");if(m.className="gengage-chat-comparison-recommended-meta",Ql(e.rating)&&m.appendChild(Zl(e.rating)),$i(e.price)){const g=document.createElement("div");g.className="gengage-chat-comparison-recommended-price",g.textContent=te(e.price,t.pricing),m.appendChild(g)}if(m.childElementCount>0&&f.appendChild(m),t.recommendedText){const g=document.createElement("p");g.className="gengage-chat-comparison-recommended-text",g.innerHTML=ye(t.recommendedText),f.appendChild(g)}d.appendChild(f);const u=()=>{o({sku:e.sku,name:e.name})};if(d.addEventListener("click",u),d.addEventListener("keydown",g=>{g.key!=="Enter"&&g.key!==" "||(g.preventDefault(),u())}),l.appendChild(d),i.length>0){const g=document.createElement("div");g.className="gengage-chat-comparison-highlights",g.dataset.gengagePart="comparison-highlights";const v=document.createElement("div");v.className="gengage-chat-comparison-highlights-label",v.textContent=s?.highlightsLabel??"Key Highlights",g.appendChild(v);const _=document.createElement("ul");for(const y of i){const k=document.createElement("li");k.textContent=y,_.appendChild(k)}g.appendChild(_),l.appendChild(g)}c.appendChild(l)}if(t.keyDifferencesHtml){const l=document.createElement("details");l.className="gengage-chat-comparison-key-differences",l.dataset.gengagePart="comparison-key-differences";const p=document.createElement("summary");p.className="gengage-chat-comparison-key-differences-summary";const d=document.createElement("span");d.className="gengage-chat-comparison-key-differences-summary-label",d.textContent=s?.keyDifferencesLabel??"Key Differences";const h=document.createElement("span");h.className="gengage-chat-comparison-key-differences-summary-meta",h.textContent=s?.viewMoreLabel??"Show More",p.appendChild(d),p.appendChild(h),l.appendChild(p);const f=document.createElement("div");f.className="gengage-chat-comparison-key-differences-content",f.innerHTML=ye(Jl(t.keyDifferencesHtml)),l.appendChild(f),c.appendChild(l)}if(r&&r.length>0){const l=document.createElement("details");l.className="gengage-chat-comparison-special gds-evidence-card gds-evidence-card-warning",l.dataset.gengagePart="comparison-special-cases";const p=document.createElement("summary");p.textContent=s?.specialCasesLabel??"For Special Cases",l.appendChild(p);const d=document.createElement("ul");for(const h of r)eg(d,h);d.childElementCount>0&&l.appendChild(d),c.appendChild(l)}if(a.length>0&&n.length>0){const l=document.createElement("table");l.className="gengage-chat-comparison-table gds-comparison-table";const p=document.createElement("thead"),d=document.createElement("tr"),h=document.createElement("th");d.appendChild(h);for(const m of a){const u=document.createElement("th");m.sku===e?.sku&&(u.className="gengage-chat-comparison-selected gds-comparison-table-winner-cell");const g=document.createElement("div");g.className="gengage-chat-comparison-table-header-cell gengage-chat-comparison-table-header-cell--clickable gds-clickable",g.tabIndex=0,g.setAttribute("role","button"),g.setAttribute("aria-label",m.name),g.title=m.name;const v=()=>{o({sku:m.sku,name:m.name})};if(g.addEventListener("click",v),g.addEventListener("keydown",y=>{y.key!=="Enter"&&y.key!==" "||(y.preventDefault(),v())}),m.imageUrl&&we(m.imageUrl)){const y=document.createElement("img");y.src=m.imageUrl,y.alt=m.name,y.loading="lazy",y.addEventListener("error",()=>{y.style.display="none"},{once:!0}),g.appendChild(y)}else{const y=document.createElement("div");y.className="gengage-chat-comparison-table-header-img-placeholder",y.setAttribute("aria-hidden","true"),g.appendChild(y)}const _=document.createElement("div");if(_.className="gengage-chat-comparison-table-product-name",_.textContent=m.name,g.appendChild(_),$i(m.price)){const y=document.createElement("div");y.className="gengage-chat-comparison-table-price",y.textContent=te(m.price,t.pricing),g.appendChild(y)}u.appendChild(g),d.appendChild(u)}p.appendChild(d),l.appendChild(p);const f=document.createElement("tbody");for(const m of n){const u=document.createElement("tr"),g=document.createElement("td");g.className="gengage-chat-comparison-label",g.textContent=Kl(m.label,s?.criteriaLabels,t.locale),u.appendChild(g);for(let v=0;v<m.values.length;v++){const _=document.createElement("td");a[v]?.sku===e?.sku&&(_.className="gengage-chat-comparison-selected gds-comparison-table-winner-cell");const y=m.values[v]??"";Vi(y)?_.innerHTML=ye(y):_.textContent=y,u.appendChild(_)}f.appendChild(u)}l.appendChild(f);const b=document.createElement("div");b.className="gengage-chat-comparison-table-wrapper",b.dataset.gengagePart="comparison-table-wrapper",b.appendChild(l),c.appendChild(b)}return c.addEventListener("keydown",l=>{if(l.key!=="Tab")return;const p=c.querySelectorAll('button, [href], input, [tabindex]:not([tabindex="-1"])');if(p.length===0)return;const d=p[0],h=p[p.length-1];l.shiftKey&&document.activeElement===d?(l.preventDefault(),h.focus()):!l.shiftKey&&document.activeElement===h&&(l.preventDefault(),d.focus())}),c}function Jl(t){if(/<[uo]l[\s>]/i.test(t)||/<li[\s>]/i.test(t))return t;const e=t.split(`
49
- `).filter(a=>a.trim());return e.length<=1?t:"<ul>"+e.map(a=>`<li>${a.trim()}</li>`).join("")+"</ul>"}function eg(t,e){const a=ye(e);if(!a)return;const n=document.createElement("template");n.innerHTML=a;const i=Array.from(n.content.querySelectorAll("li"));if(i.length>0){for(const o of i){const s=document.createElement("li");s.innerHTML=ye(o.innerHTML),t.appendChild(s)}return}const r=document.createElement("li");Vi(e)?r.innerHTML=a:r.textContent=e,t.appendChild(r)}function Vi(t){return/<\/?[a-z][\s\S]*>/i.test(t)}var Gi,tg=L((()=>{ge(),ct(),ht(),Gi={screen_size:"Screen Size",weight:"Weight",battery_capacity:"Battery Capacity",battery_life:"Battery Life",storage:"Storage",memory:"Memory",ram:"RAM",processor:"Processor",camera:"Camera",resolution:"Resolution",display_type:"Display Type",refresh_rate:"Refresh Rate",color:"Color",material:"Material",dimensions:"Dimensions",warranty:"Warranty",connectivity:"Connectivity",water_resistance:"Water Resistance",operating_system:"Operating System",brand:"Brand",model:"Model",price:"Price",energy_class:"Energy Class",noise_level:"Noise Level",capacity:"Capacity",power:"Power",voltage:"Voltage",width:"Width",height:"Height",depth:"Depth"}}));function vt(t,e=18){const a="http://www.w3.org/2000/svg",n=document.createElementNS(a,"svg");n.setAttribute("width",String(e)),n.setAttribute("height",String(e)),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("fill","none"),n.setAttribute("stroke","currentColor"),n.setAttribute("stroke-width","2"),n.setAttribute("stroke-linecap","round"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("aria-hidden","true");for(const i of t){const r=document.createElementNS(a,"path");r.setAttribute("d",i),n.appendChild(r)}return n}var Wi=L((()=>{}));function ag(t){if(typeof t!="string")return[Dt];const e=t.split(/[,;|/]+/).map(a=>a.trim().replace(/\s+/g," ")).filter(a=>a.length>0);return e.length===0?[Dt]:Array.from(new Set(e.map(a=>a.toLocaleLowerCase()))).map(a=>e.find(n=>n.toLocaleLowerCase()===a)??Dt)}function ng(t){return t==="positive"||t==="negative"||t==="neutral"?t:"neutral"}function ig(t){if(typeof t!="string")return"";const e=t.trim().replace(/\s+/g," ");return e.length<=qa?e:`${e.slice(0,qa-3).trimEnd()}...`}function rg(t){return t.positive>t.negative?"positive":t.negative>t.positive?"negative":"neutral"}function og(t){return vt(t==="positive"?["M7 17 17 7","M7 7h10v10"]:t==="negative"?["M7 7 17 17","M17 7v10H7"]:["M5 12h14"],14)}function sg(t,e="1 customer mentions",a="customers mention"){return t===1?e:`${t} ${a}`}function cg(t,e){const a=document.createElement("div");a.className="gengage-chat-review-highlights";const n=t.props?.reviews;if(!Array.isArray(n)||n.length===0){const m=document.createElement("div");return m.className="gengage-chat-review-empty",m.textContent=e?.emptyReviewsMessage??"No review summary found.",a.appendChild(m),a}const i=n.filter(m=>m!==null&&typeof m=="object"),r=new Map;for(const m of i){const u=ng(m.review_class),g=ig(m.review_text),v=ag(m.review_tag);for(const _ of v){const y=_.toLocaleLowerCase();let k=r.get(y);if(k||(k={key:y,label:_,mentions:0,positive:0,negative:0,neutral:0,snippets:[]},r.set(y,k)),k.mentions+=1,u==="positive"?k.positive+=1:u==="negative"?k.negative+=1:k.neutral+=1,g.length>0&&k.snippets.length<Ki&&!k.snippets.some(P=>P.text===g)){const P={text:g,tone:u};m.review_rating!==void 0&&String(m.review_rating).length>0&&(P.rating=m.review_rating),k.snippets.push(P)}}}const o=Array.from(r.values()).sort((m,u)=>u.mentions!==m.mentions?u.mentions-m.mentions:m.label.localeCompare(u.label));if(o.length===0){const m=document.createElement("div");return m.className="gengage-chat-review-empty",m.textContent=e?.emptyReviewsMessage??"No review summary found.",a.appendChild(m),a}const s=(e?.reviewFilterPositive??"positive").toLowerCase(),c=(e?.reviewFilterNegative??"negative").toLowerCase(),l=document.createElement("div");l.className="gengage-chat-review-subjects-heading",l.textContent=e?.reviewSubjectsHeading??"Select to learn more",a.appendChild(l);let p=o[0]?.key??null;const d=document.createElement("div");d.className="gengage-chat-review-subjects gds-toolbar gds-toolbar-compact";const h=document.createElement("section");h.className="gengage-chat-review-detail gds-evidence-card";const f=()=>{for(;h.firstChild;)h.removeChild(h.firstChild);if(!p)return;const m=o.find(_=>_.key===p);if(!m)return;const u=document.createElement("div");u.className="gengage-chat-review-detail-meta";const g=document.createElement("span");if(g.className="gengage-chat-review-detail-mentions",g.textContent=`${sg(m.mentions,e?.reviewCustomersMentionSingular,e?.reviewCustomersMentionPlural)} "${m.label}"`,u.appendChild(g),m.positive>0){const _=document.createElement("span");_.className="gengage-chat-review-detail-positive",_.textContent=`${m.positive} ${s}`,u.appendChild(_)}if(m.negative>0){const _=document.createElement("span");_.className="gengage-chat-review-detail-negative",_.textContent=`${m.negative} ${c}`,u.appendChild(_)}h.appendChild(u);const v=document.createElement("div");v.className="gengage-chat-review-snippets";for(const _ of m.snippets){const y=document.createElement("article");y.className="gengage-chat-review-snippet",y.dataset.tone=_.tone;const k=document.createElement("div");if(k.className="gengage-chat-review-snippet-text",k.textContent=`"${_.text}"`,y.appendChild(k),_.rating!==void 0&&String(_.rating).length>0){const P=document.createElement("div");P.className="gengage-chat-review-snippet-rating",P.textContent=`★ ${String(_.rating)}`,y.appendChild(P)}v.appendChild(y)}h.appendChild(v)},b=()=>{for(const m of d.querySelectorAll(".gengage-chat-review-subject")){const u=m.dataset.subjectKey===p;m.classList.toggle("gengage-chat-review-subject--active",u),m.classList.toggle("gds-chip-active",u),m.setAttribute("aria-pressed",String(u))}};for(const m of o){const u=rg(m),g=document.createElement("button");g.type="button",g.className="gengage-chat-review-subject gds-chip",g.dataset.subjectKey=m.key,g.dataset.tone=u;const v=document.createElement("span");v.className="gengage-chat-review-subject-icon",v.appendChild(og(u)),g.appendChild(v);const _=document.createElement("span");_.className="gengage-chat-review-subject-label",_.textContent=m.label,g.appendChild(_);const y=document.createElement("span");y.className="gengage-chat-review-subject-count",y.textContent=`(${m.mentions})`,g.appendChild(y),g.addEventListener("click",()=>{p=m.key,b(),f()}),d.appendChild(g)}return a.appendChild(d),b(),f(),a.appendChild(h),a}var Dt,qa,Ki,lg=L((()=>{Wi(),Dt="General",qa=220,Ki=6}));function gg(t){if(!t)return;const e=t.discountReason??t.discount_reason??t.campaignReason??t.campaign_reason;if(typeof e!="string")return;const a=e.trim();return a.length>0?a:void 0}function lt(t,e){if(t.productPriceUi?.showCampaignReason===!0)return gg(e)}function yt(t,e){const a=e?.originalPriceStyle??e?.price_original_style;if(a==="inline"||a==="strikethrough")return a;const n=t.productPriceUi?.originalPriceStyle;return n==="inline"||n==="strikethrough"?n:"strikethrough"}function Ut(t){const e=document.createElement("div");return e.className="gengage-chat-campaign-reason",e.textContent=t,e}function Ot(t,e){for(const n of["campaignReasonLogoUrl","campaign_reason_logo_url","discountBadgeLogoUrl","discount_badge_logo_url"]){const i=e?.[n];if(typeof i=="string"&&i.trim()){const r=i.trim();if(we(r))return r}}const a=t.productPriceUi?.campaignBadgeLogoUrl;if(typeof a=="string"&&a.trim()){const n=a.trim();if(we(n))return n}}function qt(t){const e=document.createElement("div");if(e.className="gengage-chat-campaign-price-badge",e.dataset.gengagePart="campaign-price-badge",t.logoUrl){const r=document.createElement("div");r.className="gengage-chat-campaign-price-badge__logo";const o=document.createElement("img");o.alt="",o.loading="lazy",o.src=t.logoUrl,Ce(o),r.appendChild(o),e.appendChild(r)}const a=document.createElement("div");a.className="gengage-chat-campaign-price-badge__body";const n=document.createElement("div");n.className="gengage-chat-campaign-price-badge__reason",n.textContent=t.reasonText;const i=document.createElement("span");return i.className="gengage-chat-campaign-price-badge__sale",i.textContent=t.salePriceFormatted,a.appendChild(n),a.appendChild(i),e.appendChild(a),e}var ja=L((()=>{ge(),je()}));function dg(){try{return globalThis.GENGAGE_TOPPICKS_MOBILE_LAYOUT==="uniform"}catch{return!1}}function Yi(t){const e=t.product.sku;if(typeof e=="string"&&e.length>0)return e;const a=t.action?.payload;return a&&typeof a=="object"&&"sku"in a&&typeof a.sku=="string"?a.sku:null}function Qi(t,e){if(!t||!e)return null;const a=Xi[t];return a?e[a]??t:t}function pg(t){const e=t.rating,a=typeof e=="number"?e:typeof e=="string"?parseFloat(e):NaN;if(Number.isNaN(a)||a<=0)return null;const n=document.createElement("div");n.className="gengage-chat-ai-toppick-rating",n.dataset.gengagePart="ai-top-pick-rating";const i=document.createElement("span");i.className="gengage-chat-ai-toppick-rating-icon",i.setAttribute("aria-hidden","true"),i.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3.6l2.58 5.23 5.77.84-4.17 4.07.98 5.75L12 16.78l-5.16 2.71.99-5.75L3.66 9.67l5.76-.84L12 3.6z"/></svg>';const r=document.createElement("span");return r.className="gengage-chat-ai-toppick-rating-value",r.textContent=a.toFixed(1),n.appendChild(i),n.appendChild(r),n}function hg(t,e,a,n,i){const r=document.createElement("div");r.className="gengage-chat-ai-toppick-media",r.dataset.gengagePart="ai-top-pick-media";const o=t.product,s=o.imageUrl;if(s&&we(s)){const l=document.createElement("img");l.className="gengage-chat-ai-toppick-img",l.dataset.gengagePart="ai-top-pick-image",he(l,"src",s),l.loading="lazy",l.alt=e,Ce(l),r.appendChild(l)}const c=Yi(t);if(c&&!i?.skipOverlayActions){const l=document.createElement("div");if(l.className="gengage-chat-product-card-img-actions",n.onFavoriteToggle){const f=document.createElement("button");f.className="gengage-chat-favorite-btn",f.type="button",f.dataset.gengageFavoriteSku=c,f.setAttribute("aria-label",n.i18n?.addToFavoritesLabel??"Add to favorites");const b=n.favoritedSkus?.has(c)??!1;b&&f.classList.add("gengage-chat-favorite-btn--active"),f.innerHTML=`<svg width="14" height="14" viewBox="0 0 24 24" fill="${b?"currentColor":"none"}" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`,f.addEventListener("click",m=>{m.stopPropagation(),f.classList.toggle("gengage-chat-favorite-btn--active"),f.querySelector("svg")?.setAttribute("fill",f.classList.contains("gengage-chat-favorite-btn--active")?"currentColor":"none"),n.onFavoriteToggle?.(c,o)}),l.appendChild(f)}const p=n.i18n?.findSimilarLabel??"Find Similar",d=document.createElement("button");d.className="gengage-chat-find-similar-pill",d.type="button",d.setAttribute("aria-label",p),d.dataset.tooltip=p,d.innerHTML='<span class="gengage-chat-find-similar-pill-icon" aria-hidden="true"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M16 16l5.5 5.5"/></svg></span>';const h=document.createElement("span");h.className="gengage-chat-find-similar-pill-text",h.textContent=p,d.appendChild(h),d.addEventListener("click",f=>{f.stopPropagation(),n.onAction({title:p,type:"findSimilar",payload:{sku:c}})}),l.appendChild(d),r.appendChild(l)}a.appendChild(r)}function ug(t,e,a){const n=t.price,i=t.originalPrice;if(!n)return;const r=lt(a,t),o=yt(a,t),s=!!(i&&i!==n),c=!!(r&&s),l=Ot(a,t),p=document.createElement("div");if(p.className="gengage-chat-ai-toppick-price",p.dataset.gengagePart="ai-top-pick-price",c){const d=qt({reasonText:r,salePriceFormatted:te(n,a.pricing),...l!==void 0?{logoUrl:l}:{}});if(s&&o==="inline"){p.classList.add("gengage-chat-ai-toppick-price--inline"),p.appendChild(d);const h=document.createElement("span");h.className="gengage-chat-ai-toppick-price-sep",h.setAttribute("aria-hidden","true");const f=document.createElement("span");f.className="gengage-chat-ai-toppick-original-price",f.textContent=te(i,a.pricing),p.appendChild(h),p.appendChild(f)}else{const h=document.createElement("span");h.className="gengage-chat-ai-toppick-original-price",h.textContent=te(i,a.pricing),p.appendChild(h),p.appendChild(document.createTextNode(" ")),p.appendChild(d)}e.appendChild(p);return}if(s&&o==="inline"){p.classList.add("gengage-chat-ai-toppick-price--inline");const d=document.createElement("span");d.className="gengage-chat-ai-toppick-price-current",d.textContent=te(n,a.pricing);const h=document.createElement("span");h.className="gengage-chat-ai-toppick-price-sep",h.setAttribute("aria-hidden","true");const f=document.createElement("span");f.className="gengage-chat-ai-toppick-original-price",f.textContent=te(i,a.pricing),p.appendChild(d),p.appendChild(h),p.appendChild(f)}else if(s){const d=document.createElement("span");d.className="gengage-chat-ai-toppick-original-price",d.textContent=te(i,a.pricing),p.appendChild(d),p.appendChild(document.createTextNode(" "));const h=document.createElement("span");h.className="gengage-chat-ai-toppick-price-current",h.textContent=te(n,a.pricing),p.appendChild(h)}else{const d=document.createElement("span");d.className="gengage-chat-ai-toppick-price-current",d.textContent=te(n,a.pricing),p.appendChild(d)}if(r){const d=document.createElement("div");d.className="gengage-chat-ai-toppick-price-stack",d.appendChild(Ut(r)),d.appendChild(p),e.appendChild(d)}else e.appendChild(p)}function mg(t,e,a){const n=typeof t.reason=="string"?t.reason.trim():"",i=a.hideUserReviews!==!0&&typeof t.reviewHighlight=="string"?t.reviewHighlight.trim():"";if(!(!n&&!i)){if(n){const r=document.createElement("p");r.className="gengage-chat-ai-toppick-reason",r.dataset.gengagePart="ai-top-pick-reason",r.textContent=n,e.appendChild(r)}if(i){const r=document.createElement("div");r.className="gengage-chat-ai-toppick-review",r.dataset.gengagePart="ai-top-pick-review",r.textContent=i,e.appendChild(r)}}}function Zi(t,e,a,n){const i=document.createElement("div");i.className=a?"gengage-chat-ai-toppick-card gengage-chat-ai-toppick-card--winner gds-card":"gengage-chat-ai-toppick-card gengage-chat-ai-toppick-card--compact gds-card";const r=n?.uniformMobileLayout===!0;!a&&r&&i.classList.add("gengage-chat-ai-toppick-card--mobile-uniform"),i.dataset.gengagePart=a?"ai-top-pick-card-winner":"ai-top-pick-card";const o=t.product,s=Yi(t),c=o.url??"",l=o.cartCode,p=o.inStock,d=!!(s&&l&&p!==!1),h=t.action;s&&e.onProductClick?(i.classList.add("gds-clickable"),i.addEventListener("click",w=>{if(w.target.closest(".gengage-chat-ai-toppick-cta")||w.target.closest(".gengage-chat-favorite-btn")||w.target.closest(".gengage-chat-find-similar-pill"))return;const E=o.name;e.onProductClick?.({sku:s,url:c,...E?{name:E}:{}})})):h&&(i.classList.add("gds-clickable"),i.addEventListener("click",w=>{w.target.closest(".gengage-chat-ai-toppick-cta")||w.target.closest(".gengage-chat-favorite-btn")||w.target.closest(".gengage-chat-find-similar-pill")||e.onAction(h)}));const f=o.name||"Product image",b=!a&&e.isMobile===!0&&!r,m=a?Qi(t.role,e.i18n)??e.i18n?.roleWinner??"TOP MATCH":Qi(t.role,e.i18n);if(m&&!b){const w=document.createElement("span");w.className="gengage-chat-ai-toppick-badge gds-badge",w.dataset.gengagePart="ai-top-pick-role-badge",w.textContent=m,i.appendChild(w)}const u=document.createElement("div");u.className="gengage-chat-ai-toppick-top-row",u.dataset.gengagePart="ai-top-pick-top-row",hg(t,f,u,e,{skipOverlayActions:b});const g=document.createElement("div");if(g.className="gengage-chat-ai-toppick-body",g.dataset.gengagePart="ai-top-pick-body",m&&b){const w=document.createElement("div");w.className="gengage-chat-ai-toppick-role-line",w.dataset.gengagePart="ai-top-pick-role-line",w.textContent=m,g.appendChild(w)}const v=o.name;if(v){const w=document.createElement("div");w.className="gengage-chat-ai-toppick-name",w.dataset.gengagePart="ai-top-pick-name",w.textContent=v,g.appendChild(w)}const _=pg(o);_&&g.appendChild(_),ug(o,g,e),t.labels&&t.labels.length>0&&g.appendChild(bg(t.labels)),u.appendChild(g),i.appendChild(u);const y=document.createElement("div");if(y.className="gengage-chat-ai-toppick-detail",y.dataset.gengagePart="ai-top-pick-detail",a)mg(t,y,e);else{const w=typeof t.reason=="string"?t.reason.trim():"";if(w){const E=document.createElement("p");E.className="gengage-chat-ai-toppick-snippet",E.dataset.gengagePart="ai-top-pick-snippet",E.textContent=w,y.appendChild(E)}}y.childNodes.length>0&&i.appendChild(y);const k=!!(s&&e.topPicksLoadingSku===s),P=(d||h)&&!b;if(k||d||h){const w=document.createElement("div");if(w.className="gengage-chat-ai-toppick-spinner",w.dataset.gengagePart="ai-top-pick-spinner",w.style.display=k?"":"none",i.appendChild(w),P){const E=document.createElement("button");E.className="gengage-chat-ai-toppick-cta gds-btn gds-btn-primary",E.dataset.gengagePart="ai-top-pick-cta",E.type="button",E.textContent=d?e.i18n?.addToCartButton??"Add to Cart":e.i18n?.viewDetails??"View Details",E.addEventListener("click",z=>{if(z.stopPropagation(),d){e.onAction({title:e.i18n?.addToCartButton??"Add to Cart",type:"addToCart",payload:{sku:s,cartCode:l,quantity:1}});return}if(h){if(h.type==="findSimilar"&&s&&e.onProductClick){const V=o.name;e.onProductClick({sku:s,url:c,...V?{name:V}:{}});return}e.onAction(h)}}),i.appendChild(E)}}return i}function fg(t,e){const a=document.createElement("div");a.className="gengage-chat-ai-top-picks",a.dataset.gengagePart="ai-top-picks";const n=t.props?.suggestions??[];if(n.length===0)return a;const i=document.createElement("div");i.className="gengage-chat-ai-top-picks-scroll",i.dataset.gengagePart="ai-top-picks-scroll";const r=e.isMobile===!0&&dg(),o=n[0];if(i.appendChild(Zi(o,e,!0,{uniformMobileLayout:r})),n.length>1){const s=document.createElement("div");s.className="gengage-chat-ai-top-picks-rest",r&&s.classList.add("gengage-chat-ai-top-picks-rest--uniform-mobile"),s.dataset.gengagePart="ai-top-picks-rest";for(let c=1;c<n.length;c++){const l=n[c],p=l.role==="winner";s.appendChild(Zi(l,e,p,{uniformMobileLayout:r}))}i.appendChild(s)}return a.appendChild(i),a}function bg(t){const e=document.createElement("div");e.className="gengage-chat-ai-toppick-labels",e.dataset.gengagePart="ai-top-pick-labels";for(const a of t){const n=document.createElement("span");n.className="gengage-chat-ai-toppick-label gds-chip",n.dataset.gengagePart="ai-top-pick-label",n.dataset.sentiment=a.sentiment??"neutral",n.textContent=a.label,e.appendChild(n)}return e}var Xi,vg=L((()=>{ct(),ge(),je(),ja(),Xi={winner:"roleWinner",best_value:"roleBestValue",best_alternative:"roleBestAlternative"}}));function yg(t,e){const a=document.createElement("div");a.className="gengage-chat-grounding-review gds-evidence-card",a.dataset.gengagePart="grounding-review-card";const n=t.props??{},i=n.title,r=n.reviewCount,o=n.action,s=e.i18n?.groundingReviewCta??"Read Reviews",c=document.createElement("span");c.className="gengage-chat-grounding-review-icon",c.appendChild(vt(["M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z","M8 9h8","M8 13h6"])),a.appendChild(c);const l=document.createElement("div");l.className="gengage-chat-grounding-review-body",l.dataset.gengagePart="grounding-review-body";const p=document.createElement("div");if(p.className="gengage-chat-grounding-review-title",p.dataset.gengagePart="grounding-review-title",p.textContent=i??e.i18n?.customerReviewsTitle??"Customer Reviews",l.appendChild(p),r){const b=document.createElement("div");b.className="gengage-chat-grounding-review-subtitle",b.dataset.gengagePart="grounding-review-subtitle",b.textContent=(e.i18n?.groundingReviewSubtitle??"{count} yorum mevcut").replace("{count}",r),l.appendChild(b)}a.appendChild(l);const d=document.createElement("span");d.className="gengage-chat-grounding-review-cta",d.dataset.gengagePart="grounding-review-cta";const h=document.createElement("span");h.textContent=s,d.appendChild(h);const f=document.createElement("span");return f.className="gengage-chat-grounding-review-cta-icon",f.appendChild(vt(["M5 12h14","M15 8l4 4-4 4"],14)),d.appendChild(f),a.appendChild(d),o&&(a.classList.add("gds-clickable"),a.setAttribute("role","button"),a.setAttribute("tabindex","0"),a.addEventListener("click",()=>e.onAction(o)),a.addEventListener("keydown",b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),e.onAction(o))})),a}var xg=L((()=>{Wi()}));function _g(t){const e=t.action.type;if(e!=="findSimilar")return t.action;const a=t.action.payload&&typeof t.action.payload=="object"?t.action.payload:null,n=typeof a?.input=="string"&&a.input.trim()||typeof a?.text=="string"&&a.text.trim()||t.name.trim();if(!n)return t.action;const i={...a??{},text:n,is_suggested_text:1};return typeof a?.input=="string"&&a.input.trim()?i.input=a.input:delete i.input,{title:t.action.title,type:e,payload:Bt(i)}}function wg(t,e){const a=document.createElement("div");a.className="gengage-chat-grouping-cards",a.dataset.gengagePart="ai-grouping-cards";const n=t.props?.entries??[];if(n.length===0)return a;const i=t.props?.sectionTitle,r=typeof i=="string"&&i.trim().length>0?i.trim():e.i18n?.aiBrowseCategoriesTitle;if(r){const s=document.createElement("h3");s.className="gengage-chat-grouping-section-title",s.textContent=r,a.appendChild(s)}const o=document.createElement("div");o.className="gengage-chat-grouping-cards-scroll",o.dataset.gengagePart="ai-grouping-cards-scroll";for(const s of n){const c=document.createElement("div");if(c.className="gengage-chat-grouping-card gds-card",c.dataset.gengagePart="ai-grouping-card",c.classList.add("gds-clickable"),c.addEventListener("click",()=>e.onAction(_g(s))),s.image&&we(s.image)){const h=document.createElement("img");h.className="gengage-chat-grouping-card-img",h.dataset.gengagePart="ai-grouping-card-image",h.draggable=!1,h.src=s.image,h.alt=s.name,h.width=64,h.height=64,c.appendChild(h)}const l=document.createElement("div");l.className="gengage-chat-grouping-card-body",l.dataset.gengagePart="ai-grouping-card-body";const p=document.createElement("span");if(p.className="gengage-chat-grouping-card-name",p.dataset.gengagePart="ai-grouping-card-name",p.textContent=s.name,l.appendChild(p),s.labels&&s.labels.length>0){const h=document.createElement("div");h.className="gengage-chat-grouping-card-labels",h.dataset.gengagePart="ai-grouping-card-labels";for(const f of s.labels.slice(0,2)){const b=document.createElement("span");b.className="gengage-chat-grouping-card-label gds-chip",b.textContent=f,h.appendChild(b)}l.appendChild(h)}c.appendChild(l);const d=document.createElement("span");d.className="gengage-chat-grouping-card-arrow",d.textContent="↳",c.insertBefore(d,c.firstChild),o.appendChild(c)}return a.appendChild(o),a}var kg=L((()=>{ge(),wa()}));function Cg(t,e){const a=document.createElement("div");a.className="gengage-chat-suggested-search-cards",a.dataset.gengagePart="ai-suggested-search-cards";const n=t.props?.entries??[];if(n.length===0)return a;for(const i of n){const r=document.createElement("div");if(r.className="gengage-chat-suggested-search-card gds-card",r.dataset.gengagePart="ai-suggested-search-card",r.classList.add("gds-clickable"),r.addEventListener("click",()=>e.onAction(i.action)),i.image&&we(i.image)){const c=document.createElement("img");c.className="gengage-chat-suggested-search-card-img",c.dataset.gengagePart="ai-suggested-search-card-image",c.src=i.image,c.alt=i.shortName,c.width=64,c.height=64,r.appendChild(c)}const o=document.createElement("div");o.className="gengage-chat-suggested-search-card-body",o.dataset.gengagePart="ai-suggested-search-card-body";const s=document.createElement("div");s.className="gengage-chat-suggested-search-card-name",s.dataset.gengagePart="ai-suggested-search-card-name",s.textContent=i.shortName,o.appendChild(s),r.appendChild(o),a.appendChild(r)}return a}var Sg=L((()=>{ge()}));function Ji(t,e){const a=t.length>=2,n=e.i18n?.compareSelected??"Compare",i=e.comparisonSelectionWarning,r=document.createElement("div");r.className="gengage-chat-comparison-floating-btn",r.dataset.gengagePart="comparison-dock";const o=document.createElement("div");o.className="gengage-chat-comparison-floating-summary";const s=document.createElement("span");s.className="gengage-chat-comparison-floating-count",s.textContent=String(t.length),o.appendChild(s);const c=document.createElement("div");c.className="gengage-chat-comparison-floating-copy";const l=document.createElement("div");if(l.className="gengage-chat-comparison-floating-title",l.textContent=a?`${n} (${t.length})`:e.i18n?.compareMinHint??"Select at least 2 products",c.appendChild(l),i){const d=document.createElement("div");d.className="gengage-chat-comparison-floating-warning",d.setAttribute("role","status"),d.setAttribute("aria-live","polite"),d.textContent=i,c.appendChild(d)}o.appendChild(c),r.appendChild(o);const p=document.createElement("button");if(p.className="gengage-chat-comparison-floating-action gds-btn gds-btn-primary",p.type="button",p.textContent=n,p.disabled=!a,a||p.classList.add("gengage-chat-comparison-floating-action--disabled"),p.addEventListener("click",()=>{a&&e.onAction({title:n,type:"getComparisonTable",payload:{sku_list:[...t],gengage_analytics_source:"floating_compare_dock"}})}),r.appendChild(p),e.onToggleComparisonSku){const d=document.createElement("button");d.className="gengage-chat-comparison-floating-close gds-btn gds-btn-ghost gds-icon-btn",d.dataset.gengagePart="comparison-dock-close",d.type="button",d.setAttribute("aria-label",e.i18n?.closeAriaLabel??"Close"),d.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" aria-hidden="true"><path d="M18 6L6 18"/><path d="M6 6l12 12"/></svg>',d.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),e.onToggleComparisonSku?.("")}),r.appendChild(d)}return r}var er=L((()=>{}));function Eg(t){const e=document.createElement("div");e.className="gengage-chat-pros-cons gds-card-soft",e.dataset.gengagePart="pros-cons";const a=t.props?.productName;if(a){const r=document.createElement("h4");r.className="gengage-chat-pros-cons-heading",r.textContent=a,e.appendChild(r)}const n=t.props?.pros,i=t.props?.cons;if(n&&n.length>0){const r=document.createElement("ul");r.className="gengage-chat-pros-cons-list",r.dataset.gengagePart="pros-list";for(const o of n){const s=document.createElement("li");s.className="gengage-chat-pros-cons-item",s.dataset.gengagePart="pros-item";const c=document.createElement("span");c.className="gengage-chat-pros-cons-icon gengage-chat-pros-cons-icon--pro",c.textContent="✓",s.appendChild(c);const l=document.createElement("span");l.textContent=o,s.appendChild(l),r.appendChild(s)}e.appendChild(r)}if(i&&i.length>0){const r=document.createElement("ul");r.className="gengage-chat-pros-cons-list",r.dataset.gengagePart="cons-list";for(const o of i){const s=document.createElement("li");s.className="gengage-chat-pros-cons-item",s.dataset.gengagePart="cons-item";const c=document.createElement("span");c.className="gengage-chat-pros-cons-icon gengage-chat-pros-cons-icon--con",c.textContent="✗",s.appendChild(c);const l=document.createElement("span");l.textContent=o,s.appendChild(l),r.appendChild(s)}e.appendChild(r)}return e}var Pg=L((()=>{}));function Tg(t){const e=[],a=new Set,n=(i,r)=>{if(typeof i!="string")return;const o=i.trim();if(!o)return;const s=o.toLowerCase();a.has(s)||(a.add(s),e.push({text:o,accent:r}))};n(t.highlight,!0);for(const i of t.labels??[])n(i,!1);return e.slice(0,tr)}function Ag(t){const e=Tg(t),a=typeof t.description=="string"?t.description.trim():"";if(!a&&e.length===0)return null;const n=document.createElement("div");if(n.className="gengage-chat-categories-group-summary",n.dataset.gengagePart="categories-group-summary",n.appendChild(Lg(t)),e.length>0&&n.appendChild(Ig(e)),a){const i=document.createElement("p");i.className="gengage-chat-categories-group-reason",i.dataset.gengagePart="categories-group-reason",i.textContent=a,n.appendChild(i)}return n}function Lg(t){const e=document.createElement("div");if(e.className="gengage-chat-categories-group-selection",e.dataset.gengagePart="categories-group-selection",t.image&&we(t.image)){const n=document.createElement("img");n.className="gengage-chat-categories-group-selection-image",n.draggable=!1,n.src=t.image,n.alt=t.groupName,n.loading="lazy",Ce(n),e.appendChild(n)}const a=document.createElement("div");return a.className="gengage-chat-categories-group-selection-title",a.textContent=t.groupName,e.appendChild(a),e}function Ig(t){const e=document.createElement("div");e.className="gengage-chat-categories-group-chips",e.dataset.gengagePart="categories-group-chips";for(const a of t){const n=document.createElement("span");n.className=a.accent?"gengage-chat-categories-group-chip gengage-chat-categories-group-chip--accent gds-chip gds-chip-active":"gengage-chat-categories-group-chip gds-chip",n.textContent=a.text,e.appendChild(n)}return e}function Ng(t,e){const a=t.props?.groups??[],n=t.props?.filterTags??[],i=`gengage-cat-${ar++}`,r=document.createElement("div");if(r.className="gengage-chat-categories",r.dataset.gengagePart="categories-container",a.length===0)return r;const o=document.createElement("div");o.className="gengage-chat-categories-tabs gds-toolbar",o.dataset.gengagePart="categories-tab-bar",o.setAttribute("role","tablist");const s=[],c=[],l=p=>{for(let d=0;d<s.length;d++){const h=d===p;s[d].classList.toggle("gengage-chat-categories-tab--active",h),s[d].classList.toggle("is-active",h),s[d].setAttribute("aria-selected",String(h)),s[d].tabIndex=h?0:-1,c[d].style.display=h?"":"none"}};for(let p=0;p<a.length;p++){const d=a[p],h=`${i}-tab-${p}`,f=`${i}-panel-${p}`,b=document.createElement("button");if(b.className="gengage-chat-categories-tab gds-tab",b.type="button",b.dataset.gengagePart="categories-tab",b.id=h,b.setAttribute("role","tab"),b.setAttribute("aria-controls",f),b.setAttribute("aria-selected",String(p===0)),b.tabIndex=p===0?0:-1,p===0&&b.classList.add("gengage-chat-categories-tab--active","is-active"),d.image&&we(d.image)){const _=document.createElement("img");_.className="gengage-chat-categories-tab-image",_.draggable=!1,_.src=d.image,_.alt=d.groupName,_.loading="lazy",Ce(_),b.appendChild(_)}const m=document.createElement("span");m.className="gengage-chat-categories-tab-text",m.textContent=d.groupName,b.appendChild(m),b.addEventListener("click",()=>l(p)),b.addEventListener("keydown",_=>{let y=-1;_.key==="ArrowRight"||_.key==="ArrowDown"?y=(p+1)%a.length:_.key==="ArrowLeft"||_.key==="ArrowUp"?y=(p-1+a.length)%a.length:_.key==="Home"?y=0:_.key==="End"&&(y=a.length-1),y>=0&&(_.preventDefault(),l(y),s[y].focus())}),s.push(b),o.appendChild(b);const u=document.createElement("div");u.className="gengage-chat-categories-panel",u.dataset.gengagePart="categories-panel",u.id=f,u.setAttribute("role","tabpanel"),u.setAttribute("aria-labelledby",h),p!==0&&(u.style.display="none");const g=Ag(d);g&&u.appendChild(g);const v=document.createElement("div");v.className="gengage-chat-categories-grid",v.dataset.gengagePart="categories-grid";for(const _ of d.products){const y=Mg(_,e);v.appendChild(y)}u.appendChild(v),c.push(u)}r.appendChild(o);for(const p of c)r.appendChild(p);if(n.length>0){const p=document.createElement("div");p.className="gengage-chat-categories-filter-tags gds-toolbar",p.dataset.gengagePart="categories-filter-tags";for(const d of n){const h=document.createElement("button");h.className="gengage-chat-categories-filter-tag gds-chip",h.type="button",h.dataset.gengagePart="categories-filter-tag",h.textContent=d.title,d.action&&h.addEventListener("click",()=>{e.onAction(d.action)}),p.appendChild(h)}r.appendChild(p)}return r}function Mg(t,e){const a=document.createElement("div");if(a.className="gengage-chat-product-card gds-card gds-product-card gds-card-interactive",a.dataset.gengagePart="categories-product-card",t.imageUrl&&we(t.imageUrl)){const r=document.createElement("img");r.className="gengage-chat-product-card-img",r.draggable=!1,r.src=t.imageUrl,r.alt=t.name,r.loading="lazy",Ce(r),a.appendChild(r)}const n=document.createElement("div");n.className="gengage-chat-product-card-body";const i=document.createElement("div");if(i.className="gengage-chat-product-card-name",i.textContent=t.name,n.appendChild(i),t.price){const r=document.createElement("div");r.className="gengage-chat-product-card-price",r.textContent=te(t.price,e.pricing),n.appendChild(r)}return a.appendChild(n),(e.onProductSelect||e.onAction)&&(a.classList.add("gds-clickable"),a.addEventListener("click",()=>{if(t.sku){e.onAction({title:t.name,type:"launchSingleProduct",payload:{sku:t.sku}});return}e.onProductSelect?.(t)})),a}var tr,ar,Bg=L((()=>{ge(),ct(),je(),tr=4,ar=0}));function Rg(t,e){const a=document.createElement("div");a.className="gengage-chat-handoff-notice gds-evidence-card gds-evidence-card-warning",a.dataset.gengagePart="handoff-notice",a.setAttribute("role","alert");const n=document.createElement("span");n.className="gengage-chat-handoff-notice-icon",n.textContent="👤",n.setAttribute("aria-hidden","true"),a.appendChild(n);const i=document.createElement("h4");i.className="gengage-chat-handoff-notice-heading",i.textContent=e.i18n?.handoffHeading??"Transferring to a support agent",a.appendChild(i);const r=t.props?.summary;if(r){const o=document.createElement("p");o.className="gengage-chat-handoff-notice-summary",o.textContent=r,a.appendChild(o)}return a}var zg=L((()=>{}));function $e(t){return typeof t=="string"?t:""}function Hg(t){return Array.isArray(t)?t.map(e=>{if(!e||typeof e!="object")return null;const a=e;return{imageUrl:$e(a.imageUrl)||void 0,name:$e(a.name)||void 0}}).filter(e=>e!==null):[]}function Fg(t,e){const a=t.props??{},n=$e(a.eyebrow),i=$e(a.title),r=a.showTitle!==!1,o=$e(a.ctaLabel)||e.i18n?.showPanelAriaLabel||"Show Results",s=$e(a.panelMessageId),c=$e(a.highlightMessageId),l=$e(a.threadId),p=Hg(a.products).slice(0,3),d=document.createElement("button");d.type="button",d.className="gengage-chat-panel-restore-card gds-card",!n&&!r&&d.classList.add("gengage-chat-panel-restore-card--minimal"),d.dataset.gengagePart="panel-restore-card";const h=i||n||o;d.setAttribute("aria-label",i?`${h} - ${o}`:h);const f={title:i,type:nr,payload:{panelMessageId:s,highlightMessageId:c,threadId:l}};if(d.addEventListener("click",()=>e.onAction(f)),n){const m=document.createElement("div");m.className="gengage-chat-panel-restore-card__eyebrow",m.textContent=n,d.appendChild(m)}if(p.length>0){const m=document.createElement("div");m.className="gengage-chat-panel-restore-card__previews";for(const u of p){const g=document.createElement("div");g.className="gengage-chat-panel-restore-card__thumb";const v=u.imageUrl;if(v&&pe(v)){const _=document.createElement("img");_.loading="lazy",_.alt=u.name||i,he(_,"src",v),Ce(_),g.appendChild(_)}m.appendChild(g)}d.appendChild(m)}if(r&&i){const m=document.createElement("div");m.className="gengage-chat-panel-restore-card__title",m.textContent=i,m.title=i,d.appendChild(m)}const b=document.createElement("div");return b.className="gengage-chat-panel-restore-card__cta",b.textContent=o,d.appendChild(b),d}var nr,ir=L((()=>{ge(),je(),nr="frontend_restore_panel_message"}));function Dg(t,e){const a=t.props?.product??t.props,n=document.createElement("div");if(n.className="gengage-chat-product-summary gds-card",n.dataset.gengagePart="product-summary-card",!a)return n;n.classList.add("gds-clickable"),n.addEventListener("click",g=>{g.target.closest("a")||e.onProductSelect?.(a)});const i=a.imageUrl;if(i&&pe(i)){const g=document.createElement("div");g.className="gengage-chat-product-summary__image",g.dataset.gengagePart="product-summary-image";const v=document.createElement("img");v.loading="lazy",he(v,"src",i),v.alt=a.name||"Product image",Ce(v),g.appendChild(v),n.appendChild(g)}const r=document.createElement("div");r.className="gengage-chat-product-summary__content",r.dataset.gengagePart="product-summary-content";const o=a.brand,s=a.name;if(s){const g=document.createElement("div");g.className="gengage-chat-product-summary__name",g.dataset.gengagePart="product-summary-name";const v=o&&!s.toLowerCase().startsWith(o.toLowerCase())?`${o} ${s}`:s;g.textContent=v,g.title=v,r.appendChild(g)}const c=a.rating,l=a.reviewCount;if(e.hideUserReviews!==!0&&typeof c=="number"&&Number.isFinite(c)&&c>0){const g=document.createElement("div");if(g.className="gengage-chat-product-summary__rating",g.dataset.gengagePart="product-summary-rating",g.appendChild(Oa(c)),typeof l=="number"&&Number.isFinite(l)){const v=document.createElement("span");v.className="gengage-chat-product-summary__review-count",v.textContent=` (${l})`,g.appendChild(v)}r.appendChild(g)}const p=a.price,d=a.originalPrice;if(p){const g=lt(e,a),v=yt(e,a),_=!!(d&&d!==p),y=document.createElement("div");y.className="gengage-chat-product-summary__price",y.dataset.gengagePart="product-summary-price";const k=!!(g&&_),P=Ot(e,a);if(k){const w=qt({reasonText:g,salePriceFormatted:te(p,e.pricing),...P!==void 0?{logoUrl:P}:{}});if(_&&v==="inline"){y.classList.add("gengage-chat-product-summary__price--inline"),y.appendChild(w);const E=document.createElement("span");E.className="gengage-chat-product-summary__price-sep",E.setAttribute("aria-hidden","true");const z=document.createElement("span");z.className="gengage-chat-product-summary__price-original",z.textContent=te(d,e.pricing),y.appendChild(E),y.appendChild(z)}else{const E=document.createElement("span");E.className="gengage-chat-product-summary__price-original",E.textContent=te(d,e.pricing),y.appendChild(E),y.appendChild(document.createTextNode(" ")),y.appendChild(w)}r.appendChild(y)}else{if(_&&v==="inline"){y.classList.add("gengage-chat-product-summary__price--inline");const w=document.createElement("span");w.className="gengage-chat-product-summary__price-current",w.textContent=te(p,e.pricing);const E=document.createElement("span");E.className="gengage-chat-product-summary__price-sep",E.setAttribute("aria-hidden","true");const z=document.createElement("span");z.className="gengage-chat-product-summary__price-original",z.textContent=te(d,e.pricing),y.appendChild(w),y.appendChild(E),y.appendChild(z)}else if(_){const w=document.createElement("span");w.className="gengage-chat-product-summary__price-original",w.textContent=te(d,e.pricing),y.appendChild(w),y.appendChild(document.createTextNode(" "));const E=document.createElement("span");E.className="gengage-chat-product-summary__price-current",E.textContent=te(p,e.pricing),y.appendChild(E)}else{const w=document.createElement("span");w.className="gengage-chat-product-summary__price-current",w.textContent=te(p,e.pricing),y.appendChild(w)}if(g){const w=document.createElement("div");w.className="gengage-chat-product-summary__price-stack",w.appendChild(Ut(g)),w.appendChild(y),r.appendChild(w)}else r.appendChild(y)}}n.appendChild(r);const h=a.url,f=a.sku,b=a.cartCode??a.cart_code,m=typeof b=="string"&&b.trim()?b.trim():void 0,u=a.inStock;if(f&&m&&u!==!1){const g=document.createElement("button");g.type="button",g.className="gengage-chat-product-summary__cta gds-chip gds-chip-active",g.dataset.gengagePart="product-summary-cta",g.textContent=e.i18n?.addToCartButton??"Add to Cart",g.addEventListener("click",v=>{v.stopPropagation(),e.onAction({title:e.i18n?.addToCartButton??"Add to Cart",type:"addToCart",payload:{sku:f,cartCode:m,quantity:1}})}),n.appendChild(g)}else if(h&&pe(h)){const g=document.createElement("a");g.className="gengage-chat-product-summary__cta gds-chip gds-chip-active",g.dataset.gengagePart="product-summary-cta",he(g,"href",h),he(g,"target","_blank"),he(g,"rel","noopener noreferrer"),g.textContent=e.i18n?.productCtaLabel??"View",n.appendChild(g)}return n}var Ug=L((()=>{ct(),ge(),je(),ja()})),rr,Og=L((()=>{Ra(),Ba(),rr={PhotoAnalysisCard:({element:t,context:e})=>Nl(t,e),BeautyPhotoStep:({element:t,context:e})=>Ii(t,e)}}));function jt(){return window.innerWidth<768}function or(){return{...Ga}}function sr(t,e,a=Ga,n=Wt){return da({spec:t,context:e,registry:a,containerClassName:"gengage-chat-uispec",unknownRenderer:n})}function qg(t,e){const a=document.createElement("div");a.className="gengage-chat-action-buttons";const n=t.props?.buttons;if(n)for(const i of n){const r=document.createElement("button");r.className="gengage-chat-action-btn",r.textContent=i.label,r.addEventListener("click",()=>e.onAction(i.action)),a.appendChild(r)}return a}function jg(t,e){const a=document.createElement("button");a.className="gengage-chat-action-btn";const n=t.props?.label;typeof n=="string"&&(a.textContent=n);const i=t.props?.action;return i&&a.addEventListener("click",()=>e.onAction(i)),a}function cr(t,e,a,n,i){t.replaceChildren();const r=yt(e,a),o=!!(i&&n&&i!==n),s=lt(e,a),c=!!(s&&o),l=Ot(e,a);if(!n||parseFloat(n)<=0)return;if(c){const d=qt({reasonText:s,salePriceFormatted:te(n,e.pricing),...l!==void 0?{logoUrl:l}:{}});if(o&&r==="inline"){t.classList.add("gengage-chat-product-card-price-block--inline");const h=document.createElement("div");h.className="gengage-chat-product-card-price-row",h.appendChild(d);const f=document.createElement("span");f.className="gengage-chat-product-card-price-sep",f.setAttribute("aria-hidden","true");const b=document.createElement("span");b.className="gengage-chat-product-card-original-price",b.textContent=te(i,e.pricing),h.appendChild(f),h.appendChild(b),t.appendChild(h);return}if(t.classList.remove("gengage-chat-product-card-price-block--inline"),t.appendChild(d),o){t.appendChild(document.createTextNode(" "));const h=document.createElement("span");h.className="gengage-chat-product-card-original-price",h.textContent=te(i,e.pricing),t.appendChild(h)}return}if(o&&r==="inline"){t.classList.add("gengage-chat-product-card-price-block--inline");const d=document.createElement("div");d.className="gengage-chat-product-card-price-row";const h=document.createElement("span");h.className="gengage-chat-product-card-current-price",h.textContent=te(n,e.pricing);const f=document.createElement("span");f.className="gengage-chat-product-card-price-sep",f.setAttribute("aria-hidden","true");const b=document.createElement("span");b.className="gengage-chat-product-card-original-price",b.textContent=te(i,e.pricing),d.appendChild(h),d.appendChild(f),d.appendChild(b),t.appendChild(d);return}t.classList.remove("gengage-chat-product-card-price-block--inline");const p=document.createElement("span");if(p.className="gengage-chat-product-card-current-price",p.textContent=te(n,e.pricing),t.appendChild(p),o){t.appendChild(document.createTextNode(" "));const d=document.createElement("span");d.className="gengage-chat-product-card-original-price",d.textContent=te(i,e.pricing),t.appendChild(d)}}function lr(t,e,a,n,i,r,o){t.classList.remove("gengage-chat-product-details-price--inline"),t.replaceChildren(),t.className="gengage-chat-product-details-price";const s=lt(e,a),c=!!(s&&o),l=Ot(e,a);if(c){const d=qt({reasonText:s,salePriceFormatted:te(n,e.pricing),...l!==void 0?{logoUrl:l}:{}});if(o&&r==="inline"){t.classList.add("gengage-chat-product-details-price--inline"),t.appendChild(d);const h=document.createElement("span");h.className="gengage-chat-product-details-price-sep",h.setAttribute("aria-hidden","true");const f=document.createElement("span");f.className="gengage-chat-product-details-original-price",f.textContent=te(i,e.pricing),t.appendChild(h),t.appendChild(f)}else{if(o){const h=document.createElement("span");h.className="gengage-chat-product-details-original-price",h.textContent=te(i,e.pricing),t.appendChild(h),t.appendChild(document.createTextNode(" "))}t.appendChild(d)}}else if(o&&r==="inline"){t.classList.add("gengage-chat-product-details-price--inline");const d=document.createElement("span");d.className="gengage-chat-product-details-current-price",d.textContent=te(n,e.pricing);const h=document.createElement("span");h.className="gengage-chat-product-details-price-sep",h.setAttribute("aria-hidden","true");const f=document.createElement("span");f.className="gengage-chat-product-details-original-price",f.textContent=te(i,e.pricing),t.appendChild(d),t.appendChild(h),t.appendChild(f)}else{if(o){const h=document.createElement("span");h.className="gengage-chat-product-details-original-price",h.textContent=te(i,e.pricing),t.appendChild(h),t.appendChild(document.createTextNode(" "))}const d=document.createElement("span");d.className="gengage-chat-product-details-current-price",d.textContent=te(n,e.pricing),t.appendChild(d)}const p=$t(a,"discountPercent","price_discount_rate");if(!e.hideProductDiscountBadge&&typeof p=="number"&&p>0){const d=document.createElement("span");d.className="gengage-chat-product-details-discount-badge",d.textContent=`%${Ua(p)}`,t.appendChild(d)}}function $a(t,e){const a=document.createElement("div");a.className="gengage-chat-product-card gds-card gds-product-card gds-card-interactive";const n=t.props?.product??t.props;if(!n)return a;const i=n.sku;i&&(a.dataset.sku=i);const r=t.props?.action,o=n.name,s=n.url,c=n.sku,l=s&&pe(s)?s:void 0,p=()=>r?.type!=="launchSingleProduct"||l===void 0||c===void 0||e.onProductClick===void 0?!1:(e.onProductClick({sku:c,url:l,...typeof o=="string"?{name:o}:{}}),!0);(e.onProductSelect||r)&&(a.classList.add("gds-clickable"),a.addEventListener("click",C=>{if(!a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")&&!C.target.closest(".gengage-chat-product-card-atc")&&!C.target.closest(".gengage-chat-product-card-cta")){if(r){p()||e.onAction(r);return}e.onProductSelect?.(n)}}));const d=n.imageUrl;if(d&&pe(d)){const C=document.createElement("div");C.className="gengage-chat-product-card-img-wrapper";const M=document.createElement("img");M.className="gengage-chat-product-card-img",M.loading="lazy",he(M,"src",d);const O=n.name;O&&(M.alt=O),Ce(M),C.appendChild(M);const U=n.discountPercent;if(!e.hideProductDiscountBadge&&typeof U=="number"&&U>0){const x=document.createElement("span");x.className="gengage-chat-product-card-discount-badge",x.textContent=`%${Ua(U)}`,C.appendChild(x)}const R=document.createElement("div");R.className="gengage-chat-product-card-img-actions";const ne=n.sku;if(ne&&e.onFavoriteToggle){const x=document.createElement("button");x.className="gengage-chat-favorite-btn",x.type="button",x.dataset.gengageFavoriteSku=ne,x.setAttribute("aria-label",e.i18n?.addToFavoritesLabel??"Add to favorites");const N=e.favoritedSkus?.has(ne)??!1;N&&x.classList.add("gengage-chat-favorite-btn--active"),x.innerHTML=`<svg width="14" height="14" viewBox="0 0 24 24" fill="${N?"currentColor":"none"}" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`,x.addEventListener("click",I=>{I.stopPropagation(),x.classList.toggle("gengage-chat-favorite-btn--active");const B=x.querySelector("svg");B&&B.setAttribute("fill",x.classList.contains("gengage-chat-favorite-btn--active")?"currentColor":"none"),e.onFavoriteToggle(ne,n)}),R.appendChild(x)}const ae=n.sku,G=e.i18n?.findSimilarLabel??"Find Similar";if(ae){const x=document.createElement("button");x.className="gengage-chat-find-similar-pill",x.type="button",x.setAttribute("aria-label",G),x.dataset.tooltip=G,x.innerHTML='<span class="gengage-chat-find-similar-pill-icon" aria-hidden="true"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M16 16l5.5 5.5"/></svg></span>';const N=document.createElement("span");N.className="gengage-chat-find-similar-pill-text",N.textContent=G,x.appendChild(N),x.addEventListener("click",I=>{I.stopPropagation(),e.onAction({title:G,type:"findSimilar",payload:{sku:ae}})}),R.appendChild(x)}R.childElementCount>0&&C.appendChild(R),a.appendChild(C)}const h=document.createElement("div");h.className="gengage-chat-product-card-body";const f=n.brand;if(f){const C=document.createElement("div");C.className="gengage-chat-product-card-brand",C.textContent=f,h.appendChild(C)}const b=n.rating,m=n.reviewCount,u=n.price,g=n.originalPrice,v=n.price_async,_=lt(e,n),y=yt(e,n),k=!!(g&&u&&g!==u&&parseFloat(u)>0),P=!!(_&&k),w=!!(_&&!P||k&&y==="inline"),E=typeof b=="number"&&Number.isFinite(b)&&b>0,z=document.createElement("div");z.className="gengage-chat-product-card-meta-row";const V=document.createElement("div");V.className="gengage-chat-product-card-price gengage-chat-product-card-price-block";const W=w?(()=>{const C=document.createElement("div");return C.className="gengage-chat-product-card-price-stack",_&&!P&&C.appendChild(Ut(_)),C.appendChild(V),C})():V;if(v===!0){const C=document.createElement("span");C.className="gengage-chat-price-skeleton",V.appendChild(C),setTimeout(()=>{C.parentElement&&(u&&parseFloat(u)>0?cr(V,e,n,u,n.originalPrice):C.remove())},300)}else u&&parseFloat(u)>0&&cr(V,e,n,u,g);if((V.childElementCount>0||v===!0)&&z.appendChild(W),E){const C=document.createElement("div");C.className="gengage-chat-product-card-rating gengage-chat-product-card-rating-compact";const M=Da(b),O=[`${M.toFixed(1)}`,"out of 5 stars"];typeof m=="number"&&Number.isFinite(m)&&O.push(`(${m} reviews)`),C.setAttribute("aria-label",O.join(" "));const U=document.createElement("span");U.className="gengage-chat-product-card-rating-compact-star",U.setAttribute("aria-hidden","true"),U.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3.6l2.58 5.23 5.77.84-4.17 4.07.98 5.75L12 16.78l-5.16 2.71.99-5.75L3.66 9.67l5.76-.84L12 3.6z"/></svg>';const R=document.createElement("span");R.className="gengage-chat-product-card-rating-compact-value",R.textContent=M.toFixed(1),C.appendChild(U),C.appendChild(R),z.appendChild(C)}if(z.childElementCount===0&&(z.classList.add("gengage-chat-product-card-meta-row--empty"),z.setAttribute("aria-hidden","true")),h.appendChild(z),o){const C=document.createElement("div");C.className="gengage-chat-product-card-name",C.textContent=o,C.title=o,h.appendChild(C)}const oe=n.inStock;if(e.hideStockStatus!==!0&&typeof oe=="boolean"){const C=document.createElement("div");C.className=`gengage-chat-product-card-stock ${oe?"is-in-stock":"is-out-of-stock"}`,C.textContent=oe?e.i18n?.inStockLabel??"In Stock":e.i18n?.outOfStockLabel??"Out of Stock",h.appendChild(C)}a.appendChild(h);const ie=n.cartCode,A=!!(ie&&c&&oe!==!1),D=e.i18n?.productCtaLabel??"View";if(A){const C=document.createElement("div");C.className="gengage-chat-product-card-buy-footer";const M=document.createElement("button");M.type="button",M.className="gengage-chat-product-card-buy-trigger",M.textContent=D,M.addEventListener("click",O=>{O.stopPropagation(),e.onAction({title:e.i18n?.addToCartButton??D,type:"addToCart",payload:{sku:c,cartCode:ie,quantity:1}})}),C.appendChild(M),a.appendChild(C)}else if(r){const C=document.createElement("button");C.className="gengage-chat-product-card-cta",C.type="button",C.textContent=r.type==="launchSingleProduct"?D:r.title||D,C.addEventListener("click",M=>{if(a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")){M.stopPropagation();return}p()||e.onAction(r)}),a.appendChild(C)}else if(l){const C=document.createElement("a");C.className="gengage-chat-product-card-cta",he(C,"href",l),he(C,"target","_blank"),he(C,"rel","noopener noreferrer"),C.textContent=D,C.addEventListener("click",M=>{if(a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")){M.preventDefault(),M.stopPropagation();return}e.onProductClick&&c&&(M.preventDefault(),e.onProductClick({sku:c,url:l,...o?{name:o}:{}}))}),a.appendChild(C)}if(e.comparisonSelectMode&&c&&e.onToggleComparisonSku){const C=document.createElement("div");C.className="gengage-chat-comparison-select-wrapper";const M=e.comparisonSelectedSkus?.includes(c)??!1;M&&C.classList.add("gengage-chat-comparison-select-wrapper--selected");const O=n.name??c,U=e.i18n?.comparisonSelectCardHint??"Tap anywhere on the card to add or remove it from comparison.";C.setAttribute("role","group"),C.setAttribute("aria-label",`${String(O)}. ${U}`);const R=document.createElement("button");R.type="button",R.className="gengage-chat-comparison-checkbox",R.dataset.selected=M?"true":"false",R.setAttribute("aria-pressed",M?"true":"false");const ne=document.createElement("span");ne.className="gengage-chat-comparison-checkbox-icon",ne.innerHTML=M?'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>':'<span class="gengage-chat-comparison-checkbox-dot"></span>';const ae=document.createElement("span");ae.className="gengage-chat-comparison-checkbox-label",ae.textContent=M?e.i18n?.comparisonSelectedLabel??"Selected":e.i18n?.comparisonSelectLabel??"Select to compare",R.appendChild(ne),R.appendChild(ae),R.addEventListener("click",x=>{x.stopPropagation(),e.onToggleComparisonSku?.(c)});const G=document.createElement("div");return G.className="gengage-chat-comparison-card-hint",G.setAttribute("aria-hidden","true"),G.textContent=U,C.addEventListener("click",x=>{x.target.closest(".gengage-chat-comparison-checkbox")||(x.stopPropagation(),e.onToggleComparisonSku?.(c))}),C.appendChild(R),C.appendChild(G),C.appendChild(a),C}return a}function Se(t,...e){for(const a of e){const n=t[a];if(typeof n=="string"){const i=n.trim();if(i.length>0)return i}}}function $t(t,...e){for(const a of e){const n=t[a];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){const i=Number(n.replace(",","."));if(Number.isFinite(i))return i}}}function Vt(t,...e){for(const a of e){const n=t[a];if(typeof n=="boolean")return n}}function $g(t,...e){for(const a of e){const n=t[a];if(n&&typeof n=="object"&&!Array.isArray(n))return n}}function Vg(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.trim().length>0):[]}function Gg(t){const e=[...Vg(t.images),Se(t,"imageUrl","image_url","image")].filter(a=>!!a&&pe(a));return Array.from(new Set(e))}function Wg(t){return typeof DOMParser<"u"?(new DOMParser().parseFromString(t,"text/html").body.textContent??"").replace(/\s+/g," ").trim():t.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim()}function Kg(t){const e=Se(t,"description_html","descriptionHtml");if(e){const n=Wg(e);if(n)return{text:n,html:e}}const a=Se(t,"description");return a?{text:a}:void 0}function Gt(t){return Array.isArray(t)?t.map(e=>{if(!e||typeof e!="object")return null;const a=e,n=Se(a,"key","name","label","title"),i=a.value,r=typeof i=="string"||typeof i=="number"||typeof i=="boolean"?String(i).trim():void 0;return!n||!r?null:{key:n,value:r}}).filter(e=>e!==null):t&&typeof t=="object"?Object.entries(t).map(([e,a])=>{const n=typeof a=="string"||typeof a=="number"||typeof a=="boolean"?String(a).trim():void 0;return!e||!n?null:{key:e,value:n}}).filter(e=>e!==null):[]}function gr(t){const e=Gt(t.features);return e.length>0?e:Gt(t.specifications)}function Yg(t){const e=t.specifications,a=Gt(e);if(a.length>0)return Array.isArray(e)?a:Object.fromEntries(a.map(i=>[i.key,i.value]));const n=Gt(t.features);return n.length>0?n:void 0}function De(t,...e){return Se(t,...e)}function dr(t,...e){return $t(t,...e)}function pr(t){return De(t,"value","option_value","attribute_value","label","title","name","variant_name","sku")}function hr(t){const e=De(t,"type","attribute","option_name","attribute_name");return e||(De(t,"value")?De(t,"name","variant_name"):void 0)}function Qg(t){const e=hr(t)?.toLowerCase();return!!(Se(t,"color","colour","color_hex","hex","swatch","swatchColor")||e&&Wa.has(e))}function ur(t){if(!t)return;const e=t.trim();if(!(!e||e.includes(";"))&&(typeof CSS<"u"&&CSS.supports?.("color",e)||/^#(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(e)))return e}function Zg(t){const e=ur(De(t,"swatchColor","swatch","color_hex","hex","color","colour"));if(e)return e;if(Qg(t))return ur(pr(t))}function Xg(t){return De(t,"image","imageUrl","image_url","swatchImage","swatch_image")}function Jg(t){return dr(t,"price_discounted","priceDiscounted")??De(t,"price_discounted","priceDiscounted")??dr(t,"price")??De(t,"price")}function ed(t){const e=t.trim().toLowerCase();return Wa.has(e)||vr.has(e)||yr.has(e)}function td(t){const e=t.trim().toLowerCase();return e==="renk kodu"?"Renk":e==="color code"?"Color":t.trim()}function ad(t){for(const e of xr){const a=t[e];if(!Array.isArray(a))continue;const n=a.filter(i=>!!i&&typeof i=="object"&&!Array.isArray(i));if(n.length>0)return n}}function nd(t){const e=ad(t);if(e)return e;const a=Se(t,"sku"),n=Vt(t,"inStock","in_stock"),i=[],r=new Set,o=(c,l)=>{if(!ed(c)||typeof l!="string"&&typeof l!="number"&&typeof l!="boolean")return;const p=String(l).trim();if(!p)return;const d=td(c),h=`${d.toLowerCase()}:${p.toLowerCase()}`;r.has(h)||(r.add(h),i.push({name:d,value:p,sku:a,inStock:n}))},s=$g(t,"facetHits","facet_hits");if(s)for(const[c,l]of Object.entries(s))o(c,l);for(const c of gr(t))o(c.key,c.value);return i}function id(t,e){const a=Array.from(new Set(t.map(hr).filter(n=>!!n)));return a.length===1?`${t.length} ${a[0]}`:e.i18n?.variantsLabel??"Variants"}function rd(t,e){const a=document.createElement("article");a.className="gengage-chat-product-details-panel";const n=t.props?.product??t.props;if(!n)return a;const i=Se(n,"name"),r=Se(n,"brand"),o=Se(n,"sku"),s=Se(n,"cartCode","cart_code"),c=Se(n,"price"),l=Se(n,"originalPrice","price_original"),p=Vt(n,"price_async"),d=lt(e,n),h=yt(e,n),f=!!(l&&c&&l!==c),b=Vt(n,"inStock","in_stock"),m=$t(n,"reviewCount","review_count"),u=$t(n,"rating"),g=Gg(n),v=gr(n).slice(0,4);if(g.length>1){const A=document.createElement("div");A.className="gengage-chat-product-details-media gengage-chat-product-details-gallery gengage-chat-product-details-img-wrap";const D=document.createElement("img");D.className="gengage-chat-product-details-img",he(D,"src",g[0]),D.alt=i??"Product image",Ce(D),A.appendChild(D);const C=document.createElement("div");C.className="gengage-chat-product-gallery-thumbs";const M=6;let O=null,U=0;const R=e.i18n,ne=R?.galleryPrevAriaLabel??"Previous image",ae=R?.galleryNextAriaLabel??"Next image",G=$=>$==="prev"?'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="15 18 9 12 15 6"/></svg>':'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"/></svg>',x=document.createElement("button");x.type="button",x.className="gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--prev gds-btn gds-btn-ghost gds-icon-btn",x.setAttribute("aria-label",ne),x.innerHTML=G("prev");const N=document.createElement("button");N.type="button",N.className="gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--next gds-btn gds-btn-ghost gds-icon-btn",N.setAttribute("aria-label",ae),N.innerHTML=G("next");const I=()=>{x.disabled=U<=0,N.disabled=U>=g.length-1},B=$=>{if($<0||$>=g.length||$===U)return;const J=g[$];if(!J)return;he(D,"src",J);const Y=C.querySelectorAll(".gengage-chat-product-gallery-thumb");O&&O.classList.remove("gengage-chat-product-gallery-thumb--active"),$<M&&Y[$]?(Y[$].classList.add("gengage-chat-product-gallery-thumb--active"),O=Y[$]):O=null,U=$,I()};for(let $=0;$<g.length;$++){const J=g[$];if($>=M)break;const Y=document.createElement("img");Y.className="gengage-chat-product-gallery-thumb",$===0&&(Y.classList.add("gengage-chat-product-gallery-thumb--active"),O=Y),he(Y,"src",J),Y.alt=`${i??"Product"} ${$+1}`,Y.width=48,Y.height=48,Ce(Y),Y.addEventListener("click",()=>{B($)}),C.appendChild(Y)}if(g.length>M){const $=document.createElement("span");$.className="gengage-chat-product-gallery-thumb-more",$.textContent=`+${g.length-M}`,C.appendChild($)}x.addEventListener("click",$=>{$.stopPropagation(),B(U-1)}),N.addEventListener("click",$=>{$.stopPropagation(),B(U+1)}),I();let q=0;const j=50;D.addEventListener("touchstart",$=>{q=$.changedTouches[0].clientX},{passive:!0}),D.addEventListener("touchend",$=>{const J=$.changedTouches[0].clientX,Y=q-J;Math.abs(Y)<j||B(Y>0?Math.min(U+1,g.length-1):Math.max(U-1,0))}),A.appendChild(x),A.appendChild(N),A.appendChild(C),a.appendChild(A)}else if(g.length===1){const A=document.createElement("div");A.className="gengage-chat-product-details-media gengage-chat-product-details-img-wrap";const D=document.createElement("img");D.className="gengage-chat-product-details-img",D.loading="lazy",he(D,"src",g[0]),Ce(D),D.alt=i??"Product image",A.appendChild(D),a.appendChild(A)}const _=document.createElement("div");if(_.className="gengage-chat-product-details-content",r&&(!i||!i.toLowerCase().startsWith(r.toLowerCase()))){const A=document.createElement("div");A.className="gengage-chat-product-details-brand",A.textContent=r,_.appendChild(A)}if(i){const A=document.createElement("h3");A.className="gengage-chat-product-details-title",A.textContent=i,A.title=i,_.appendChild(A)}if(e.hideUserReviews!==!0&&typeof u=="number"&&Number.isFinite(u)&&u>0){const A=document.createElement(o?"button":"div");A.className="gengage-chat-product-details-rating",o&&(A.type="button",A.classList.add("gengage-chat-product-details-rating--clickable"),A.setAttribute("aria-label",e.i18n?.groundingReviewCta??"Read Reviews"),A.addEventListener("click",()=>{e.onAction({title:e.i18n?.customerReviewsTitle??"Customer Reviews",type:"reviewSummary",payload:{sku:o}})})),A.appendChild(Oa(u));const D=document.createElement("span");if(D.className="gengage-chat-product-details-rating-value",D.textContent=Da(u).toFixed(1),A.appendChild(D),typeof m=="number"&&Number.isFinite(m)){const C=document.createElement("span");C.className="gengage-chat-product-details-review-count",C.textContent=` (${m})`,A.appendChild(C)}_.appendChild(A)}{const A=!!(d&&f);let D=_;if(d&&!A){const M=document.createElement("div");M.className="gengage-chat-product-details-price-stack",M.appendChild(Ut(d)),_.appendChild(M),D=M}const C=document.createElement("div");if(C.className="gengage-chat-product-details-price",p===!0){const M=document.createElement("span");M.className="gengage-chat-price-skeleton",C.appendChild(M),D.appendChild(C),setTimeout(()=>{if(M.parentElement)if(c&&parseFloat(c)>0)lr(C,e,n,c,l,h,f);else{const O=C.parentElement;C.remove(),O?.classList.contains("gengage-chat-product-details-price-stack")&&O.remove()}},300)}else if(c&&parseFloat(c)>0)lr(C,e,n,c,l,h,f),D.appendChild(C);else if(d){const M=D;M.classList.contains("gengage-chat-product-details-price-stack")&&M.remove()}}if(e.hideStockStatus!==!0&&typeof b=="boolean"){const A=document.createElement("div");A.className=`gengage-chat-product-details-stock ${b?"is-in-stock":"is-out-of-stock"}`,A.textContent=b?e.i18n?.inStockLabel??"In Stock":e.i18n?.outOfStockLabel??"Out of Stock",_.appendChild(A)}const y=n.promotions;if(y&&y.length>0){const A=document.createElement("div");A.className="gengage-chat-product-details-promos";for(const D of y.slice(0,3)){if(!D||/%(0(\.0+)?)\s/.test(D))continue;const C=document.createElement("span");C.className="gengage-chat-product-details-promo-badge",C.textContent=D,C.title=D,A.appendChild(C)}A.childElementCount>0&&_.appendChild(A)}if(v.length>0){const A=document.createElement("dl");A.className="gengage-chat-product-details-facts";for(const D of v){const C=document.createElement("div");C.className="gengage-chat-product-details-fact";const M=document.createElement("dt");M.textContent=D.key;const O=document.createElement("dd");O.textContent=D.value,C.appendChild(M),C.appendChild(O),A.appendChild(C)}_.appendChild(A)}const k=nd(n);if(k.length>0){const A=document.createElement("div");A.className="gengage-chat-product-variants";const D=document.createElement("div");D.className="gengage-chat-product-variants-label",D.textContent=id(k,e),A.appendChild(D);const C=document.createElement("div");C.className="gengage-chat-product-variants-list";for(const M of k){const O=pr(M),U=De(M,"sku");if(!O&&!U)continue;const R=document.createElement("button");R.className="gengage-chat-product-variant-btn gds-chip",R.type="button";const ne=O??U??"";R.title=ne;const ae=Vt(M,"in_stock","inStock");U&&o&&U===o?(R.classList.add("gengage-chat-product-variant-btn--active"),R.setAttribute("aria-pressed","true")):R.setAttribute("aria-pressed","false"),ae===!1&&(R.classList.add("gengage-chat-product-variant-btn--out"),R.disabled=!0);const G=Xg(M),x=Zg(M);if(G&&pe(G)){const B=document.createElement("img");B.className="gengage-chat-product-variant-swatch gengage-chat-product-variant-swatch--image",he(B,"src",G),B.alt="",B.setAttribute("aria-hidden","true"),Ce(B),R.appendChild(B)}else if(x){const B=document.createElement("span");B.className="gengage-chat-product-variant-swatch",B.setAttribute("aria-hidden","true"),B.style.backgroundColor=x,R.appendChild(B)}const N=document.createElement("span");N.className="gengage-chat-product-variant-label",N.textContent=ne,R.appendChild(N);const I=Jg(M);if(I&&String(I)!==String(c)){const B=document.createElement("span");B.className="gengage-chat-product-variant-price",B.textContent=te(String(I),e.pricing),R.appendChild(B)}if(U&&U!==o){const B=i??"",q=(typeof M.value=="string"?M.value.trim():"")||(typeof M.name=="string"?M.name.trim():"")||(typeof M.variant_name=="string"?M.variant_name.trim():"")||"",j=B.length>0?q.length>0&&q!==B?`${B} (${q})`:B:ne;R.addEventListener("click",()=>{e.onAction({title:j,type:"launchVariant",payload:{sku:U}})})}C.appendChild(R)}C.childElementCount>0&&(A.appendChild(C),_.appendChild(A))}const P=document.createElement("div");P.className="gengage-chat-product-details-actions";const w=t.props?.action;if(w){const A=document.createElement("button");A.className="gengage-chat-product-details-cta gds-btn gds-btn-primary",A.type="button",A.textContent=w.title||e.i18n?.productCtaLabel||"View",A.addEventListener("click",()=>e.onAction(w)),P.appendChild(A)}if(s&&o&&b!==!1){const A=document.createElement("button");A.className="gengage-chat-product-details-atc gds-btn gds-btn-primary",A.type="button",A.textContent=e.i18n?.addToCartButton??"Add to Cart",A.addEventListener("click",()=>{e.onAction({title:e.i18n?.addToCartButton??"Add to Cart",type:"addToCart",payload:{sku:o,cartCode:s,quantity:1}})}),P.appendChild(A)}const E=Se(n,"url");if(!w&&E&&pe(E)){const A=document.createElement("a");A.className="gengage-chat-product-details-cta gds-btn gds-btn-secondary",he(A,"href",E),he(A,"target","_blank"),he(A,"rel","noopener noreferrer"),A.textContent=e.i18n?.viewOnSiteLabel??e.i18n?.productCtaLabel??"View on Site",A.addEventListener("click",D=>{e.onProductClick&&o&&(D.preventDefault(),e.onProductClick({sku:o,url:E,...i?{name:i}:{}}))}),P.appendChild(A)}const z=E;if(z&&pe(z)){let O=function(R,ne){const ae=document.createElementNS(C,"circle");ae.setAttribute("cx",R),ae.setAttribute("cy",ne),ae.setAttribute("r","3"),M.appendChild(ae)},U=function(R,ne,ae,G){const x=document.createElementNS(C,"line");x.setAttribute("x1",R),x.setAttribute("y1",ne),x.setAttribute("x2",ae),x.setAttribute("y2",G),M.appendChild(x)};var oe=O,ie=U;const A=document.createElement("button");A.className="gengage-chat-product-details-share gds-btn gds-btn-ghost gds-icon-btn",A.type="button";const D=e.i18n?.shareButton??"Share";A.title=D,A.setAttribute("aria-label",D);const C="http://www.w3.org/2000/svg",M=document.createElementNS(C,"svg");M.setAttribute("width","18"),M.setAttribute("height","18"),M.setAttribute("viewBox","0 0 24 24"),M.setAttribute("fill","none"),M.setAttribute("stroke","currentColor"),M.setAttribute("stroke-width","2"),M.setAttribute("stroke-linecap","round"),M.setAttribute("stroke-linejoin","round"),O("18","5"),O("6","12"),O("18","19"),U("8.59","13.51","15.42","17.49"),U("15.41","6.51","8.59","10.49"),A.appendChild(M),A.addEventListener("click",async()=>{try{navigator.share?await navigator.share({title:i??"",url:z}):navigator.clipboard&&(await navigator.clipboard.writeText(z),A.classList.add("gengage-chat-product-details-share--copied"),setTimeout(()=>A.classList.remove("gengage-chat-product-details-share--copied"),1500))}catch{}}),P.appendChild(A)}P.childElementCount>0&&_.appendChild(P),a.appendChild(_);const V=Kg(n),W=Yg(n);return(V||W)&&a.appendChild(cd(V,W,e)),a}function Va(t){if(t.nodeType===Node.TEXT_NODE)return document.createTextNode(t.textContent??"");if(t.nodeType!==Node.ELEMENT_NODE)return null;const e=t,a=e.tagName.toUpperCase();if(wr.has(a))return null;if(!_r.has(a)){const i=document.createDocumentFragment();for(const r of Array.from(e.childNodes)){const o=Va(r);o&&i.appendChild(o)}return i}const n=document.createElement(a.toLowerCase());for(const i of Array.from(e.childNodes)){const r=Va(i);r&&n.appendChild(r)}return n}function od(t,e){const a=e.split(/\n{2,}/).map(n=>n.replace(/\s+/g," ").trim()).filter(Boolean);if(a.length!==0)for(const n of a){const i=document.createElement("p");i.textContent=n,t.appendChild(i)}}function sd(t,e){if(t.classList.add("gengage-chat-product-description"),e.html&&typeof DOMParser<"u"){const a=new DOMParser().parseFromString(e.html,"text/html"),n=Array.from(a.body.childNodes).map(i=>Va(i)).filter(i=>!!i&&(i.nodeType===Node.ELEMENT_NODE||!!i.textContent?.trim()));if(n.length>0){for(const i of n)t.appendChild(i);return}}od(t,e.text)}function cd(t,e,a){const n=document.createElement("div");n.className="gengage-chat-product-detail-tabs";const i=document.createElement("div");i.className="gengage-chat-product-detail-tab-bar gds-toolbar";const r=[];if(t){const s=document.createElement("button");s.className="gengage-chat-product-detail-tab gds-tab gengage-chat-product-detail-tab--active is-active",s.type="button",s.setAttribute("aria-selected","true"),s.textContent=a.i18n?.productInfoTab??"Product Info",i.appendChild(s);const c=document.createElement("div");c.className="gengage-chat-product-detail-tab-panel",sd(c,t),r.push(c)}if(e){const s=document.createElement("button");s.className=`gengage-chat-product-detail-tab gds-tab${t?"":" gengage-chat-product-detail-tab--active is-active"}`,s.type="button",s.setAttribute("aria-selected",t?"false":"true"),s.textContent=a.i18n?.specificationsTab??"Specifications",i.appendChild(s);const c=document.createElement("div");c.className="gengage-chat-product-detail-tab-panel",t&&(c.style.display="none");const l=document.createElement("table");l.className="gengage-chat-product-specs-table";const p=Array.isArray(e)?e:Object.entries(e).map(([d,h])=>({key:d,value:h}));for(const d of p){const h=document.createElement("tr"),f=document.createElement("td");f.className="gengage-chat-product-specs-key",f.textContent=d.key;const b=document.createElement("td");b.className="gengage-chat-product-specs-value",b.textContent=d.value,h.appendChild(f),h.appendChild(b),l.appendChild(h)}c.appendChild(l),r.push(c)}const o=i.querySelectorAll(".gengage-chat-product-detail-tab");o.forEach((s,c)=>{s.addEventListener("click",()=>{o.forEach(l=>{l.classList.remove("gengage-chat-product-detail-tab--active","is-active"),l.setAttribute("aria-selected","false")}),s.classList.add("gengage-chat-product-detail-tab--active","is-active"),s.setAttribute("aria-selected","true"),r.forEach((l,p)=>{l.style.display=p===c?"":"none"})})}),n.appendChild(i);for(const s of r)n.appendChild(s);return n}function mr(t){const e='width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"';switch(t){case"related":return`<svg ${e} aria-hidden="true"><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z"/></svg>`;case"priceAsc":return`<svg ${e} aria-hidden="true"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"/><polyline points="16 7 22 7 22 13"/></svg>`;case"priceDesc":return`<svg ${e} aria-hidden="true"><polyline points="22 17 13.5 8.5 8.5 13.5 2 7"/><polyline points="16 17 22 17 22 11"/></svg>`;default:return""}}function ld(){return'<svg class="gengage-chat-product-sort-chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>'}function gd(){return'<svg class="gengage-chat-product-sort-check" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg>'}function dd(){return'<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3 4 7l4 4"/><path d="M16 21l4-4-4-4"/><path d="M4 7h16"/><path d="M20 17H4"/></svg>'}function fr(t,e){return t.type===e.type&&t.direction===e.direction}function br(t,e,a){if(!a||a.type==="related")return t;const n=t.map(i=>{const r=e.elements[i]?.props?.product,o=r?Number(r.price):NaN;return{id:i,price:Number.isFinite(o)?o:1/0}});return n.sort((i,r)=>i.price===1/0&&r.price===1/0?0:i.price===1/0?1:r.price===1/0?-1:a.direction==="desc"?r.price-i.price:i.price-r.price),n.map(i=>i.id)}function pd(t,e,a,n){const i=br(e,a,n),r=new Map;for(const o of Array.from(t.children)){const s=o.dataset.elementId;s&&r.set(s,o)}for(const o of i){const s=r.get(o);s&&t.appendChild(s)}}function hd(t,e,a,n){const i=document.createElement("div");i.className="gengage-chat-product-grid-wrapper";const r=Za(t),o=r.isConsulting,s=t.children??[],c=document.createElement("div");c.className="gengage-chat-product-grid";const l=Array.isArray(t.props?.productSections)?t.props.productSections.map(g=>({title:typeof g.title=="string"?g.title:"",children:Array.isArray(g.children)?g.children.filter(v=>typeof v=="string"&&!!e.elements[v]):[]})).filter(g=>g.children.length>0):[],p=l.length>1,d=!p&&l.length===1&&l[0]?.title?l[0].title:"",h=n?.panelProductListHeading??(d||void 0),f=!o&&!p&&s.length>1&&n?.onSortChange,b=g=>{if(!n?.onToggleComparisonSku)return;const v=document.createElement("button");v.className="gengage-chat-comparison-toggle-btn gds-btn gds-btn-ghost",v.type="button",n.comparisonSelectMode&&v.classList.add("gengage-chat-comparison-toggle-btn--active"),n.isStreaming&&v.classList.add("gengage-chat-comparison-toggle-btn--hidden");const _=document.createElement("span");_.className="gengage-chat-comparison-toggle-icon",_.innerHTML=dd();const y=document.createElement("span");y.className="gengage-chat-comparison-toggle-label";const k=n.i18n?.compareSelected??"Compare";y.textContent=k,v.setAttribute("aria-label",k),v.title=k,v.appendChild(_),v.appendChild(y),v.addEventListener("click",()=>{n.onToggleComparisonSku?.("")}),g.appendChild(v)},m=(g,v=s.length)=>{const _=t.props?.endOfList;if(o||!(p?_===!1:_!==!0)||v===0)return;const y=n?.i18n?.viewMoreLabel??"Show More",k=document.createElement("button");k.className="gengage-chat-product-grid-view-more",k.type="button",k.textContent=y,k.addEventListener("click",()=>{n?.onAction({title:y,type:"moreProductList",payload:{}})}),g.appendChild(k)},u=()=>{const g=n?.isMobile??jt();n?.comparisonSelectMode&&n.comparisonSelectedSkus&&!g&&i.appendChild(Ji(n.comparisonSelectedSkus,n))};if(f){const g=document.createElement("div");g.className="gengage-chat-product-sort-toolbar",g.setAttribute("role","toolbar"),g.setAttribute("aria-label",n.i18n?.sortToolbarAriaLabel??"Sort products");let v=n.productSort??{type:"related"};const _=[{label:n.i18n?.sortRelated??"Related",sortState:{type:"related"},icon:"related"},{label:n.i18n?.sortPriceAsc??"Price ↑",sortState:{type:"price",direction:"asc"},icon:"priceAsc"},{label:n.i18n?.sortPriceDesc??"Price ↓",sortState:{type:"price",direction:"desc"},icon:"priceDesc"}],y=document.createElement("div");y.className="gengage-chat-product-sort-dropdown";const k=document.createElement("button");k.type="button",k.className="gengage-chat-product-sort-trigger gds-btn gds-btn-ghost",k.setAttribute("aria-haspopup","listbox"),k.setAttribute("aria-expanded","false");const P=n.i18n?.sortToolbarAriaLabel??"Sort products",w=document.createElement("span");w.className="gengage-chat-product-sort-trigger-icon";const E=document.createElement("span");E.className="gengage-chat-product-sort-trigger-label";const z=O=>{const U=_.find(R=>fr(R.sortState,O))??_[0];E.textContent=U.label,w.innerHTML=mr(U.icon),y.dataset.sortIcon=U.icon,k.setAttribute("aria-label",`${P}: ${U.label}`),k.title=U.label};z(v);const V=document.createElement("span");V.className="gengage-chat-product-sort-trigger-chevron",V.innerHTML=ld(),k.appendChild(w),k.appendChild(E),k.appendChild(V);const W=document.createElement("div");W.className="gengage-chat-product-sort-menu gds-menu",W.hidden=!0,W.setAttribute("role","listbox"),W.setAttribute("aria-label",P);const oe=g.ownerDocument;let ie=null;const A=()=>{W.hidden=!0,y.classList.remove("gengage-chat-product-sort-dropdown--open"),k.setAttribute("aria-expanded","false"),ie?.abort(),ie=null},D=O=>{y.classList.contains("gengage-chat-product-sort-dropdown--open")&&(y.contains(O.target)||A())},C=O=>{O.key==="Escape"&&(O.preventDefault(),A())},M=()=>{W.hidden=!1,y.classList.add("gengage-chat-product-sort-dropdown--open"),k.setAttribute("aria-expanded","true"),ie=new AbortController;const{signal:O}=ie;oe.addEventListener("click",D,{signal:O}),oe.addEventListener("keydown",C,{capture:!0,signal:O})};k.addEventListener("click",O=>{O.stopPropagation(),y.classList.contains("gengage-chat-product-sort-dropdown--open")?A():M()});for(const O of _){const U=document.createElement("button");U.type="button",U.className="gengage-chat-product-sort-option gds-menu-option",U.setAttribute("role","option");const R=fr(v,O.sortState);U.setAttribute("aria-selected",R?"true":"false"),R&&U.classList.add("gengage-chat-product-sort-option--active","gds-menu-option-active");const ne=O.sortState.type==="related"?"related":`price-${O.sortState.direction??""}`;U.dataset.sortKey=ne;const ae=document.createElement("span");ae.className="gengage-chat-product-sort-option-icon",ae.innerHTML=mr(O.icon);const G=document.createElement("span");G.className="gengage-chat-product-sort-option-label",G.textContent=O.label;const x=document.createElement("span");x.className="gengage-chat-product-sort-option-check",x.innerHTML=gd(),x.setAttribute("aria-hidden","true"),R||x.classList.add("gengage-chat-product-sort-option-check--hidden"),U.appendChild(ae),U.appendChild(G),U.appendChild(x),U.addEventListener("click",()=>{v=O.sortState,n.onSortChange?.(O.sortState),pd(c,s,e,O.sortState),W.querySelectorAll(".gengage-chat-product-sort-option").forEach(N=>{const I=N,B=I.dataset.sortKey===ne;I.classList.toggle("gengage-chat-product-sort-option--active",B),I.classList.toggle("gds-menu-option-active",B),I.setAttribute("aria-selected",B?"true":"false"),I.querySelector(".gengage-chat-product-sort-option-check")?.classList.toggle("gengage-chat-product-sort-option-check--hidden",!B)}),z(O.sortState),A()}),W.appendChild(U)}if(y.appendChild(k),y.appendChild(W),g.appendChild(y),b(g),h){g.classList.add("gengage-chat-product-sort-toolbar--inline");const O=document.createElement("div");O.className="gengage-chat-product-grid-head";const U=document.createElement("span");U.className="gengage-chat-product-grid-head-title",U.textContent=h,O.appendChild(U);const R=document.createElement("div");R.className="gengage-chat-product-grid-head-actions",R.appendChild(g),O.appendChild(R),i.appendChild(O)}else i.appendChild(g)}else if(h){const g=document.createElement("div");g.className="gengage-chat-product-grid-head";const v=document.createElement("span");v.className="gengage-chat-product-grid-head-title",v.textContent=h,g.appendChild(v),i.appendChild(g)}if(p&&!o){if(i.classList.add("gengage-chat-product-grid-wrapper--grouped"),n?.onToggleComparisonSku){const y=document.createElement("div");y.className="gengage-chat-product-sort-toolbar gengage-chat-product-sort-toolbar--compare-only",y.setAttribute("role","toolbar"),y.setAttribute("aria-label",n.i18n?.compareSelected??"Compare"),b(y),i.appendChild(y)}const g=document.createElement("div");g.className="gengage-chat-product-grid-sections",g.setAttribute("role","list");const v=t.props?.rankingState;let _=0;for(const y of l){_+=y.children.length;const k=ud(y.children.length,n),P=document.createElement("section");P.className="gengage-chat-product-grid-section",P.setAttribute("role","listitem");const w=document.createElement("div");if(w.className="gengage-chat-product-grid-section-head",y.title){const V=document.createElement("h3");V.className="gengage-chat-product-grid-section-title",V.textContent=y.title,w.appendChild(V)}const E=document.createElement("span");E.className="gengage-chat-product-grid-section-count",E.textContent=k,w.appendChild(E),P.appendChild(w);const z=document.createElement("div");z.className="gengage-chat-product-grid gengage-chat-product-grid--section";for(const V of y.children){const W=a(V);W&&(W.dataset.elementId=V,z.appendChild(W))}(n?.isMobile??jt())&&z.classList.add("gengage-chat-product-grid--mobile"),v==="pending"&&(z.classList.add("gengage-chat-product-grid--pending"),z.inert=!0,z.setAttribute("aria-busy","true")),P.appendChild(z),g.appendChild(P)}return i.appendChild(g),m(i,_),u(),i}if(o)kd(i,c,r,n);else{const g=br(s,e,n?.productSort);for(const v of g){if(!e.elements[v])continue;const _=a(v);_&&(_.dataset.elementId=v,c.appendChild(_))}}return(n?.isMobile??jt())&&c.classList.add("gengage-chat-product-grid--mobile"),t.props?.rankingState==="pending"&&(c.classList.add("gengage-chat-product-grid--pending"),c.inert=!0,c.setAttribute("aria-busy","true")),i.appendChild(c),m(i),u(),i}function ud(t,e){return(e?.i18n?.productGridSectionCountLabel??"{count} product(s)").replace(/\{count\}/g,String(t))}function md(t,e,a){const n=i=>{const r=i?.url;return typeof r=="string"?r.trim():""};if(e.sku===t){const i=n(e);if(i.length>0)return i}return n(a.find(i=>i.sku===t))}function fd(t,e){const a=t.props??{},n=a.keyDifferencesHtml,i=a.recommended,r=a.products??[],o=a.attributes??[],s=a.highlights??[],c=a.specialCases,l=a.recommendedText,p=a.winnerHits,d=a.productActions;if(!i)return document.createElement("div");const h={recommended:i,products:r,attributes:o,highlights:s,specialCases:c,locale:e.locale,onProductClick:({sku:b,name:m})=>{const u=md(b,i,r);e.onProductClick?.({sku:b,url:u,...m!==void 0&&m!==""?{name:m}:{}})},pricing:e.pricing};l!==void 0&&(h.recommendedText=l),p!==void 0&&(h.winnerHits=p),d!==void 0&&(h.productActions=d),n!==void 0&&(h.keyDifferencesHtml=n),e.i18n&&(h.i18n={comparisonHeading:e.i18n.panelTitleComparisonResults,recommendedChoiceLabel:e.i18n.recommendedChoiceLabel,highlightsLabel:e.i18n.highlightsLabel,keyDifferencesLabel:e.i18n.keyDifferencesLabel,viewMoreLabel:e.i18n.viewMoreLabel,specialCasesLabel:e.i18n.specialCasesLabel,addToCartButton:e.i18n.addToCartButton});const f=Xl(h);return(e.isMobile??jt())&&f.classList.add("gengage-chat-comparison--mobile"),f}function bd(t){const e=document.createElement("hr");e.className="gengage-chat-divider";const a=t.props?.label;if(a){const n=document.createElement("div");n.className="gengage-chat-divider-wrapper";const i=document.createElement("span");i.className="gengage-chat-divider-label",i.textContent=a,n.appendChild(e),n.appendChild(i);const r=document.createElement("hr");return r.className="gengage-chat-divider",n.appendChild(r),n}return e}var Ga,Wt,Wa,vr,yr,xr,_r,wr,kr=L((()=>{nt(),ct(),tg(),lg(),vg(),xg(),kg(),Sg(),er(),Pg(),Bg(),zg(),ir(),Ug(),Og(),Tr(),ge(),je(),ja(),Ga={ActionButtons:({element:t,context:e})=>qg(t,e),ActionButton:({element:t,context:e})=>jg(t,e),ProductCard:({element:t,context:e})=>$a(t,e),ProductDetailsPanel:({element:t,context:e})=>rd(t,e),ProductGrid:({element:t,spec:e,renderElement:a,context:n})=>hd(t,e,a,n),ReviewHighlights:({element:t,context:e})=>e.hideUserReviews===!0?null:cg(t,{emptyReviewsMessage:e.i18n?.emptyReviewsMessage,reviewFilterPositive:e.i18n?.reviewFilterPositive,reviewFilterNegative:e.i18n?.reviewFilterNegative,reviewCustomersMentionSingular:e.i18n?.reviewCustomersMentionSingular,reviewCustomersMentionPlural:e.i18n?.reviewCustomersMentionPlural,reviewSubjectsHeading:e.i18n?.reviewSubjectsHeading}),ComparisonTable:({element:t,context:e})=>fd(t,e),AITopPicks:({element:t,context:e})=>fg(t,e),GroundingReviewCard:({element:t,context:e})=>e.hideUserReviews===!0?null:yg(t,e),AIGroupingCards:({element:t,context:e})=>wg(t,e),AISuggestedSearchCards:({element:t,context:e})=>Cg(t,e),ProsAndCons:({element:t})=>Eg(t),CategoriesContainer:({element:t,context:e})=>Ng(t,e),HandoffNotice:({element:t,context:e})=>Rg(t,e),PanelRestoreCard:({element:t,context:e})=>Fg(t,e),ProductSummaryCard:({element:t,context:e})=>Dg(t,e),Divider:({element:t})=>bd(t),...rr},Wt=({element:t,renderElement:e})=>{if(!t.children||t.children.length===0)return null;const a=document.createElement("div");for(const n of t.children){const i=e(n);i&&a.appendChild(i)}return a},Wa=new Set(["color","colour","renk","renk kodu","color code"]),vr=new Set(["size","beden","boyut"]),yr=new Set(["finish","bitiş","bitişi"]),xr=["variants","variantOptions","variant_options","productVariants","product_variants","options"],_r=new Set(["H2","H3","H4","P","BR","UL","OL","LI","STRONG","B","EM","I"]),wr=new Set(["SCRIPT","STYLE","NOSCRIPT","IFRAME","OBJECT","EMBED"])}));function Cr(t){return{...Qe,...t?.i18n??{}}}function Sr(t){return t.watchStylesPreparedTitle??t.beautyStylesPreparedTitle}function Kt(t){return typeof t.status=="string"?t.status:"ready"}function Ka(t){const e=t.findIndex(a=>Kt(a)!=="loading");return e<0?0:e}function vd(t){if(typeof t!="string")return;const e=t.trim();if(!e)return;if(/^https?:\/\//i.test(e))return e;let a=e.split(/[?#]/)[0];if(a&&(a=a.replace(/^\/+/,""),a.startsWith("remoteConfig/")&&(a=a.slice(13)),!!a))return`https://configs.gengage.ai/assets/${a}`}function Er(t,e,a,n){const{grid:i,i18n:r}=t;i.innerHTML="",i.classList.remove("gengage-chat-product-grid--consulting-groups");const o=document.createElement("section");o.className="gengage-chat-consulting-loading-panel";const s=document.createElement("h4");s.className="gengage-chat-consulting-loading-panel-title",s.textContent=Yt(e,n,r),o.appendChild(s);const c=document.createElement("p");if(c.className="gengage-chat-consulting-loading-panel-copy",c.textContent=a==="loading"?r.consultingStyleLoadingDescription:r.consultingStyleUnavailableDescription,o.appendChild(c),a==="loading"){const l=document.createElement("div");l.className="gengage-chat-consulting-loading-grid";for(let p=0;p<3;p+=1){const d=document.createElement("div");d.className="gengage-chat-consulting-loading-card",l.appendChild(d)}o.appendChild(l)}i.appendChild(o)}function Yt(t,e,a){const n=i=>a.consultingFallbackStyleLabel.replace("{index}",String(i));return t.style_label??n(e)}function Ya(t,e){const a=t.variations[e];if(!a)return;const{grid:n,ctx:i,i18n:r}=t;n.innerHTML="",n.classList.remove("gengage-chat-product-grid--consulting-groups");const o=Kt(a),s=e+1;if(o==="loading"){Er(t,a,"loading",s);return}if(o!=="ready"&&(!Array.isArray(a.product_list)||a.product_list.length===0)){Er(t,a,"unavailable",s);return}const c=Array.isArray(a.product_list)?a.product_list:[],l=Array.isArray(a.recommendation_groups)?a.recommendation_groups:[];if(l.length>0){n.classList.add("gengage-chat-product-grid--consulting-groups");const p=new Map;for(const u of c){const g=typeof u?.sku=="string"?u.sku:void 0;g&&p.set(g,u)}const d=(u,g,v,_)=>{if(g.length===0)return;const y=document.createElement("section");y.className="gengage-chat-consulting-group";const k=document.createElement("div");k.className="gengage-chat-consulting-group-header";const P=document.createElement("h4");if(P.className="gengage-chat-consulting-group-label",P.textContent=`${u} (${g.length})`,k.appendChild(P),typeof _=="string"&&_.trim().length>0){const E=document.createElement("p");E.className="gengage-chat-consulting-group-reason",E.textContent=_,k.appendChild(E)}y.appendChild(k);const w=document.createElement("div");w.className="gengage-chat-product-grid gengage-chat-consulting-group-grid",v&&w.classList.add("gengage-chat-consulting-group-grid--single-group"),w.style.setProperty("--consulting-group-columns",String(Math.max(1,Math.min(4,g.length))));for(const E of g){const z=$a({type:"ProductCard",props:{product:E}},i??{onAction:()=>{}});w.appendChild(z)}y.appendChild(w),n.appendChild(y)},h=new Set,f=[];for(const u of l){const g=(Array.isArray(u.skus)?u.skus.filter(y=>typeof y=="string"&&y.trim().length>0):[]).map(y=>(h.add(y),p.get(y))).filter(y=>!!y);if(g.length===0)continue;const v=typeof u.label=="string"&&u.label.trim().length>0?u.label:r.consultingFallbackGroupLabel,_=typeof u.reason=="string"?u.reason:void 0;f.push({labelText:v,products:g,..._!==void 0?{reasonText:_}:{}})}const b=c.filter(u=>{const g=typeof u?.sku=="string"?u.sku:"";return g.length>0&&!h.has(g)});b.length>0&&f.push({labelText:r.consultingOtherCompatibleProductsLabel,products:b});const m=f.length===1;for(const u of f)d(u.labelText,u.products,m,u.reasonText);return}for(const p of c){const d=$a({type:"ProductCard",props:{product:p}},i??{onAction:()=>{}});n.appendChild(d)}}function Qa(t,e,a,n){const i=Kt(e),r=n.consultingStyleLoadingBadge,o=n.consultingStyleUnavailableBadge;t.classList.remove("gengage-chat-consulting-style-btn--loading","gengage-chat-consulting-style-btn--muted"),i==="loading"?t.classList.add("gengage-chat-consulting-style-btn--loading"):i!=="ready"&&t.classList.add("gengage-chat-consulting-style-btn--muted"),t.setAttribute("aria-label",Yt(e,a+1,n));let s=t.querySelector(".gengage-chat-consulting-style-media");s?s.innerHTML="":(s=document.createElement("div"),s.className="gengage-chat-consulting-style-media",t.appendChild(s));const c=vd(e.image_url);if(c&&pe(c)){const p=document.createElement("img");p.className="gengage-chat-consulting-style-image",p.draggable=!1,he(p,"src",c),p.alt=Yt(e,a+1,n),p.loading="lazy",Ce(p),s.appendChild(p)}const l=document.createElement("span");if(l.className="gengage-chat-consulting-style-caption",l.textContent=Yt(e,a+1,n),s.appendChild(l),i==="loading"||i!=="ready"){const p=document.createElement("span");p.className="gengage-chat-consulting-style-status",p.textContent=i==="loading"?r:o,s.appendChild(p)}}function Pr(t,e,a,n){t.addEventListener("click",()=>{const i=xt.get(e);i&&i.selectedIndex!==n&&(i.selectedIndex=n,a.querySelectorAll(".gengage-chat-consulting-style-btn").forEach((r,o)=>{r.classList.toggle("gengage-chat-consulting-style-btn--active",o===n)}),Ya(i,n))})}function yd(t,e,a,n){const i=Cr(n),r=Ka(a),o=document.createElement("div");o.className="gengage-chat-consulting-style-picker";const s={grid:e,ctx:n,variations:a,i18n:i,selectedIndex:r};xt.set(o,s);const c=document.createElement("div");c.className="gengage-chat-consulting-style-picker-title",c.textContent=Sr(i).replace("{count}",String(a.length)),o.appendChild(c);const l=document.createElement("div");l.className="gengage-chat-consulting-style-grid",o.appendChild(l),a.forEach((p,d)=>{const h=document.createElement("button");h.type="button",h.className="gengage-chat-consulting-style-btn gds-card",d===r&&h.classList.add("gengage-chat-consulting-style-btn--active"),Qa(h,p,d,i),Pr(h,o,l,d),l.appendChild(h)}),t.appendChild(o),Ya(s,r)}function xd(t,e,a){const n=t.querySelector(".gengage-chat-consulting-style-picker"),i=_d(t);if(!n||!i)return!1;const r=n.querySelector(".gengage-chat-consulting-style-grid");if(!r)return!1;const o=Cr(a);let s=xt.get(n);if(s)s.grid=i,s.ctx=a,s.variations=e,s.i18n=o;else{const h={grid:i,ctx:a,variations:e,i18n:o,selectedIndex:Ka(e)};xt.set(n,h),s=h}const c=n.querySelector(".gengage-chat-consulting-style-picker-title");c&&(c.textContent=Sr(o).replace("{count}",String(e.length)));const l=s;let p=l.selectedIndex;p>=e.length&&(p=Math.max(0,e.length-1)),p<0&&(p=0),e.length>0&&Kt(e[p]??{})==="loading"&&(p=Ka(e)),l.selectedIndex=p;const d=[...r.querySelectorAll(".gengage-chat-consulting-style-btn")];if(d.length===0)return!1;for(let h=0;h<e.length;h+=1){const f=e[h];let b=d[h];b?Qa(b,f,h,o):(b=document.createElement("button"),b.type="button",b.className="gengage-chat-consulting-style-btn gds-card",Qa(b,f,h,o),Pr(b,n,r,h),r.appendChild(b),d[h]=b)}for(;r.querySelectorAll(".gengage-chat-consulting-style-btn").length>e.length;)r.lastElementChild?.remove();return r.querySelectorAll(".gengage-chat-consulting-style-btn").forEach((h,f)=>{h.classList.toggle("gengage-chat-consulting-style-btn--active",f===l.selectedIndex)}),Ya(l,l.selectedIndex),!0}function _d(t){const e=[...t.children];for(let a=e.length-1;a>=0;a-=1){const n=e[a];if(n.classList.contains("gengage-chat-product-grid"))return n}return t.querySelector(":scope > .gengage-chat-product-grid")}var xt,wd=L((()=>{ge(),je(),bt(),kr(),xt=new WeakMap}));function Za(t){const e=typeof t.props?.source=="string"?t.props.source:void 0,a=(Array.isArray(t.props?.styleVariations)?t.props.styleVariations:[]).filter(n=>typeof n.style_label=="string"&&n.style_label.trim().length>0);return{isConsulting:ri(e)&&a.length>0,source:e,styleVariations:a}}function kd(t,e,a,n){yd(t,e,a.styleVariations,n)}function Cd(t){return!t.isConsulting||t.styleVariations.length===0?!0:t.styleVariations.some(e=>(typeof e.status=="string"?e.status:"ready")!=="loading")}function Sd(t,e,a){return!e.isConsulting||!e.source?!1:xd(t,e.styleVariations,a)}var Tr=L((()=>{wd(),oi()}));function Ed(t){const e=document.createElement("div");e.className="gengage-chat-launcher-container",e.dataset.gengagePart="chat-launcher-container";const a=document.createElement("div");a.className="gengage-chat-launcher-content-area",a.dataset.gengagePart="chat-launcher-content-primary",e.appendChild(a);const n=document.createElement("button");if(n.type="button",n.setAttribute("aria-label",t.ariaLabel??"Open chat"),t.imageUrl){n.className="gengage-chat-launcher gengage-chat-launcher--image-mode";const r=document.createElement("img");if(r.src=t.imageUrl,r.alt="",r.draggable=!1,t.mobileImageUrl){r.className="gengage-chat-launcher-img--desktop";const o=document.createElement("img");o.src=t.mobileImageUrl,o.alt="",o.draggable=!1,o.className="gengage-chat-launcher-img--mobile",n.appendChild(r),n.appendChild(o)}else n.appendChild(r)}else n.className="gengage-chat-launcher",n.innerHTML=t.svgMarkup??Ar;if(n.dataset.gengagePart="chat-launcher-button",t.tooltip!==void 0){const r=document.createElement("span");r.className="gengage-chat-launcher-tooltip",r.dataset.gengagePart="chat-launcher-tooltip",r.textContent=t.tooltip,n.appendChild(r)}t.hideMobile&&(e.dataset.hideMobile="1"),t.mobileBreakpoint!==void 0&&(e.dataset.mobileBreakpoint=String(t.mobileBreakpoint)),n.addEventListener("click",t.onClick),e.appendChild(n);const i=document.createElement("div");return i.className="gengage-chat-launcher-content-area-bottom",i.dataset.gengagePart="chat-launcher-content-secondary",e.appendChild(i),{container:e,button:n,contentArea:a,contentAreaBottom:i}}var Ar,Pd=L((()=>{Ar=`<svg width="28" height="28" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
47
+ `,document.head.appendChild(t)}var ze,fa,At,jn,$n,Vn,Gn,ba,qe,Wn,it=L((()=>{Ke(),Ls(),ze="gengage-global-toast-root",fa="gengage-global-toast-style",At="gengage-global-toast-root--visible",jn=4200,$n=1500,Vn=15e3,Gn=["--gengage-font-family","--surface-card","--text-primary","--text-muted","--border-default","--radius-card","--shadow-3","--error","--ds-toast-error-bg","--ds-toast-error-border","--ds-toast-error-accent","--ds-toast-error-fg","--ds-toast-error-shadow"],ba=!1,qe=null,Wn=[/failed to fetch/i,/networkerror/i,/network request failed/i,/load failed/i,/err_network/i,/fetch failed/i,/network error/i]}));function Hs(){if(rt!==null)return rt;try{rt=localStorage.getItem("gengage:debug")==="1"}catch{rt=!1}return rt}function Be(t,e,a){if(!Hs())return;const n=[`[gengage:${t}]`,e];a!==void 0&&n.push(a),console.debug(...n)}var rt,ot=L((()=>{rt=null}));function Fs(){if(typeof window>"u")return;const t=window;t.__gengageSdkRuntimeInfoLogged||(t.__gengageSdkRuntimeInfoLogged=!0,console.info(`[gengage] @gengage/assistant-fe v${Kn} (${Yn})`))}var Kn,Yn,Ds=L((()=>{Kn=("0.6.36".trim(),"0.6.36".trim()),Yn=("iife-build".trim(),"iife-build".trim())}));function Us(t){return t.replace(/([A-Z])/g,"-$1").toLowerCase()}var pt,Lt=L((()=>{Ke(),Ln(),As(),it(),ot(),Ds(),pt=class{constructor(){this.isVisible=!1,this.isInitialised=!1,this._handlers=new Map,this._cleanups=[],this._ownsRoot=!1,this._destroying=!1}async init(t){if(this.isInitialised){console.warn("[gengage] Widget already initialised. Call update() instead.");return}const e=Ps(t.theme);Fs(),this.config={...t,theme:e,session:An(t.session)},this.root=this._resolveMount(t.mountTarget),this._applyTheme(e),Is();const a=Pt("gengage:context:update",n=>this.update(n));this._cleanups.push(a),Be("lifecycle",`${this.constructor.name}.init`,{accountId:t.accountId,sku:t.pageContext?.sku});try{await this.onInit(this.config)}catch(n){throw this.destroy(),n}this._destroying||(this.isInitialised=!0,Be("lifecycle",`${this.constructor.name} ready`),this.emit("ready"))}update(t){this.isInitialised&&(this.config.pageContext?this.config={...this.config,pageContext:{...this.config.pageContext,...t}}:t.pageType!==void 0&&(this.config={...this.config,pageContext:t}),this.onUpdate(t),this.emit("context-update",this.config.pageContext))}show(){this.isVisible||(this.isVisible=!0,this.root.style.display="",this.onShow(),this.emit("show"))}hide(){this.isVisible&&(this.isVisible=!1,this.root.style.display="none",this.onHide(),this.emit("hide"))}destroy(){this._destroying||(this._destroying=!0,this.emit("destroy"),this._cleanups.forEach(t=>t()),this._cleanups.length=0,this._handlers.clear(),this.onDestroy(),this._cleanupRoot(),this.isInitialised=!1)}_cleanupRoot(){this._ownsRoot?this.root.remove():this.root.innerHTML=""}on(t,e){return this._handlers.has(t)||this._handlers.set(t,new Set),this._handlers.get(t).add(e),()=>this._handlers.get(t)?.delete(e)}emit(t,...e){this._handlers.get(t)?.forEach(a=>a(...e))}addCleanup(t){this._cleanups.push(t)}_resolveMount(t){if(t instanceof HTMLElement)return t;if(typeof t=="string"){const a=document.querySelector(t);if(!a)throw new Error(`[gengage] Mount target not found: "${t}"`);return a}const e=document.createElement("div");return e.dataset.gengageWidget=this.constructor.name.toLowerCase(),document.body.insertBefore(e,document.body.firstChild),this._ownsRoot=!0,e}_applyTheme(t){if(t){for(const[e,a]of Object.entries(t))if(a!==void 0){const n=e.startsWith("--")?e:`--gengage-${Us(e)}`;this.root.style.setProperty(n,a)}}}}}));function Qn(){const t=Date.now(),e=new Uint8Array(16);crypto.getRandomValues(e),e[0]=t/2**40&255,e[1]=t/2**32&255,e[2]=t/2**24&255,e[3]=t/2**16&255,e[4]=t/2**8&255,e[5]=t&255,e[6]=e[6]&15|112,e[8]=e[8]&63|128;const a=Array.from(e,n=>n.toString(16).padStart(2,"0")).join("");return`${a.slice(0,8)}-${a.slice(8,12)}-${a.slice(12,16)}-${a.slice(16,20)}-${a.slice(20)}`}var Os=L((()=>{}));function qs(t){if(typeof t!="object"||t===null)return!1;const e=t;return typeof e.gengage=="string"&&typeof e.type=="string"}function js(){try{return typeof process<"u"&&process.env.NODE_ENV!=="production"}catch{return!1}}var Zn,$s=L((()=>{Zn=class{constructor(t){this._handlers=new Map,this._destroyed=!1,this._namespace=t.namespace,this._allowedOrigins=t.allowedOrigins??[location.origin],this._onMessage=t.onMessage,this._allowedOrigins.includes("*")&&js()&&console.warn("[gengage] postMessage bridge using wildcard origin. Set allowedOrigins for production security."),this._messageListener=e=>this._handlePostMessage(e),window.addEventListener("message",this._messageListener)}send(t,e){if(this._destroyed)return;const a={namespace:this._namespace,type:t};e!==void 0&&(a.payload=e),window.dispatchEvent(new CustomEvent("gengage:bridge:message",{detail:a,bubbles:!1}))}on(t,e){this._handlers.has(t)||this._handlers.set(t,new Set);const a=this._handlers.get(t);return a.add(e),()=>{a.delete(e),a.size===0&&this._handlers.delete(t)}}destroy(){this._destroyed||(this._destroyed=!0,window.removeEventListener("message",this._messageListener),this._handlers.clear())}_handlePostMessage(t){if(this._destroyed||!this._isOriginAllowed(t.origin))return;const e=t.data;if(!qs(e)||e.gengage!==this._namespace)return;const a={type:e.type};e.payload!==void 0&&(a.payload=e.payload),this._onMessage?.(a);const n=this._handlers.get(a.type);if(n)for(const i of n)i(a.payload)}_isOriginAllowed(t){return this._allowedOrigins.includes("*")?!0:this._allowedOrigins.includes(t)}}}));function Xn(t,e){if(typeof window>"u"||!he(t))return!1;const a=new CustomEvent("gengage:navigate",{detail:e===void 0?{url:t}:{url:t,newTab:e},cancelable:!0});return window.dispatchEvent(a)?(e?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t,!0):!1}var Jn=L((()=>{de()}));function Vs(t,e,a={}){const n=t.action,i=a.logger??ei;switch(Be("action",`routing action: ${n.kind}`,n),n.kind){case"open_chat":e.openChat?.(n.payload);return;case"navigate":{if(typeof n.url!="string"){st(n,e,a,i);return}if(!he(n.url)){i.warn("[gengage] Blocked navigation to unsafe URL:",n.url);return}const r=typeof n.newTab=="boolean"?n.newTab:void 0;if(e.navigate){e.navigate({url:n.url,...r!==void 0&&{newTab:r}});return}(a.defaultNavigate??Gs)(n.url,r);return}case"save_session":if(typeof n.sessionId!="string"||typeof n.sku!="string"){st(n,e,a,i);return}e.saveSession?.({sessionId:n.sessionId,sku:n.sku});return;case"add_to_cart":if(typeof n.sku!="string"||typeof n.quantity!="number"||typeof n.cartCode!="string"){st(n,e,a,i);return}e.addToCart?.({sku:n.sku,quantity:n.quantity,cartCode:n.cartCode});return;case"script_call":{if(a.allowScriptCall===!1){st(n,e,a,i);return}if(typeof n.name!="string"){st(n,e,a,i);return}const r=Ws(n.payload)?n.payload:void 0;e.scriptCall?.({name:n.name,...r!==void 0&&{payload:r}});return}default:st(n,e,a,i)}}function st(t,e,a,n){const i=a.unknownActionPolicy??"log-and-ignore";if(i==="delegate"){e.unknown?.(t),e.unknown||n.warn("[gengage] Unknown action received without delegate handler",t);return}if(i==="throw")throw new Error(`[gengage] Unknown action kind: ${t.kind}`);n.warn("[gengage] Unknown action ignored",t)}function Gs(t,e){if(!(typeof window>"u")){if(!he(t)){console.warn("[gengage] Blocked navigation to unsafe URL:",t);return}Xn(t,e)}}function Ws(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var ei,Ks=L((()=>{de(),ot(),Jn(),ei=console}));function He(t){const e=t?.trim();return e||"tr"}var ht=L((()=>{}));function ve(t){const e=globalThis.CSS?.escape;if(typeof e=="function")return e(t);const a=Array.from(t);return a.map((n,i)=>{const r=n.codePointAt(0);return r===void 0?"":r===0?"�":r>=1&&r<=31||r===127||i===0&&r>=48&&r<=57||i===1&&a[0]==="-"&&r>=48&&r<=57?`\\${r.toString(16)} `:i===0&&n==="-"&&a.length===1?"\\-":r>=128||/[A-Za-z0-9_-]/.test(n)?n:`\\${n}`}).join("")}var It=L((()=>{}));function Ys(t){return ti.includes(t.type)?t.size>5242880?{ok:!1,reason:"too_large"}:{ok:!0}:{ok:!1,reason:"invalid_type"}}var ti,Qs,Zs=L((()=>{ti=["image/jpeg","image/png","image/webp"],Qs=5*1024*1024}));function ai(t){return typeof t=="object"&&t!==null&&typeof t.type=="string"}function Xs(t){const e=[];let a=0,n=!1,i=!1,r=0;for(let o=0;o<t.length;o++){const s=t[o];if(i){i=!1;continue}if(s==="\\"&&n){i=!0;continue}if(s==='"'){n=!n;continue}n||(s==="{"&&a++,s==="}"&&(a--,a===0&&(e.push(t.slice(r,o+1)),r=o+1)))}return e.length>0?e:[t]}function ni(t,e){const a=t.trim();if(!a||a.startsWith(":"))return!1;const n=a.startsWith("data: ")?a.slice(6):a;if(n==="[DONE]")return e.onDone?.(),!0;try{const i=JSON.parse(n);return ai(i)?(Be("stream",`event: ${i.type}`,i),e.onEvent(i),i.type==="done"?(e.onDone?.(),!0):!1):!1}catch{const i=Xs(n);if(i.length>1){for(const r of i)try{const o=JSON.parse(r);if(!ai(o))continue;if(e.onEvent(o),o.type==="done")return e.onDone?.(),!0}catch{}return!1}return!1}}async function Nt(t,e){if(!t.ok){e.onError?.(new Error(`HTTP ${t.status}: ${t.statusText}`));return}if(!t.body){e.onError?.(new Error("Response body is null — streaming not supported"));return}const a=t.body.getReader(),n=new TextDecoder("utf-8");let i="";const r=e.idleTimeoutMs??6e4,o=Symbol("idle-timeout");let s=!1;try{for(;;){const c=a.read();let l;const p=await(r>0?Promise.race([c.then(b=>(clearTimeout(l),b)),new Promise(b=>{l=setTimeout(()=>b(o),r)})]):c);if(p===o){s=!0,await a.cancel();break}const{done:d,value:h}=p;if(d)break;i+=n.decode(h,{stream:!0});const f=i.split(`
48
+ `);i=f.pop()??"";for(const b of f)if(ni(b,e))return}if(i.trim()&&ni(i,e))return}catch(c){if(c instanceof DOMException&&c.name==="AbortError")return;e.onError?.(c instanceof Error?c:new Error(String(c)))}finally{s||a.releaseLock()}e.onDone?.()}var va=L((()=>{ot()}));function Js(t){const e=(t.display_keywords??[]).flatMap(i=>Mt(i,{stripLeadingStopWords:!0})),a=e.filter((i,r)=>e.indexOf(i)===r);if(a.length>0)return a.slice(0,ya);const n=[...Mt(t.chosen_attribute,{stripLeadingStopWords:!0}),...Mt(t.short_name)];return n.filter((i,r)=>n.indexOf(i)===r).slice(0,ya)}function ec(t){return Js(t).join(" • ")}var ya,ii,Mt,tc=L((()=>{ya=3,ii=(t,e)=>{const a=t.replace(/\s+/g," ").trim().replace(/^[,.;:!?•-]+|[,.;:!?•-]+$/g,"");if(!a)return"";const n=e?.stripLeadingStopWords?a.replace(/^(?:daha|için)\s+/i,"").trim():a;return n?n.split(/\s+/).slice(0,3).join(" ").trim():""},Mt=(t,e)=>t?t.split(/[•,;:/()]|(?:\sve\s)|(?:\sand\s)|(?:\sile\s)|(?:\sfor\s)|(?:\swith\s)/i).map(a=>ii(a,e)).filter(Boolean):[]}));function ri(t){return t==="beauty_consulting"||t==="account_expert"}var oi=L((()=>{}));function xa(...t){for(const e of t){if(typeof e!="string")continue;const a=e.trim();if(a.length>0)return a}}function _a(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.trim().length>0).map(e=>e.trim()):[]}function Bt(t){const e={...t},a=xa(e.sku),n=_a(e.group_skus);if(a?e.sku=a:delete e.sku,n.length>0?e.group_skus=n:delete e.group_skus,a||n.length>0)delete e.image_url;else{const i=xa(e.image_url);i?e.image_url=i:delete e.image_url}return e}var wa=L((()=>{}));function Rt(t){if(typeof t.type!="string")return null;if(ac(t))return t;const e=t;switch(e.type){case"outputText":return nc(e);case"suggestedActions":return ic(e);case"productList":return rc(e);case"productDetails":return oc(e);case"productDetailsSimilars":return sc(e);case"comparisonTable":return cc(e);case"context":return pc(e);case"chatStreamEnd":return hc();case"loading":return uc(e);case"panelLoading":return mc(e);case"similarLoading":return fc(e);case"redirect":return bc(e);case"error":return vc(e);case"dummy":return yc(e);case"launcherAction":return xc(e);case"text":return ka(e);case"productItem":return _c(e);case"text_image":return si(e);case"quick_qna":return ci(e);case"reviewHighlights":return wc(e);case"aiProductSuggestions":return Sc(e);case"aiProductGroupings":return Ec(e);case"aiSuggestedSearches":return Pc(e);case"prosAndCons":return kc(e);case"getGroundingReview":return Ac(e);case"voice":return Ic(e);case"visitorDataResponse":return Cc(e);case"productListPreview":return Lc();case"groupList":return Nc(e);case"formGetInfo":case"formTestDrive":case"formServiceRequest":case"launchFormPage":return Mc(e);case"launcherContent":return Rc(e);case"handoff":return Bc(e);case"uiSpec":return $c(e);default:return null}}function ac(t){const e=t.type;if(typeof e!="string")return!1;switch(e){case"metadata":return typeof t.sessionId=="string"&&typeof t.model=="string";case"text_chunk":return typeof t.content=="string";case"ui_spec":{const a=t.widget;if(a!=="chat"&&a!=="qna"&&a!=="simrel")return!1;const n=xe(t.spec);return n?typeof n.root=="string"&&xe(n.elements)!==null:!1}case"action":{const a=xe(t.action);return a!==null&&typeof a.kind=="string"}case"error":return typeof t.code=="string"&&typeof t.message=="string";case"done":return!0;default:return!1}}function nc(t){const e=ee(t.payload.text,t.payload.plain_text)??"",a=ee(t.payload.plain_text,t.payload.text)??e;if(t.payload.is_error)return{type:"error",code:"BACKEND_ERROR",message:a||"Backend returned an error"};const n={type:"text_chunk",content:e,final:!0},i=t.payload.product_mentions;Array.isArray(i)&&i.length>0&&(n.productMentions=i.filter(c=>typeof c=="object"&&c!==null&&typeof c.sku=="string"&&typeof c.short_name=="string"));const r=t.payload.sku_to_product_item;r&&typeof r=="object"&&!Array.isArray(r)&&(n.skuToProductItem=r);const o=t.payload.conversation_mode;typeof o=="string"&&o&&(n.conversationMode=o);const s=t.payload.render_hint;return typeof s=="string"&&s&&(n.renderHint=s),t.payload.kvkk===!0&&(n.kvkk=!0),n}function ic(t){return li((t.payload.actions??[]).map(e=>{const a=ee(e.title)??"",n=Ee(e.requestDetails,a),i=n?{label:a,action:n}:null;return i?(typeof e.icon=="string"&&(i.icon=e.icon),typeof e.image=="string"&&(i.image=e.image),i):null}).filter(mt),"chat")}function rc(t){const e=Array.isArray(t.payload.grouped_assignment)?t.payload.grouped_assignment:[],a=(Array.isArray(t.payload.style_variations)?t.payload.style_variations:[]).map(s=>{const c=ee(s.style_label);if(!c)return null;const l=ee(s.style_mood),p=ee(s.image_url??void 0),d=(Array.isArray(s.product_list)?s.product_list:[]).map(f=>{const b=xe(f);return b?Ea(xe(b.product_detail)??xe(b.product)??b):null}).filter(mt),h=Array.isArray(s.recommendation_groups)?s.recommendation_groups.map(f=>({label:ee(f.label)??"",reason:ee(f.reason)??"",skus:Array.isArray(f.skus)?f.skus.filter(b=>typeof b=="string"&&b.trim().length>0):[]})):[];return{style_label:c,style_mood:l??"",...p?{image_url:p}:{},...typeof s.status=="string"?{status:s.status}:{},product_list:d,recommendation_groups:h}}).filter(mt),n=t.payload.product_list??[],i=ri(t.payload.source)&&a.length>0?a[0].product_list:null,r=i?Hc(i,"chat"):e.length>0?zc(e,n,"chat")??Sa(n,"chat"):Sa(n,"chat");r.panelHint="panel";const o=r.spec.elements[r.spec.root];if(o){const s={};typeof t.payload.offset=="number"&&(s.offset=t.payload.offset),typeof t.payload.end_of_list=="boolean"&&(s.endOfList=t.payload.end_of_list),typeof t.payload.title=="string"&&(s.panelTitle=t.payload.title),typeof t.payload.source=="string"&&(s.source=t.payload.source),a.length>0&&(s.styleVariations=a),t.payload.replace_panel===!0&&(s.replacePanel=!0),(t.payload.ranking_state==="pending"||t.payload.ranking_state==="final")&&(s.rankingState=t.payload.ranking_state);const c=t.payload.sequence_id??t.payload.search_id;typeof c=="string"&&c.length>0&&(s.sequenceId=c),Object.keys(s).length>0&&(o.props={...o.props,...s})}return r}function oc(t){const e=t.payload.productDetails;if(!e)return Dc("chat");const a=Fe(e);return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ProductDetailsPanel",props:{product:{...e,...a}}}}},panelHint:"panel"}}function sc(t){const e=Sa(t.payload.similarProducts??[],"chat"),a=e.spec.elements[e.spec.root];return a&&(a.props={...a.props,similarsAppend:!0}),{...e,panelHint:"panel"}}function cc(t){const e=t.payload.multiple_product_details??[],a=t.payload,n={key_differences:a.key_differences,recommended_choice:a.recommended_choice,recommended_choice_sku:a.recommended_choice_sku,special_considerations:a.special_considerations,criteria_view:a.criteria_view,criteria_view_short:a.criteria_view_short,compared_field_names:a.compared_field_names,winner_product:a.winner_product,winner_hits:a.winner_hits,...t.payload.product_comparison_framework??{}},i=t.payload.table,r=t.payload.features_list,o=[];for(const u of e){const g=Fe(u);o.push(g)}const s=lc(i,o,n,r);let c;n?.recommended_choice_sku?c=n.recommended_choice_sku:n?.winner_product&&n.winner_product.length>0&&(c=n.winner_product[0]?.product_detail?.sku??n.winner_product[0]?.sku);const l=c?o.find(u=>u.sku===c)??o[0]:o[0],p=[];if(Array.isArray(n?.key_differences))for(const u of n.key_differences)typeof u=="string"&&p.push(u);const d=gi(n?.special_considerations),h=n?.recommended_choice,f=n?.winner_hits,b={};for(const u of o){const g=u.sku;g&&(b[g]={title:u.name??g,type:"launchSingleProduct",payload:{sku:g}})}const m={products:o,attributes:s,highlights:p,productActions:b};return l&&(m.recommended=l),d.length>0&&(m.specialCases=d),h&&(m.recommendedText=h),f&&(m.winnerHits=f),typeof n?.key_differences=="string"&&(m.keyDifferencesHtml=n.key_differences),n?.special_considerations&&(m.specialConsiderations=n.special_considerations),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ComparisonTable",props:m}}},panelHint:"panel"}}function lc(t,e,a,n){if(!t)return[];const i=Object.entries(t);if(i.length===0)return[];const r=i[0]?.[1];if(Array.isArray(r)){const d=a.criteria_view??a.criteria_view_short??{},h=a.compared_field_names??Object.keys(t),f=[];for(const b of h){const m=t[b];if(!m||!Array.isArray(m))continue;const u=d[b]??b;f.push({label:u,values:m.map(g=>typeof g=="string"?g:String(g??""))})}return f}const o=t,s=e.map(d=>String(d.sku??"")).filter(d=>d.length>0),c=a.criteria_view??a.criteria_view_short??{},l=(n&&n.length>0?n:a.compared_field_names&&a.compared_field_names.length>0?a.compared_field_names:gc(o)).filter(d=>d!=="name"&&d!=="name_short"&&!d.endsWith("_short")),p=[];for(const d of l){const h=s.map(b=>{const m=o[b];if(!m||typeof m!="object")return"";const u=m[`${d}_short`],g=m[d];return dc(u??g)});if(h.every(b=>b.length===0))continue;const f=c[d]??d;p.push({label:f,values:h})}return p}function gc(t){const e=[],a=new Set;for(const n of Object.values(t))if(!(!n||typeof n!="object"))for(const i of Object.keys(n))a.has(i)||(a.add(i),e.push(i));return e}function dc(t){return typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):""}function pc(t){return{type:"metadata",sessionId:"",model:"",meta:{panel:t.payload.panel,messages:t.payload.messages,message_id:t.payload.message_id}}}function hc(){return{type:"done"}}function uc(t){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,loadingText:t.payload.text,thinkingMessages:t.payload.thinking_messages,dynamicLoading:t.payload.is_dynamic===!0}}}function mc(t){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,panelLoading:!0,panelPendingType:t.payload?.pending_type,loadingText:t.payload?.text}}}function fc(t){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,similarPanelLoading:!0,panelPendingType:t.payload?.pending_type,loadingText:t.payload?.text}}}function bc(t){const e=ee(t.payload.url);return e?{type:"action",action:{kind:"navigate",url:e,newTab:t.payload.new_tab===!0}}:{type:"metadata",sessionId:"",model:"",meta:{redirect:t.payload,redirectTarget:ee(t.payload.to)}}}function vc(t){return{type:"error",code:"BACKEND_ERROR",message:ee(t.payload?.text,t.payload?.message,t.payload?.error)??"Backend returned an error"}}function yc(t){return{type:"metadata",sessionId:"",model:"",meta:{noop:!0}}}function xc(t){const e=t.payload??{};if(Array.isArray(e.action_list)){const i={action_list:e.action_list},r=typeof e.type=="string"?e.type:void 0,o=typeof e.theme=="string"?e.theme:void 0;return r!==void 0&&(i.type=r),o!==void 0&&(i.theme=o),ci({type:"quick_qna",payload:i})}const a=xe(e.action);if(a){const i={action:a},r=typeof e.text=="string"?e.text:void 0,o=typeof e.image_url=="string"?e.image_url:void 0,s=typeof e.theme=="string"?e.theme:void 0;return r!==void 0&&(i.text=r),o!==void 0&&(i.image_url=o),s!==void 0&&(i.theme=s),si({type:"text_image",payload:i})}const n=typeof e.text=="string"?e.text:"";if(n){const i={text:n},r=typeof e.type=="string"?e.type:void 0,o=typeof e.theme=="string"?e.theme:void 0,s=xe(e.payload)??void 0;return r!==void 0&&(i.type=r),s!==void 0&&(i.payload=s),o!==void 0&&(i.theme=o),ka({type:"text",payload:i})}return{type:"metadata",sessionId:"",model:"",meta:{launcherAction:e}}}function ka(t){const e={text:ee(t.payload.text)??""};return typeof t.payload.theme=="string"&&(e.theme=t.payload.theme),t.payload.payload!==void 0&&(e.payload=t.payload.payload),{type:"ui_spec",widget:"qna",spec:{root:"root",elements:{root:{type:"QuestionHeading",props:e}}}}}function _c(t){return Fc(t.payload,"qna")}function si(t){const e=ee(t.payload.text)??"",a=Ee(t.payload.action,e);if(a){const i={label:e||a.title,action:a};return typeof t.payload.image_url=="string"&&(i.image=t.payload.image_url),typeof t.payload.theme=="string"&&(i.theme=t.payload.theme),{type:"ui_spec",widget:"qna",spec:{root:"root",elements:{root:{type:"ActionButton",props:i}}}}}const n={text:e};return typeof t.payload.theme=="string"&&(n.theme=t.payload.theme),ka({type:"text",payload:n})}function ci(t){return li((t.payload.action_list??[]).map(e=>{const a=ee(e.title)??"",n=Ee(e.requestDetails,a),i=n?{label:a,action:n}:null;return i?(typeof e.icon=="string"&&(i.icon=e.icon),typeof e.image=="string"&&(i.image=e.image),i):null}).filter(mt),"qna")}function wc(t){const e={reviews:(t.payload.reviews??[]).map(a=>{const n={};return typeof a.review_class=="string"&&(n.review_class=a.review_class),typeof a.review_text=="string"&&(n.review_text=a.review_text),(typeof a.review_rating=="string"||typeof a.review_rating=="number")&&(n.review_rating=a.review_rating),typeof a.review_tag=="string"&&(n.review_tag=a.review_tag),n})};return typeof t.payload.sku=="string"&&(e.sku=t.payload.sku),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ReviewHighlights",props:e}}}}}function kc(t){const e={};return Array.isArray(t.payload.pros)&&(e.pros=t.payload.pros),Array.isArray(t.payload.cons)&&(e.cons=t.payload.cons),typeof t.payload.product_name=="string"&&(e.productName=t.payload.product_name),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ProsAndCons",props:e}}}}}function Cc(t){return{type:"metadata",sessionId:"",model:"",meta:{visitorDataResponse:t.payload}}}function Sc(t){const e=t.payload.product_suggestions??[],a=[];for(let n=0;n<e.length;n++){const i=e[n];if(!i)continue;const r=Uc(i);if(!r)continue;const o={product:r},s=Ee(i.requestDetails,r.name);s&&(o.action=s),typeof i.role=="string"&&(o.role=i.role),typeof i.reason=="string"&&(o.reason=i.reason),typeof i.review_highlight=="string"&&(o.reviewHighlight=i.review_highlight),Array.isArray(i.labels)&&(o.labels=i.labels),typeof i.expert_quality_score=="number"&&(o.expertQualityScore=i.expert_quality_score),a.push(o)}return a.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiProductSuggestions:t.payload.product_suggestions??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AITopPicks",props:{suggestions:a}}}}}}function Ec(t){const e=t.payload.product_groupings??[],a=[],n=[];for(let i=0;i<e.length;i++){const r=e[i];if(!r)continue;const o=ee(r.name)??"",s=ee(r.description),c=ee(r.highlight),l=Array.isArray(r.labels)?gi(r.labels):[],p=ee(r.sku,r.repr_sku),d=ee(r.image,r.repr_image),h=Tc(r,o,p),f=(Array.isArray(r.group_products)?r.group_products:[]).map(u=>{const g=xe(u);return g?Ea(g):null}).filter(mt),b=d??ee(...f.map(u=>u.imageUrl));if(o&&f.length>0){const u={groupName:o,products:f};b&&(u.image=b),s&&(u.description=s),c&&(u.highlight=c),l.length>0&&(u.labels=l),a.push(u)}if(!h)continue;const m={name:o,action:h};l.length>0&&(m.labels=l),d!==void 0&&(m.image=d),n.push(m)}return a.length>0?{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"CategoriesContainer",props:{groups:a}}}},panelHint:"panel"}:n.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiProductGroupings:t.payload.product_groupings??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AIGroupingCards",props:{entries:n}}}}}}function Tc(t,e,a){const n=xe(t.requestDetails);if(n){if(n.type!=="findSimilar")return Ee(n,e);const o={...xe(n.payload)??{}};a&&!xa(o.sku)&&(o.sku=a);const s=_a(t.group_skus);return s.length>0&&(o.group_skus=s),Ee({...n,payload:Bt(o)},e)}const i={};a&&(i.sku=a);const r=_a(t.group_skus);return r.length>0&&(i.group_skus=r),Object.keys(i).length===0?null:Ee({type:"findSimilar",payload:Bt(i)},e)}function Pc(t){const e=t.payload.suggested_searches??[],a=[];for(let n=0;n<e.length;n++){const i=e[n];if(!i)continue;const r=ee(i.short_name,i.chosen_attribute,i.detailed_user_message)??`Search ${n+1}`,o={},s=ee(i.detailed_user_message);s&&(o.text=s);const c=xe(xe(i.requestDetails)?.payload),l=c?.group_skus;i.group_skus&&Array.isArray(i.group_skus)?o.group_skus=i.group_skus:Array.isArray(l)&&(o.group_skus=l.filter(g=>typeof g=="string"));const p=ee(i.sku,i.representative_product_sku,c?.sku);p&&(o.sku=p),o.is_suggested_text=1;const d={type:"inputText",payload:o},h=Ee(i.requestDetails,r),f=h?.type==="findSimilar"&&typeof o.text=="string"?Ee(d,r):h??Ee(d,r);if(!f)continue;const b={shortName:r,action:f},m=ee(i.detailed_user_message);m&&m!==r&&(b.detailedMessage=m);const u=ec(i);u&&u!==r&&u!==(m??"")&&(b.whyDifferent=u),typeof i.image=="string"&&(b.image=i.image),a.push(b)}return a.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiSuggestedSearches:t.payload.suggested_searches??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AISuggestedSearchCards",props:{entries:a}}}}}}function Ac(t){const e=t.payload,a=Ee(e.requestDetails??e.request_details,ee(e.review_count,e.reviewCount,e.text,e.title)??"Show product reviews");if(!a)return{type:"metadata",sessionId:"",model:"",meta:{groundingReview:e}};const n={action:a};return e.title&&(n.title=e.title),e.text&&(n.text=e.text),e.review_count?n.reviewCount=e.review_count:typeof e.reviewCount=="string"&&e.reviewCount.trim()&&(n.reviewCount=e.reviewCount),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"GroundingReviewCard",props:n}}}}}function Lc(){return{type:"metadata",sessionId:"",model:"",meta:{analyzeAnimation:!0}}}function Ic(t){return{type:"metadata",sessionId:"",model:"",meta:{voice:t.payload}}}function Nc(t){const e=t.payload.group_list??[],a=[];for(const i of e){const r=i.group_name??"",o=(i.product_list??[]).map(Fe);a.push({groupName:r,products:o})}const n=[];for(const i of t.payload.filter_tags??[]){const r=i.title??"";if(!r)continue;const o=Ee(i.requestDetails,r),s={title:r};o&&(s.action=o),n.push(s)}return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"CategoriesContainer",props:{groups:a,filterTags:n}}}},panelHint:"panel"}}function Mc(t){return{type:"metadata",sessionId:"",model:"",meta:{formType:t.type,formPayload:t.payload??{}}}}function Bc(t){const e={};return typeof t.payload?.summary=="string"&&(e.summary=t.payload.summary),Array.isArray(t.payload?.products_discussed)&&(e.products_discussed=t.payload.products_discussed),typeof t.payload?.user_sentiment=="string"&&(e.user_sentiment=t.payload.user_sentiment),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"HandoffNotice",props:e}}}}}function Rc(t){return{type:"metadata",sessionId:"",model:"",meta:{launcherContent:t.payload??{}}}}function Ca(t,e){const a={product:t,index:e},n=t,i=typeof n.sku=="string"?n.sku:void 0;return i&&(a.action={title:typeof n.name=="string"?n.name:"",type:"launchSingleProduct",payload:{sku:i}}),{type:"ProductCard",props:a}}function li(t,e){const a={},n=[];for(let i=0;i<t.length;i++){const r=t[i];if(!r)continue;const o=`action-${i}`;n.push(o);const s={label:r.label,action:r.action};r.icon!==void 0&&(s.icon=r.icon),r.image!==void 0&&(s.image=r.image),r.description!==void 0&&(s.description=r.description),a[o]={type:"ActionButton",props:s}}return a.root={type:"ActionButtons",props:{buttons:t.map(i=>{const r={label:i.label,action:i.action};return i.image!==void 0&&(r.image=i.image),i.description!==void 0&&(r.description=i.description),i.icon!==void 0&&(r.icon=i.icon),r})},children:n},{type:"ui_spec",widget:e,spec:{root:"root",elements:a}}}function Sa(t,e){const a={},n=[];for(let i=0;i<t.length;i++){const r=t[i];if(!r)continue;const o=Fe(r),s=`product-${i}`;n.push(s),a[s]=Ca(o,i)}return a.root={type:"ProductGrid",props:{layout:"grid"},children:n},{type:"ui_spec",widget:e,spec:{root:"root",elements:a}}}function zc(t,e,a){const n=new Map;for(const l of e)l?.sku&&n.set(l.sku,l);if(n.size===0)return null;const i=new Set,r={},o=[],s=[];let c=0;for(let l=0;l<t.length;l++){const p=t[l],d=ee(p?.title)??"",h=Array.isArray(p?.skus)?p.skus:[],f=[];for(let b=0;b<h.length;b++){const m=typeof h[b]=="string"?h[b].trim():"";if(!m||i.has(m))continue;const u=n.get(m);if(!u)continue;i.add(m);const g=`product-${l}-${b}`,v=Fe(u);o.push(g),f.push(g),r[g]=Ca(v,c),c+=1}f.length>0&&s.push({title:d,children:f})}return s.length===0||i.size<n.size?null:(r.root={type:"ProductGrid",props:{layout:"grouped",productSections:s},children:o},{type:"ui_spec",widget:a,spec:{root:"root",elements:r}})}function Hc(t,e){const a={},n=[];for(let i=0;i<t.length;i++){const r=t[i];if(!r)continue;const o=`product-${i}`;n.push(o),a[o]=Ca(r,i)}return a.root={type:"ProductGrid",props:{layout:"grid"},children:n},{type:"ui_spec",widget:e,spec:{root:"root",elements:a}}}function Fc(t,e){return{type:"ui_spec",widget:e,spec:{root:"root",elements:{root:{type:"ProductCard",props:{product:Fe(t),index:0}}}}}}function Dc(t){return{type:"ui_spec",widget:t,spec:{root:"root",elements:{root:{type:"ActionButtons",props:{buttons:[]},children:[]}}}}}function Uc(t){const e=ee(t.sku),a=ee(t.short_name),n={...xe(t.product_item)??t},i=ee(t.discount_reason,t.discountReason);return i&&!ee(n.discount_reason,n.discountReason)&&(n.discount_reason=i),Ea(n,e,a)}function Ea(t,e,a){const n=ee(t.sku,e),i=ee(t.name,a);if(!n||!i)return null;const r={sku:n,name:i},o=ee(t.brand);o&&(r.brand=o);const s=ee(t.url);s&&(r.url=s);const c=Oc(t.images);if(c.length>0)r.images=c;else{const m=ee(t.image,t.image_url,t.imageUrl);m&&(r.images=[m])}const l=ut(t.price_discounted);l!==void 0&&(r.price_discounted=l);const p=ut(t.price);p!==void 0&&(r.price=p);const d=ut(t.rating);d!==void 0&&(r.rating=d);const h=ut(t.review_count)??ut(t.reviewCount);h!==void 0&&(r.review_count=h);const f=ee(t.cart_code,t.cartCode);f&&(r.cart_code=f),typeof t.in_stock=="boolean"&&(r.in_stock=t.in_stock),typeof t.inStock=="boolean"&&(r.in_stock=t.inStock);const b=ee(t.discount_reason,t.discountReason);return b&&(r.discount_reason=b),Fe(r)}function Ee(t,e){const a=xe(t);if(!a)return null;const n=a.type;if(typeof n!="string"||n.length===0)return null;const i={title:e||n,type:n};return a.payload!==void 0&&(i.payload=a.payload),i}function xe(t){return!t||typeof t!="object"||Array.isArray(t)?null:t}function ee(...t){for(const e of t)if(typeof e=="string"){const a=e.trim();if(a.length>0)return a}}function Oc(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):[]}function gi(t){if(typeof t=="string"){const e=t.trim();return e?[e]:[]}return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(e=>e.length>0):[]}function ut(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"){let e;t.includes(".")&&t.includes(",")?e=t.replace(/\./g,"").replace(",","."):e=t.replace(",",".");const a=Number(e);if(Number.isFinite(a))return a}}function mt(t){return t!=null}function Fe(t){const e=t.price_discounted!=null&&t.price_discounted>0,a=e?t.price_discounted:t.price,n=e&&t.price!=null?t.price:void 0;let i;n!=null&&a!=null&&n>0?i=Math.round((n-a)/n*100):t.price_discount_rate!=null&&t.price_discount_rate>0&&(i=t.price_discount_rate);const r=ee(t.brand),o=ee(t.name)??t.sku,s=r&&!o.toLowerCase().startsWith(r.toLowerCase())?`${r} ${o}`:o,c={sku:t.sku,name:s,url:ee(t.url)??""},l=t.images?.[0];l&&(c.imageUrl=l),t.images&&t.images.length>1&&(c.images=t.images),a!=null&&a>0&&(c.price=String(a)),n!=null&&n>0&&(c.originalPrice=String(n)),i!==void 0&&(c.discountPercent=i),r!==void 0&&(c.brand=r),t.rating!==void 0&&(c.rating=t.rating),t.review_count!==void 0&&(c.reviewCount=t.review_count),t.cart_code!==void 0&&(c.cartCode=t.cart_code),t.in_stock!==void 0&&(c.inStock=t.in_stock),t.variants&&t.variants.length>0&&(c.variants=t.variants),t.discount_reason!==void 0&&(c.discountReason=t.discount_reason),t.promotions&&t.promotions.length>0&&(c.promotions=t.promotions),t.description!==void 0&&(c.description=t.description),t.description_html!==void 0&&(c.descriptionHtml=t.description_html),t.features&&t.features.length>0&&(c.features=t.features),t.specifications!==void 0&&(c.specifications=t.specifications),t.facet_hits&&(c.facetHits=t.facet_hits),t.category_names&&t.category_names.length>0&&(c.categoryNames=t.category_names),t.short_name!==void 0&&(c.shortName=t.short_name);const p=t,d={};let h=!1;for(const f of Object.keys(p))di.has(f)||(d[f]=p[f],h=!0);return h&&(c.extras=d),c}function qc(t){return t.results.map(Fe)}function jc(t){return t.product_groupings.map(e=>{const a={name:e.name,products:(e.group_products??[]).map(Fe)};return e.highlight!==void 0&&(a.highlight=e.highlight),a})}function $c(t){const e=t.payload.type,{type:a,...n}=t.payload;return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:e,props:n}}}}}var di,Ta=L((()=>{tc(),oi(),wa(),di=new Set(["sku","name","brand","images","price","price_discounted","price_discount_rate","price_currency","discount_reason","url","rating","review_count","cart_code","in_stock","description","description_html","features","specifications","short_name","category_ids","category_names","variants","facet_hits","promotions"])}));function Vc(t){if(t===void 0)throw new Error("[gengage] middlewareUrl is required. Pass your Gengage backend URL in widget config.");const e=t.trim();return e===""?"":e.replace(/\/+$/,"")}function zt(t,e){return`${Vc(e?.middlewareUrl)}/chat${pi[t]}`}var pi,Pa=L((()=>{pi={process_action:"/process_action",launcher_action:"/launcher_action",similar_products:"/similar_products",product_groupings:"/product_groupings"}}));function Gc(t){if(!(typeof window>"u"||!t))try{const e=window.GengageAssistantInjector?.[t]?.streamTransport;return typeof e=="function"?e:void 0}catch{return}}var Wc=L((()=>{}));async function Ht(t,e={},a={}){const n=Kc(t,e);if(!n)return fetch(t,e);const i=Date.now(),r=await Qc(n,i);if(r)return Jc(r);const o=await fetch(t,e);return o.ok&&Zc(n,o.clone(),i,{ttlMs:a.ttlMs??ui,maxEntries:a.maxEntries??Ia,maxBodyBytes:a.maxBodyBytes??mi}),o}function Kc(t,e={}){if(typeof Request<"u"&&t instanceof Request)return null;const a=String(e.method||"GET").toUpperCase();return a!=="POST"||typeof e.body!="string"||Yc(e.body)?null:`rr:${ol(rl({url:String(t),method:a,headers:el(e.headers),body:e.body}))}`}function Yc(t){try{const e=JSON.parse(t);if(!e||typeof e!="object"||Array.isArray(e))return!1;const a=e.type;return typeof a=="string"&&vi.has(a)}catch{return!1}}async function Qc(t,e){const a=Ie.get(t);if(a)if(a.expiresAt<=e)Ie.delete(t);else return a.lastAccessedAt=e,Ie.delete(t),Ie.set(t,a),Aa(a),a;const n=await al(t);return n?n.expiresAt<=e?(Ie.delete(t),nl(t),null):(n.lastAccessedAt=e,Ie.set(t,n),Aa(n),hi(Ia),n):null}async function Zc(t,e,a,n){try{const i=await e.text();if(sl(i)>n.maxBodyBytes||Xc(i))return;const r={key:t,status:e.status,statusText:e.statusText,headers:tl(e.headers),body:i,createdAt:a,expiresAt:a+n.ttlMs,lastAccessedAt:a};Ie.set(t,r),hi(n.maxEntries),await Aa(r),await il(n.maxEntries,a)}catch{}}function Xc(t){return/"_error"\s*:/u.test(t)||/"type"\s*:\s*"error"/u.test(t)}function Jc(t){return new Response(t.body,{status:t.status,statusText:t.statusText,headers:new Headers(t.headers)})}function el(t){const e=new Headers(t),a=[];return e.forEach((n,i)=>{const r=i.toLowerCase();r!=="authorization"&&r!=="cookie"&&a.push([r,n])}),a.sort(([n],[i])=>n.localeCompare(i))}function tl(t){const e=[];return t.forEach((a,n)=>{const i=n.toLowerCase();i!=="set-cookie"&&e.push([i,a])}),e.sort(([a],[n])=>a.localeCompare(n))}function hi(t){for(;Ie.size>t;){const e=[...Ie.values()].sort((a,n)=>a.lastAccessedAt-n.lastAccessedAt)[0];if(!e)break;Ie.delete(e.key)}}async function Ft(){return typeof indexedDB>"u"?null:(Na??=new Promise(t=>{const e=indexedDB.open(fi,bi);e.onupgradeneeded=()=>{const a=e.result;a.objectStoreNames.contains(Le)||a.createObjectStore(Le,{keyPath:"key"}).createIndex("lastAccessedAt","lastAccessedAt",{unique:!1})},e.onsuccess=()=>t(e.result),e.onerror=()=>t(null),e.onblocked=()=>t(null)}),Na)}async function al(t){const e=await Ft();return e?new Promise(a=>{const n=e.transaction(Le,"readonly"),i=n.objectStore(Le).get(t);i.onsuccess=()=>a(i.result??null),i.onerror=()=>a(null),n.onerror=()=>a(null)}):null}async function Aa(t){const e=await Ft();e&&await new Promise(a=>{const n=e.transaction(Le,"readwrite");n.objectStore(Le).put(t),n.oncomplete=()=>a(),n.onerror=()=>a(),n.onabort=()=>a()})}async function nl(t){const e=await Ft();e&&await new Promise(a=>{const n=e.transaction(Le,"readwrite");n.objectStore(Le).delete(t),n.oncomplete=()=>a(),n.onerror=()=>a(),n.onabort=()=>a()})}async function il(t,e){const a=await Ft();a&&await new Promise(n=>{const i=a.transaction(Le,"readwrite"),r=i.objectStore(Le),o=[],s=r.openCursor();s.onsuccess=()=>{const c=s.result;if(!c){const l=o.filter(d=>d.expiresAt<=e),p=o.filter(d=>d.expiresAt>e).sort((d,h)=>d.lastAccessedAt-h.lastAccessedAt).slice(0,Math.max(0,o.length-l.length-t));for(const d of[...l,...p])r.delete(d.key);return}o.push(c.value),c.continue()},s.onerror=()=>n(),i.oncomplete=()=>n(),i.onerror=()=>n(),i.onabort=()=>n()})}function rl(t){return JSON.stringify(La(t))}function La(t){return Array.isArray(t)?t.map(La):!t||typeof t!="object"?t:Object.fromEntries(Object.entries(t).sort(([e],[a])=>e.localeCompare(a)).map(([e,a])=>[e,La(a)]))}function ol(t){let e=14695981039346656037n;const a=1099511628211n;for(let n=0;n<t.length;n+=1)e^=BigInt(t.charCodeAt(n)),e=BigInt.asUintN(64,e*a);return e.toString(16).padStart(16,"0")}function sl(t){return typeof TextEncoder<"u"?new TextEncoder().encode(t).byteLength:t.length}var ui,Ia,mi,fi,bi,Le,vi,Ie,Na,Ma=L((()=>{ui=7200*1e3,Ia=200,mi=5*1024*1024,fi="gengage_request_response_cache",bi=1,Le="responses",vi=new Set(["addToCart","like"]),Ie=new Map,Na=null}));function cl(t,e){const a=t.type,n=t.payload!=null&&typeof t.payload=="object"&&!Array.isArray(t.payload)?t.payload:{},i=r=>{const o={...n};for(const[s,c]of Object.entries(r))s in o||(o[s]=c);return o};switch(a){case"user_message":case"inputText":{const r=typeof t.payload=="string",o=r?{text:t.payload}:t.payload!=null&&typeof t.payload=="object"&&!Array.isArray(t.payload)?t.payload:n,s={is_launcher:0};if(e.pageContext?.extra&&(s.page_details=e.pageContext.extra),!r&&!("sku_list"in o)){const l=e.pageContext?.skuList&&e.pageContext.skuList.length>0?e.pageContext.skuList:e.pageContext?.sku?[e.pageContext.sku]:void 0;l&&l.length>0&&(s.sku_list=l)}"is_suggested_text"in o||(s.is_suggested_text=0);const c={...o};for(const[l,p]of Object.entries(s))l in c||(c[l]=p);return{...t,payload:c}}case"findSimilar":{const r={is_launcher:0};return t.title&&(r.text=t.title,r.input=t.title),{...t,payload:Bt(i(r))}}case"getComparisonTable":{const r=t.payload;if(r&&typeof r=="object"&&!Array.isArray(r)&&"gengage_analytics_source"in r){const o={...r};return delete o.gengage_analytics_source,{...t,payload:o}}return t}case"launchProductList":return t;case"launchHomepage":return t;case"addToCart":{const r={};return"error_message"in n||(r.error_message=""),{...t,payload:i(r)}}case"reviewSummary":{const r={};return e.pageContext?.sku&&!("sku"in n)&&(r.sku=e.pageContext.sku),Object.keys(r).length===0?t:{...t,payload:i(r)}}default:return t}}function yi(t){const{action:e,type:a,payload:n,...i}=t,r=a??e?.type??"inputText",o=n??e?.payload,s=_i[r]??r,c={...i,type:s};return o!==void 0&&(c.payload=typeof o=="string"?{text:o}:o),JSON.stringify(c)}function ll(t){return JSON.parse(yi(t))}function gl(t){return t!==null&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"}function xi(t,e){let a=!1;const n=()=>e?.aborted===!0,i=()=>a||n(),r=()=>{i()||(a=!0,t.onDone())};return{fireDone:r,callbacks:{onTextChunk:(...o)=>{i()||t.onTextChunk(...o)},onUISpec:(...o)=>{i()||t.onUISpec(...o)},onAction:o=>{i()||t.onAction(o)},onMetadata:o=>{i()||t.onMetadata(o)},onError:o=>{n()||t.onError(o)},onDone:r}}}function dl(t,e,a){const n=new AbortController,i=a.injectorAdapter??Gc(a.accountId);return i?((async()=>{const o=xi(e,n.signal);try{if(await Promise.resolve(),n.signal.aborted)return;const s=i(ll(t),o.callbacks,n.signal,a.attachment);gl(s)&&(await s,o.fireDone())}catch(s){if(n.signal.aborted||s instanceof DOMException&&s.name==="AbortError")return;o.callbacks.onError(s instanceof Error?s:new Error(String(s)))}})(),n):((async()=>{try{const o=zt("process_action",a),s=yi(t),c=a.attachment!==void 0;let l;if(c){const h=new FormData;h.append("request",s),a.attachment!==void 0&&h.append("attachment",a.attachment),l={method:"POST",body:h,signal:n.signal}}else l={method:"POST",headers:{"Content-Type":"application/json"},body:s,signal:n.signal};const p=c?await fetch(o,l):await Ht(o,l);if(!p.ok){let h=p.statusText;try{const f=await p.json(),b=f.detail??f.message??f.error;typeof b=="string"&&(h=b)}catch{}e.onError(new Error(`HTTP ${p.status}: ${h}`));return}const d=xi(e);await Nt(p,{onEvent:h=>{const f=Rt(h);if(f)switch(f.type){case"text_chunk":d.callbacks.onTextChunk(f.content,f.final===!0,{productMentions:f.productMentions,skuToProductItem:f.skuToProductItem,conversationMode:f.conversationMode,renderHint:f.renderHint,kvkk:f.kvkk});break;case"ui_spec":d.callbacks.onUISpec(f.spec,f.widget,f.panelHint,f.clearPanel===!0);break;case"action":d.callbacks.onAction(f);break;case"metadata":d.callbacks.onMetadata(f);break;case"error":d.callbacks.onError(new Error(f.message));break;case"done":d.fireDone();break}},onError:e.onError,signal:n.signal}),d.fireDone()}catch(o){if(o instanceof DOMException&&o.name==="AbortError")return;e.onError(o instanceof Error?o:new Error(String(o)))}})(),n)}var _i,pl=L((()=>{va(),Ta(),Pa(),Wc(),wa(),Ma(),_i={user_message:"inputText"}}));function hl(){if(typeof window>"u")return!1;const t=new URLSearchParams(window.location.search);if(wi.some(e=>t.get(e)==="1"))return!0;try{return ki.some(e=>window.localStorage.getItem(e)==="1")}catch{return!1}}function ul(t,e,a){if(!hl())return;const n=(window.__gengageChatPresentationDebugSeq??0)+1;window.__gengageChatPresentationDebugSeq=n;const i={seq:n,time:new Date().toISOString(),scope:t,message:e,payload:a};window.__gengageChatPresentationDebugLog||(window.__gengageChatPresentationDebugLog=[]),window.__gengageChatPresentationDebugLog.push(i),window.__gengageChatPresentationDebugLog.length>400&&window.__gengageChatPresentationDebugLog.shift();const r=`[gengage-chat-debug #${n}][${t}] ${e}`;a===void 0?console.debug(r):console.debug(r,a)}var wi,ki,ml=L((()=>{wi=["chat_debug","presentation_debug"],ki=["gengage_chat_debug","gengage_presentation_debug"]}));function Ci(t){Ye=t}function fl(){if(Ye&&Ye.isConnected)return Ye;Ye=null;const t=document.getElementById(ft);return t||(ul("chat-scroll","failed to resolve scroll container (not registered)",{id:ft}),null)}function Si(){Ye=null}var ft,Ye,Ei=L((()=>{ml(),ft="gengage-chat-scroll",Ye=null})),Qe,bl=L((()=>{Qe={headerTitle:"Ürün Uzmanı",inputPlaceholder:"Ürün ara, soru sor",sendButton:"Gönder",closeButton:"Kapat",openButton:"Sohbeti aç",newChatButton:"Yeni sohbet",poweredBy:"Gengage ile",errorMessage:"Bir hata oluştu. Lütfen tekrar deneyin.",retryButton:"Tekrar Dene",loadingMessage:"İsteğinizi inceliyorum...",loadingSequenceGeneric:["İsteğinizi inceliyorum...","Ürün ve yorumlara bakıyorum...","Detayları inceliyorum..."],loadingSequencePanel:["En ilgili detayları inceliyorum","En güçlü sinyalleri kontrol ediyorum","Bu görünümü sizin için hazırlıyorum"],loadingSequenceComparison:["Ürün farklarını inceliyorum","En güçlü farkları ve ödünleşimleri kontrol ediyorum","Karşılaştırmayı sizin için hazırlıyorum"],productCtaLabel:"Satın Al",viewOnSiteLabel:"Sitede Gör",attachImageButton:"Resim ekle",attachMenuSelectPhoto:"Fotoğraf Seç",attachMenuPaste:"Yapıştır",clipboardNoImageMessage:"Panoda görsel bulunamadı. Önce bir görsel kopyalayın veya dosya seçin.",removeAttachmentButton:"Resmi kaldır",invalidFileType:"Sadece JPEG, PNG ve WebP dosyaları destekleniyor.",fileTooLarge:"Dosya boyutu 5 MB'dan küçük olmalıdır.",aiTopPicksTitle:"Sizin İçin En İyiler",roleWinner:"Size Özel Seçimim",roleBestValue:"En Uygun Fiyatlı",roleBestAlternative:"En İyi Alternatif",viewDetails:"Detayları Gör",groundingReviewCta:"Yorumları Oku",groundingReviewSubtitle:"{count} yorum mevcut",variantsLabel:"Varyantlar",sortRelated:"Önerilen",sortPriceAsc:"Fiyat düşükten yükseğe",sortPriceDesc:"Fiyat yüksekten düşüğe",sortToolbarAriaLabel:"Ürünleri sırala",compareSelected:"Karşılaştır",productGridSectionCountLabel:"{count} ürün",compareMinHint:"En az 2 ürün seçin",compareMaxHint:"En fazla 5 ürün seçebilirsiniz",comparisonSelectLabel:"Karşılaştırmak için seç",comparisonSelectedLabel:"Seçildi",comparisonSelectCardHint:"Karşılaştırmaya eklemek veya çıkarmak için kartın herhangi bir yerine dokunun.",comparisonPreparingLabel:"Karşılaştırma tablosu hazırlanıyor…",panelTitleProductDetails:"Ürün Detayı",panelTitleSimilarProducts:"Benzer Ürünler",panelTitleComparisonResults:"Karşılaştırma Sonuçları",panelTitleCategories:"Kategoriler",panelTitleSearchResults:"Arama Sonuçları",inStockLabel:"Stokta",outOfStockLabel:"Tükendi",findSimilarLabel:"Benzerlerini Bul",galleryPrevAriaLabel:"Önceki görsel",galleryNextAriaLabel:"Sonraki görsel",beautyStylesPreparedTitle:"Sizin için {count} farklı öneri yönü hazırladım",consultingOtherCompatibleProductsLabel:"Diğer Uyumlu Ürünler",consultingFallbackGroupLabel:"Öneri",consultingFallbackStyleLabel:"Stil {index}",consultingStyleLoadingDescription:"Bu stil için ürünleri toplamaya devam ediyorum. Panel kısa süre içinde yenilenir.",consultingStyleUnavailableDescription:"Bu stil için şu anda yeterli ürün eşleşmesi çıkaramadım. Diğer stilleri inceleyebilirsiniz.",consultingStyleLoadingBadge:"Yükleniyor",consultingStyleUnavailableBadge:"Hazır değil",choicePrompterHeading:"Kararsız mı kaldın?",choicePrompterSuggestion:"Ürünleri seçip karşılaştırabilirsin",choicePrompterCta:"Seç ve Karşılaştır",viewMoreLabel:"Daha Fazla Göster",similarProductsLabel:"Benzer Ürünler",addToCartButton:"Sepete Ekle",addedToCartToast:"Sepete eklendi",shareButton:"Paylaş",productInfoTab:"Ürün Bilgileri",specificationsTab:"Teknik Özellikler",recommendedChoiceLabel:"Önerilen Seçim",highlightsLabel:"Öne Çıkan Özellikler",keyDifferencesLabel:"Temel Farklar",specialCasesLabel:"Özel Durumlar İçin",emptyReviewsMessage:"Yorum özeti bulunamadı.",closeAriaLabel:"Kapat",startChatLabel:"Sohbete Başla",voiceButton:"Sesli giriş",voiceListening:"Dinleniyor...",voiceNotSupported:"Sesli giriş bu tarayıcıda desteklenmiyor.",voicePermissionDenied:"Mikrofon erişimi reddedildi.",voiceError:"Sesli giriş hatası.",handoffHeading:"Destek temsilcisine aktarılıyor",productNotFoundMessage:"Bu ürün bilgisi şu an kullanılamıyor. Başka bir konuda yardımcı olabilirim.",stopGenerating:"Yanıtı Durdur",offlineMessage:"Çevrimdışısınız — bağlantı kurulduğunda mesajlar gönderilecek.",cartAriaLabel:"Sepetim",favoritesAriaLabel:"Favorilerim",historyAriaLabel:"Sohbet geçmişi",historyPageTitle:"Sohbet Geçmişi",historyImageAttachmentLabel:"Görsel eklendi",emptyHistoryMessage:"Henüz kaydedilmiş sohbet yok.",historyDeleteLabel:"Sohbeti sil",historyDeleteConfirmMessage:"Bu sohbet geçmişten silinsin mi? Bu işlem geri alınamaz.",showPanelAriaLabel:"Sonuçları Göster",addToFavoritesLabel:"Favorilere ekle",customerReviewsTitle:"Müşteri Yorumları",togglePanelAriaLabel:"Paneli aç/kapat",chatMessagesAriaLabel:"Sohbet mesajları",suggestionsAriaLabel:"Öneriler",moreSuggestionsAriaLabel:"Daha fazla öneri",rollbackAriaLabel:"Bu mesaja geri dön",backAriaLabel:"Geri",forwardAriaLabel:"İleri",closePanelAriaLabel:"Paneli kapat",dismissAriaLabel:"Kapat",cartAddErrorMessage:"Üzgünüm sepete ekleyemedim, bir sorunla karşılaştım.",favoriteToggleErrorMessage:"Favoriler güncellenemedi. Lütfen tekrar deneyin.",reviewFilterPositive:"Olumlu",reviewFilterNegative:"Olumsuz",decreaseLabel:"Azalt",increaseLabel:"Artır",reviewCustomersMentionSingular:"1 müşteri bahsediyor",reviewCustomersMentionPlural:"müşteri bahsediyor",reviewSubjectsHeading:"İncelemek için seçin",tryAgainButton:"Tekrar dene",askSomethingElseButton:"Başka bir şey sor",accountInactiveMessage:"Bu hesap şu an aktif değil. Lütfen daha sonra tekrar deneyin.",favoritesPageTitle:"Favorilerim",emptyFavoritesMessage:"Henüz favori ürün yok. Bir ürünü kalp ikonuna tıklayarak favorilere ekleyebilirsin.",showFormerMessagesButton:"↑ Önceki mesajları göster",aiAnalysisAnalyzingLabel:"Ürünler analiz ediliyor...",aiBrowseCategoriesTitle:"Kategorilere Göz At",photoAnalysisBadge:"Cilt Analizi",photoAnalysisStrengthsLabel:"Öne Çıkanlar",photoAnalysisFocusLabel:"Odak Noktaları",photoAnalysisCelebStyleLabel:"Celeb Vibe Eşleşmesi",beautyPhotoStepTitle:"Selfie ile kişiselleştir",beautyPhotoStepDescription:"İstersen net bir profil fotoğrafı yükle, sana özel önerilerde bulunayım.",beautyPhotoStepUpload:"Fotoğraf Yükle",beautyPhotoStepProcessing:"Fotoğraf işleniyor...",beautyPhotoStepSkip:"Geç",beautyPhotoStepSkipMessage:"Fotoğraf adımını geçiyorum"}})),Ti,vl=L((()=>{Ti={headerTitle:"Product Expert",inputPlaceholder:"Search products, ask questions",sendButton:"Send",closeButton:"Close",openButton:"Open chat",newChatButton:"New chat",poweredBy:"Powered by Gengage",errorMessage:"Something went wrong. Please try again.",retryButton:"Retry",loadingMessage:"Reviewing your request...",loadingSequenceGeneric:["Reviewing your request...","Looking through products and reviews...","Reviewing the details..."],loadingSequencePanel:["Reviewing the most relevant details","Checking the strongest signals","Preparing this view for you"],loadingSequenceComparison:["Reviewing the product differences","Checking the strongest tradeoffs","Preparing your comparison"],productCtaLabel:"Buy",viewOnSiteLabel:"View on Site",attachImageButton:"Attach image",attachMenuSelectPhoto:"Choose photo",attachMenuPaste:"Paste",clipboardNoImageMessage:"No image found in clipboard. Copy an image first or choose a file.",removeAttachmentButton:"Remove image",invalidFileType:"Only JPEG, PNG and WebP files are supported.",fileTooLarge:"File must be smaller than 5 MB.",aiTopPicksTitle:"Top Picks for You",roleWinner:"Top Pick",roleBestValue:"Best Value",roleBestAlternative:"Best Alternative",viewDetails:"View Details",groundingReviewCta:"Read Reviews",groundingReviewSubtitle:"{count} reviews available",variantsLabel:"Variants",sortRelated:"Recommended",sortPriceAsc:"Price low to high",sortPriceDesc:"Price high to low",sortToolbarAriaLabel:"Sort products",compareSelected:"Compare",productGridSectionCountLabel:"{count} product(s)",compareMinHint:"Select at least 2 products",compareMaxHint:"You can select up to 5 products",comparisonSelectLabel:"Select to compare",comparisonSelectedLabel:"Selected",comparisonSelectCardHint:"Tap anywhere on the card to add or remove it from comparison.",comparisonPreparingLabel:"Preparing your comparison…",panelTitleProductDetails:"Product Details",panelTitleSimilarProducts:"Similar Products",panelTitleComparisonResults:"Comparison Results",panelTitleCategories:"Categories",panelTitleSearchResults:"Search Results",inStockLabel:"In Stock",outOfStockLabel:"Out of Stock",findSimilarLabel:"Find Similar",galleryPrevAriaLabel:"Previous image",galleryNextAriaLabel:"Next image",beautyStylesPreparedTitle:"Prepared {count} recommendation directions for you",consultingOtherCompatibleProductsLabel:"Other compatible products",consultingFallbackGroupLabel:"Recommendation",consultingFallbackStyleLabel:"Style {index}",consultingStyleLoadingDescription:"I am still collecting products for this style. The panel will refresh shortly.",consultingStyleUnavailableDescription:"I could not find enough product matches for this style yet. You can review the other styles.",consultingStyleLoadingBadge:"Loading",consultingStyleUnavailableBadge:"Not ready",choicePrompterHeading:"Can't decide?",choicePrompterSuggestion:"Select products to compare them",choicePrompterCta:"Select & Compare",viewMoreLabel:"Show More",similarProductsLabel:"Similar Products",addToCartButton:"Add to Cart",addedToCartToast:"Added to cart",shareButton:"Share",productInfoTab:"Product Info",specificationsTab:"Specifications",recommendedChoiceLabel:"Recommended Choice",highlightsLabel:"Key Highlights",keyDifferencesLabel:"Key Differences",specialCasesLabel:"For Special Cases",emptyReviewsMessage:"No review summary found.",closeAriaLabel:"Close",startChatLabel:"Start Chat",voiceButton:"Voice input",voiceListening:"Listening...",voiceNotSupported:"Voice input is not supported in this browser.",voicePermissionDenied:"Microphone access denied.",voiceError:"Voice input error.",handoffHeading:"Transferring to a support agent",productNotFoundMessage:"Product information is currently unavailable. I can help with something else.",stopGenerating:"Stop generating",offlineMessage:"You're offline — messages will send when you reconnect.",cartAriaLabel:"My cart",favoritesAriaLabel:"My favorites",historyAriaLabel:"Chat history",historyPageTitle:"Chat History",historyImageAttachmentLabel:"Image attachment",emptyHistoryMessage:"You don't have any saved chats yet.",historyDeleteLabel:"Delete chat",historyDeleteConfirmMessage:"Delete this chat from history? This cannot be undone.",showPanelAriaLabel:"Show Results",addToFavoritesLabel:"Add to favorites",customerReviewsTitle:"Customer Reviews",togglePanelAriaLabel:"Toggle panel",chatMessagesAriaLabel:"Chat messages",suggestionsAriaLabel:"Suggestions",moreSuggestionsAriaLabel:"More suggestions",rollbackAriaLabel:"Rollback to this message",backAriaLabel:"Back",forwardAriaLabel:"Forward",closePanelAriaLabel:"Close panel",dismissAriaLabel:"Dismiss",cartAddErrorMessage:"Sorry, I couldn't add that to your cart. Something went wrong.",favoriteToggleErrorMessage:"We couldn't update favorites. Please try again.",reviewFilterPositive:"Positive",reviewFilterNegative:"Negative",decreaseLabel:"Decrease",increaseLabel:"Increase",reviewCustomersMentionSingular:"1 customer mentions",reviewCustomersMentionPlural:"customers mention",reviewSubjectsHeading:"Select to learn more",tryAgainButton:"Try again",askSomethingElseButton:"Ask something else",accountInactiveMessage:"This account is currently inactive. Please try again later.",favoritesPageTitle:"My Favorites",emptyFavoritesMessage:"No favorites yet. Heart a product to save it here.",showFormerMessagesButton:"↑ Show earlier messages",aiAnalysisAnalyzingLabel:"Analyzing products...",aiBrowseCategoriesTitle:"Browse categories",photoAnalysisBadge:"Skin Analysis",photoAnalysisStrengthsLabel:"Your strengths",photoAnalysisFocusLabel:"Focus points",photoAnalysisCelebStyleLabel:"Celeb style match",beautyPhotoStepTitle:"Personalize with a selfie",beautyPhotoStepDescription:"Upload a clear profile photo so I can give you personalized recommendations.",beautyPhotoStepUpload:"Upload Photo",beautyPhotoStepProcessing:"Processing photo...",beautyPhotoStepSkip:"Skip",beautyPhotoStepSkipMessage:"Skip the photo step"}}));function yl(t){return t?t.toLowerCase().split("-")[0]??"tr":"tr"}function xl(t){return yl(t)==="en"?Ti:Qe}var bt=L((()=>{bl(),vl()}));function _l(){return Pi()!==null}function Pi(){const t=globalThis;return t.SpeechRecognition??t.webkitSpeechRecognition??null}function wl(t){switch(t){case"not-allowed":return"not-allowed";case"no-speech":return"no-speech";case"audio-capture":return"no-microphone";case"network":return"network";case"aborted":return"aborted";default:return"unknown"}}var Ai,kl=L((()=>{Ai=class{constructor(t,e){this.recognition=null,this._state="idle",this.silenceTimer=null,this.accumulatedTranscript="",this.intentionalStop=!1,this._lastRestartAt=0,this.callbacks=t,this.lang=e?.lang??"tr-TR",this.silenceTimeoutMs=e?.silenceTimeoutMs??1500,this.autoSubmit=e?.autoSubmit??!0}get state(){return this._state}start(){if(this._state==="listening")return;const t=Pi();if(!t){this.setState("error"),this.callbacks.onError?.("not-supported","Web Speech API is not supported in this browser.");return}if(typeof globalThis.isSecureContext<"u"&&!globalThis.isSecureContext){this.setState("error"),this.callbacks.onError?.("not-allowed","Voice input requires HTTPS.");return}this.accumulatedTranscript="",this.intentionalStop=!1;const e=new t;e.continuous=!0,e.interimResults=!0,e.lang=this.lang,e.maxAlternatives=1,e.onstart=()=>{this.setState("listening")},e.onresult=a=>{this.clearSilenceTimer();let n="",i="";for(let r=a.resultIndex;r<a.results.length;r++){const o=a.results[r];if(!o)continue;const s=o[0];s&&(o.isFinal?i+=s.transcript:n+=s.transcript)}i&&(this.accumulatedTranscript+=i,this.callbacks.onFinal?.(this.accumulatedTranscript)),n&&this.callbacks.onInterim?.(this.accumulatedTranscript+n),this.autoSubmit&&this.accumulatedTranscript&&this.startSilenceTimer()},e.onerror=a=>{const n=wl(a.error);this.intentionalStop&&(a.error==="no-speech"||a.error==="aborted")||(this.setState("error"),this.callbacks.onError?.(n,a.message||a.error))},e.onend=()=>{if(this.clearSilenceTimer(),this._state==="listening"&&!this.intentionalStop){const a=Date.now();if(a-this._lastRestartAt<500){this.setState("idle");return}this._lastRestartAt=a;try{e.start()}catch{this.setState("idle")}return}this.setState("idle")},this.recognition=e;try{e.start()}catch{this.setState("error"),this.callbacks.onError?.("unknown","Failed to start speech recognition.")}}stop(){if(this.intentionalStop=!0,this.clearSilenceTimer(),this.recognition){try{this.recognition.stop()}catch{}this.recognition=null}return this.setState("idle"),this.accumulatedTranscript}abort(){if(this.intentionalStop=!0,this.clearSilenceTimer(),this.accumulatedTranscript="",this.recognition){try{this.recognition.abort()}catch{}this.recognition=null}this.setState("idle")}destroy(){this.abort()}setState(t){this._state!==t&&(this._state=t,this.callbacks.onStateChange?.(t))}startSilenceTimer(){this.clearSilenceTimer(),this.silenceTimer=setTimeout(()=>{const t=this.stop();t.trim()&&this.callbacks.onAutoSubmit?.(t.trim())},this.silenceTimeoutMs)}clearSilenceTimer(){this.silenceTimer!==null&&(clearTimeout(this.silenceTimer),this.silenceTimer=null)}}}));function Cl(t){const e=document.createElement("div");e.className="gengage-chat-kvkk-banner",e.dataset.gengagePart="kvkk-banner",e.setAttribute("role","note");const a=document.createElement("div");return a.className="gengage-chat-kvkk-content",a.dataset.gengagePart="kvkk-content",a.innerHTML=ye(t.htmlContent),e.appendChild(a),e}var Sl=L((()=>{de()})),Li,El=L((()=>{Li=class{constructor(t){this._el=document.createElement("div"),this._el.className="gengage-chat-panel-topbar gds-toolbar",this._el.dataset.gengagePart="panel-topbar",this._backBtn=document.createElement("button"),this._backBtn.className="gengage-chat-panel-topbar-back gds-btn gds-btn-ghost gds-icon-btn",this._backBtn.dataset.gengagePart="panel-topbar-back",this._backBtn.type="button",this._backBtn.disabled=!0,this._backBtn.setAttribute("aria-label",t.backAriaLabel??"Back"),this._backBtn.title=t.backAriaLabel??"Back",this._backBtn.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m15 18-6-6 6-6"/><path d="M21 12H9"/></svg>',this._backBtn.addEventListener("click",()=>t.onBack());const e=document.createElement("div");e.className="gengage-chat-panel-topbar-title-wrap",this._titleEl=document.createElement("span"),this._titleEl.className="gengage-chat-panel-topbar-title",this._titleEl.dataset.gengagePart="panel-topbar-title",e.appendChild(this._titleEl),this._forwardBtn=document.createElement("button"),this._forwardBtn.className="gengage-chat-panel-topbar-forward gds-btn gds-btn-ghost gds-icon-btn",this._forwardBtn.dataset.gengagePart="panel-topbar-forward",this._forwardBtn.type="button",this._forwardBtn.disabled=!0,this._forwardBtn.setAttribute("aria-label",t.forwardAriaLabel??"Forward"),this._forwardBtn.title=t.forwardAriaLabel??"Forward",this._forwardBtn.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 18 6-6-6-6"/><path d="M3 12h12"/></svg>',this._forwardBtn.addEventListener("click",()=>t.onForward()),this._actionsEl=document.createElement("div"),this._actionsEl.className="gengage-chat-panel-topbar-actions",this._actionsEl.dataset.gengagePart="panel-topbar-actions",this._closeBtn=document.createElement("button"),this._closeBtn.className="gengage-chat-panel-topbar-close gds-btn gds-btn-ghost gds-icon-btn",this._closeBtn.dataset.gengagePart="panel-topbar-close",this._closeBtn.type="button",this._closeBtn.setAttribute("aria-label",t.closePanelAriaLabel??"Close panel"),this._closeBtn.title=t.closePanelAriaLabel??"Close panel",this._closeBtn.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',this._closeBtn.addEventListener("click",()=>t.onClose?.()),this._el.appendChild(this._backBtn),this._el.appendChild(e),this._el.appendChild(this._actionsEl),this._el.appendChild(this._forwardBtn),this._el.appendChild(this._closeBtn)}update(t,e,a){this._backBtn.disabled=!t,this._forwardBtn.disabled=!e,this._backBtn.hidden=!t,this._forwardBtn.hidden=!e,this._titleEl.textContent=a,this._titleEl.title=a}getElement(){return this._el}setTitle(t){this._titleEl.textContent=t}setActions(t){this._actionsEl.replaceChildren(),t&&this._actionsEl.appendChild(t)}getTitle(){return this._titleEl.textContent??""}}}));function Tl(t){return{processing:t.processing===!0,title:typeof t.title=="string"?t.title:void 0,description:typeof t.description=="string"?t.description:void 0,uploadLabel:typeof t.upload_label=="string"?t.upload_label:void 0,skipLabel:typeof t.skip_label=="string"?t.skip_label:void 0}}function Ii(t,e,a){const n=t.props??{},i=n.processing===!0,r={...Qe,...e.i18n??{}},o=document.createElement("div");o.className="gengage-chat-beauty-photo-step-card";const s=document.createElement("span");s.className="gengage-chat-beauty-photo-step-icon",s.setAttribute("aria-hidden","true"),s.textContent="✦";const c=document.createElement("div");c.className="gengage-chat-beauty-photo-step-content";const l=document.createElement("div");l.className="gengage-chat-beauty-photo-step-title",l.textContent=(typeof n.title=="string"?n.title:void 0)??r.beautyPhotoStepTitle;const p=document.createElement("p");p.className="gengage-chat-beauty-photo-step-desc",p.textContent=(typeof n.description=="string"?n.description:void 0)??r.beautyPhotoStepDescription;const d=document.createElement("div");d.className="gengage-chat-beauty-photo-step-actions";const h=document.createElement("button");h.type="button",h.className="gengage-chat-beauty-photo-step-upload gds-btn gds-btn-primary",h.textContent=i?r.beautyPhotoStepProcessing:(typeof n.upload_label=="string"?n.upload_label:void 0)??r.beautyPhotoStepUpload,h.disabled=i,a?.onUpload&&h.addEventListener("click",()=>a.onUpload());const f=document.createElement("button");return f.type="button",f.className="gengage-chat-beauty-photo-step-skip gds-btn gds-btn-ghost",f.textContent=(typeof n.skip_label=="string"?n.skip_label:void 0)??r.beautyPhotoStepSkip,a?.onSkip&&f.addEventListener("click",()=>a.onSkip()),d.appendChild(h),d.appendChild(f),c.appendChild(l),c.appendChild(p),c.appendChild(d),o.appendChild(s),o.appendChild(c),o}var Ba=L((()=>{bt()}));function Pl(t,e){if(t)return t;const a=document.createElement("section");a.className="gengage-chat-beauty-photo-step",a.dataset.gengagePart="chat-beauty-photo-step",a.hidden=!0;const n=e?.querySelector(".gengage-chat-input-area");return n?n.parentElement?.insertBefore(a,n):e?.appendChild(a),a}function Al(t,e,a,n,i){if(!a.visible)return t&&(t.hidden=!0,t.innerHTML=""),t;const r=Pl(t,e);r.hidden=!1,r.innerHTML="";const o=Ii({type:"BeautyPhotoStep",props:{processing:a.processing??!1,title:a.title,description:a.description,upload_label:a.uploadLabel,skip_label:a.skipLabel}},{i18n:n,onAction:()=>{}},{onUpload:i,onSkip:a.onSkip});return r.appendChild(o),r}var Ll=L((()=>{Ba()}));function Ni(t){const e=typeof t.summary=="string"?t.summary:"",a=Array.isArray(t.strengths)?t.strengths.filter(c=>typeof c=="string"):[],n=Array.isArray(t.focus_points)?t.focus_points.filter(c=>typeof c=="string"):[];if(!e&&a.length===0&&n.length===0)return null;const i={summary:e},r=typeof t.celeb_style=="string"?t.celeb_style:void 0,o=typeof t.celeb_style_reason=="string"?t.celeb_style_reason:void 0,s=typeof t.next_question=="string"?t.next_question:void 0;return a.length>0&&(i.strengths=a),n.length>0&&(i.focusPoints=n),r&&(i.celebStyle=r),o&&(i.celebStyleReason=o),s&&(i.nextQuestion=s),i}function Mi(t,e,a){if(e.length===0)return null;const n=document.createElement("section");n.className=`gengage-chat-photo-analysis-section ${a}`;const i=document.createElement("h4");i.className="gengage-chat-photo-analysis-section-title",i.textContent=t;const r=document.createElement("ul");r.className="gengage-chat-photo-analysis-section-list";for(const o of e){const s=document.createElement("li");s.className="gengage-chat-photo-analysis-section-item",s.textContent=o,r.appendChild(s)}return n.appendChild(i),n.appendChild(r),n}function Bi(t,e){const a=document.createElement("div");a.className="gengage-chat-photo-analysis-card";const n=document.createElement("div");n.className="gengage-chat-photo-analysis-badge",n.textContent=t.badge;const i=document.createElement("div");if(i.className="gengage-chat-photo-analysis-body",e.summary){const c=document.createElement("p");c.className="gengage-chat-photo-analysis-summary",c.textContent=e.summary,i.appendChild(c)}const r=document.createElement("div");r.className="gengage-chat-photo-analysis-highlights";const o=Mi(t.strengths,e.strengths??[],"gengage-chat-photo-analysis-section--strengths"),s=Mi(t.focus,e.focusPoints??[],"gengage-chat-photo-analysis-section--focus");if(o&&r.appendChild(o),s&&r.appendChild(s),r.childElementCount>0&&i.appendChild(r),e.celebStyle){const c=document.createElement("section");c.className="gengage-chat-photo-analysis-section gengage-chat-photo-analysis-section--celeb";const l=document.createElement("h4");l.className="gengage-chat-photo-analysis-section-title",l.textContent=t.celebStyle;const p=document.createElement("p");if(p.className="gengage-chat-photo-analysis-celeb-name",p.textContent=e.celebStyle,c.appendChild(l),c.appendChild(p),e.celebStyleReason){const d=document.createElement("p");d.className="gengage-chat-photo-analysis-celeb-reason",d.textContent=e.celebStyleReason,c.appendChild(d)}i.appendChild(c)}if(e.nextQuestion){const c=document.createElement("p");c.className="gengage-chat-photo-analysis-next",c.textContent=e.nextQuestion,i.appendChild(c)}return a.appendChild(n),a.appendChild(i),a}function Il(t){const e={...Qe,...t?.i18n??{}};return{badge:e.photoAnalysisBadge,strengths:e.photoAnalysisStrengthsLabel,focus:e.photoAnalysisFocusLabel,celebStyle:e.photoAnalysisCelebStyleLabel}}function Nl(t,e){const a=Ni(t.props??{})??{summary:""};return Bi(Il(e),a)}function Ml(t,e,a){t.innerHTML="",a&&t.appendChild(Bi(e,a))}var Ra=L((()=>{bt()}));async function Bl(t){for(const e of t)for(const a of e.types)if(a.startsWith("image/"))try{const n=await e.getType(a);if(!n||n.size===0)continue;const i=a||n.type||"image/png",r=i==="image/png"?"png":i==="image/webp"?"webp":"jpg",o=`paste-${Date.now()}.${r}`;return new File([n],o,{type:i})}catch{continue}for(const e of t)if(e.types.includes("text/html"))try{const a=(await(await e.getType("text/html")).text()).match(Hi)?.[0];if(!a||a.length>5e6)continue;const n=await(await fetch(a)).blob();if(!n||n.size===0)continue;const i=n.type||"image/png";if(!["image/jpeg","image/png","image/webp"].includes(i))continue;const r=i==="image/png"?"png":i==="image/webp"?"webp":"jpg";return new File([n],`paste-${Date.now()}.${r}`,{type:i})}catch{continue}return null}async function Rl(t){try{const e=t??(typeof navigator.clipboard?.read=="function"?navigator.clipboard.read():null);return e?Bl(await e):null}catch{}return null}var za,Ha,Ri,zi,Fa,Hi,Fi,zl=L((()=>{Ei(),de(),Ke(),bt(),kl(),It(),Sl(),El(),Ll(),Ra(),za='<svg viewBox="0 0 16 16" class="gengage-chat-icon"><path d="M3 8h10M9 4l4 4-4 4" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>',Ha={search:'<svg viewBox="0 0 16 16" class="gengage-chat-icon"><circle cx="6.5" cy="6.5" r="5" fill="none" stroke="currentColor" stroke-width="1.5"/><line x1="10" y1="10" x2="15" y2="15" stroke="currentColor" stroke-width="1.5"/></svg>',review:'<svg viewBox="0 0 16 16" class="gengage-chat-icon"><polygon points="8,1 10,6 15,6 11,9 12.5,14 8,11 3.5,14 5,9 1,6 6,6" fill="none" stroke="currentColor" stroke-width="1.5"/></svg>',info:'<svg viewBox="0 0 16 16" class="gengage-chat-icon"><circle cx="8" cy="8" r="7" fill="none" stroke="currentColor" stroke-width="1.5"/><line x1="8" y1="7" x2="8" y2="12" stroke="currentColor" stroke-width="1.5"/><circle cx="8" cy="4.5" r="0.8" fill="currentColor"/></svg>',similar:'<svg viewBox="0 0 16 16" class="gengage-chat-icon"><rect x="1" y="3" width="6" height="6" rx="1" fill="none" stroke="currentColor" stroke-width="1.5"/><rect x="9" y="3" width="6" height="6" rx="1" fill="none" stroke="currentColor" stroke-width="1.5"/></svg>'},Ri=Qe,zi=1400,Fa=1500,Hi=/data:image\/(png|jpeg|jpg|webp);base64,[A-Za-z0-9+/=]+/gi,Fi=class{_renderPhotoAnalysisCard(t,e){Ml(t,{badge:this.i18n.photoAnalysisBadge,strengths:this.i18n.photoAnalysisStrengthsLabel,focus:this.i18n.photoAnalysisFocusLabel,celebStyle:this.i18n.photoAnalysisCelebStyleLabel},e)}constructor(t,e){this._sendStopHandler=null,this._panelVisible=!1,this._panelCollapsed=!1,this._onPanelToggle=void 0,this._onHostShellSync=void 0,this._pendingAttachment=null,this._onAttachment=void 0,this._onRollback=void 0,this._onLinkClick=void 0,this._userScrolledUp=!1,this._scrollLockedUntil=0,this._favBadgeEl=null,this._thinkingSteps=[],this._firstBotMessageIds=new Set,this._voiceInput=null,this._micBtn=null,this._voiceEnabled=!1,this._voiceLang="tr-TR",this._ignoreNextDividerClick=!1,this._cleanups=[],this._focusTrapHandler=null,this._previouslyFocusedElement=null,this._conversationEl=null,this._reopenPanelBtn=null,this._presentationFocusThreadId=null,this._formerMessagesBtn=null,this._programmaticScrollUntil=0,this._userInteractionUntil=0,this._touchStartY=null,this._presentationPinned=!0,this._presentationUserInteracting=!1,this._resizeRafId=null,this._cartBtn=null,this._attachWrapEl=null,this._attachMenuEl=null,this._attachBtn=null,this._attachMenuCleanup=null,this._attachMenuClickTimerId=null,this._typingLoadingBinding=null,this._panelLoadingBinding=null,this._panelAiZoneLoadingBinding=null,this._beautyPhotoStepEl=null,this._options=e,this.i18n={...Ri,...e.i18n},this.onSend=e.onSend,e.onPanelToggle!==void 0&&(this._onPanelToggle=e.onPanelToggle),e.onHostShellSync!==void 0&&(this._onHostShellSync=e.onHostShellSync),e.onAttachment!==void 0&&(this._onAttachment=e.onAttachment),e.onRollback!==void 0&&(this._onRollback=e.onRollback),e.onLinkClick!==void 0&&(this._onLinkClick=e.onLinkClick),e.voiceEnabled&&(this._voiceEnabled=!0),e.voiceLang!==void 0&&(this._voiceLang=e.voiceLang),this.root=document.createElement("div"),this.root.className="gengage-chat-drawer gds-panel",this.root.dataset.gengagePart="chat-drawer",this.root.setAttribute("role","dialog"),this.root.setAttribute("aria-label",this.i18n.headerTitle??"Chat"),this.root.setAttribute("aria-modal","true");const a="gengage-chat-dialog-desc",n=document.createElement("span");n.id=a,n.className="gengage-sr-only",n.textContent=this.i18n.headerTitle??"AI shopping assistant",this.root.appendChild(n),this.root.setAttribute("aria-describedby",a);let i=null;{const S=document.createElement("div");S.className="gengage-chat-drawer-handle",S.dataset.gengagePart="chat-drawer-handle",S.setAttribute("aria-hidden","true"),S.style.pointerEvents="none",i=S}const r=document.createElement("div");r.className="gengage-chat-header gds-shell-header",r.dataset.gengagePart="chat-header";const o=document.createElement("div");o.className="gengage-chat-header-left",o.dataset.gengagePart="chat-header-left";const s=e.headerAvatarUrl??e.launcherImageUrl,c=typeof e.headerAvatarUrl=="string"&&e.headerAvatarUrl.length>0&&e.headerAvatarUrl!==e.launcherImageUrl;if(s){const S=document.createElement("img");S.className="gengage-chat-header-avatar",c&&S.classList.add("gengage-chat-header-avatar--logo"),S.dataset.gengagePart="chat-header-avatar",S.src=s,S.alt=e.headerTitle??"Assistant",o.appendChild(S)}const l=document.createElement("div");l.className="gengage-chat-header-info",l.dataset.gengagePart="chat-header-info";const p=document.createElement("div");p.className="gengage-chat-header-title-row",p.dataset.gengagePart="chat-header-title-row";const d=document.createElement("span");if(d.className="gengage-chat-header-title",d.dataset.gengagePart="chat-header-title",d.textContent=e.headerTitle??this.i18n.headerTitle??"Product Expert",p.appendChild(d),e.headerBadge){const S=document.createElement("span");S.className="gengage-chat-header-badge gds-badge gds-badge-brand",S.dataset.gengagePart="chat-header-badge",S.textContent=e.headerBadge,p.appendChild(S)}l.appendChild(p);const h=document.createElement("a");h.className="gengage-chat-header-powered",h.dataset.gengagePart="chat-header-powered-by",h.href="https://gengage.ai/",h.target="_blank",h.rel="noopener noreferrer",h.innerHTML=`<svg viewBox="0 0 15 15" fill="none" aria-hidden="true"><path d="M15 5.88941C12.2201 5.88941 9.72762 7.14107 8.05571 9.11059H0C2.77991 9.11059 5.27238 7.85893 6.94429 5.88941H15Z" fill="currentColor"/><path d="M9.10964 0C9.10964 2.24394 8.29524 4.30038 6.94429 5.88941C5.27238 7.85962 2.77922 9.11059 0 9.11059V5.88941C3.24802 5.88941 5.89036 3.2465 5.89036 0H9.10964Z" fill="currentColor" fill-opacity="0.68"/><path d="M15 5.88941V9.11059C11.752 9.11059 9.10964 11.7535 9.10964 15H5.89036C5.89036 12.7561 6.70476 10.6996 8.05571 9.11059C9.72762 7.14038 12.2208 5.88941 15 5.88941Z" fill="currentColor" fill-opacity="0.68"/></svg>${this.i18n.poweredBy}`,l.appendChild(h),o.appendChild(l),r.appendChild(o);const f=document.createElement("div");f.className="gengage-chat-header-right",f.dataset.gengagePart="chat-header-actions";{const S=document.createElement("button");S.type="button",S.className="gengage-chat-header-btn gengage-chat-header-btn--reopen-panel gds-btn gds-btn-ghost gds-icon-btn",S.dataset.gengagePart="chat-header-reopen-panel",S.setAttribute("aria-label",this.i18n.showPanelAriaLabel),S.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><line x1="9" y1="3" x2="9" y2="21"/></svg>',S.addEventListener("click",()=>this._showMobilePanelFromBtn()),f.appendChild(S),this._reopenPanelBtn=S}if(e.headerCartUrl||e.onCartClick){const S=document.createElement("button");S.type="button",S.className="gengage-chat-header-btn gengage-chat-header-btn--cart gds-btn gds-btn-ghost gds-icon-btn",S.dataset.gengagePart="chat-header-cart",S.setAttribute("aria-label",this.i18n.cartAriaLabel),S.title=this.i18n.cartAriaLabel,S.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/></svg>',S.addEventListener("click",()=>e.onCartClick?.()),f.appendChild(S),this._cartBtn=S}if(e.onHistoryClick){const S=document.createElement("button");S.type="button",S.className="gengage-chat-header-btn gengage-chat-header-btn--history gds-btn gds-btn-ghost gds-icon-btn",S.dataset.gengagePart="chat-header-history",S.setAttribute("aria-label",this.i18n.historyAriaLabel),S.title=this.i18n.historyAriaLabel,S.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 8v5l3 2"/><path d="M3.05 11A9 9 0 1 1 5 17.5"/><path d="M3 8v4h4"/></svg>',S.addEventListener("click",()=>e.onHistoryClick?.()),f.appendChild(S)}if(e.onNewChat){const S=document.createElement("button");S.className="gengage-chat-header-btn gengage-chat-new-chat gds-btn gds-btn-ghost gds-icon-btn",S.dataset.gengagePart="chat-header-new-chat",S.type="button",S.setAttribute("aria-label",this.i18n.newChatButton),S.title=this.i18n.newChatButton,S.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>',S.addEventListener("click",()=>e.onNewChat?.()),f.appendChild(S)}const b=document.createElement("button");if(b.className="gengage-chat-close gds-btn gds-btn-ghost gds-icon-btn",b.dataset.gengagePart="chat-header-close",b.type="button",b.setAttribute("aria-label",this.i18n.closeButton),b.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',b.addEventListener("click",e.onClose),e.showHeaderFavorites){const S=document.createElement("button");S.className="gengage-chat-header-btn gengage-chat-header-btn--fav gds-btn gds-btn-ghost gds-icon-btn",S.dataset.gengagePart="chat-header-favorites",S.type="button",S.setAttribute("aria-label",this.i18n.favoritesAriaLabel),S.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>';const P=document.createElement("span");P.className="gengage-chat-header-fav-badge",P.dataset.gengagePart="chat-header-favorites-badge",P.setAttribute("aria-hidden","true"),P.style.display="none",S.appendChild(P),this._favBadgeEl=P,S.addEventListener("click",()=>{e.onFavoritesClick?.()}),f.appendChild(S)}f.appendChild(b),i&&r.insertBefore(i,r.firstChild),r.appendChild(f);{let P=0,H=0,Z=!1;const re=Y=>{if(!(this._options.getMobileViewport?.()??window.innerWidth<=768)||Y.target.closest('button, a, input, [role="button"]'))return;const Q=Y.changedTouches?.[0];Q&&(P=Q.clientY,H=0,Z=!0,this.root.style.transition="none")},ce=Y=>{if(!Z)return;const Q=Y.changedTouches?.[0];if(!Q)return;H=Q.clientY-P;const J=(e.getMobileState?.()??"full")==="full"?Math.max(0,H):H;Y.preventDefault(),this.root.style.transform=`translateY(${J}px)`},fe=()=>{if(!Z)return;Z=!1;const Y=e.getMobileState?.()??"full";let Q;H>72?Q=Y==="full"?"half":"close":H<-72&&Y==="half"?Q="full":Q=Y,this.root.style.transition="",Q==="close"?(this.root.style.transform="translateY(100%)",setTimeout(()=>{this.root.style.transform="",e.onMobileSnap?.("close")},280)):(this.root.style.transform="",e.onMobileSnap?.(Q)),H=0},F=()=>{Z&&(Z=!1,H=0,this.root.style.transition="",this.root.style.transform="")};r.addEventListener("touchstart",re,{passive:!0}),r.addEventListener("touchmove",ce,{passive:!1}),r.addEventListener("touchend",fe,{passive:!0}),r.addEventListener("touchcancel",F,{passive:!0}),this._cleanups.push(()=>{r.removeEventListener("touchstart",re),r.removeEventListener("touchmove",ce),r.removeEventListener("touchend",fe),r.removeEventListener("touchcancel",F)})}const m=document.createElement("div");m.className="gengage-chat-body",m.dataset.gengagePart="chat-body",this._panelEl=document.createElement("div"),this._panelEl.className="gengage-chat-panel gds-panel",this._panelEl.dataset.gengagePart="chat-panel",this._panelTopBar=new Li({onBack:()=>e.onPanelBack?.(),onForward:()=>e.onPanelForward?.(),onClose:()=>{e.getMobileViewport?.()??!1?this.hideMobilePanel():this.clearPanel(),e.onPanelClose?.()},backAriaLabel:this.i18n.backAriaLabel,forwardAriaLabel:this.i18n.forwardAriaLabel,closePanelAriaLabel:this.i18n.closePanelAriaLabel}),this._panelEl.appendChild(this._panelTopBar.getElement());const u=()=>this._updateScrollAffordance();this._panelEl.addEventListener("scroll",u,{passive:!0}),this._cleanups.push(()=>this._panelEl.removeEventListener("scroll",u)),m.appendChild(this._panelEl),this._dividerEl=document.createElement("div"),this._dividerEl.className="gengage-chat-panel-divider gengage-chat-panel-divider--hidden",this._dividerEl.dataset.gengagePart="chat-panel-divider",this._dividerEl.setAttribute("role","separator"),this._dividerEl.setAttribute("aria-label",this.i18n.togglePanelAriaLabel),this._dividerEl.setAttribute("title",this.i18n.togglePanelAriaLabel);const g=document.createElement("button");g.className="gengage-chat-panel-divider-toggle gds-btn gds-btn-ghost",g.dataset.gengagePart="chat-panel-divider-toggle",g.type="button",g.setAttribute("aria-label",this.i18n.togglePanelAriaLabel),g.setAttribute("title",this.i18n.togglePanelAriaLabel),g.textContent="»",g.addEventListener("click",()=>{if(this._ignoreNextDividerClick){this._ignoreNextDividerClick=!1;return}this.togglePanel(),this._onPanelToggle?.()});let v=null,_=null;const y=24,k=S=>{if(!(this._options.getMobileViewport?.()??window.innerWidth<=768))return;const P=S.changedTouches?.[0];P&&(v=P.clientX,_=P.clientY)},T=S=>{if(!(this._options.getMobileViewport?.()??window.innerWidth<=768)||v===null||_===null)return;const P=S.changedTouches?.[0];if(!P)return;const H=P.clientX-v,Z=P.clientY-_;if(v=null,_=null,Math.abs(Z)<y||Math.abs(Z)<Math.abs(H))return;const re=Z<0;re!==this._panelCollapsed&&(this._ignoreNextDividerClick=!0,this.setPanelCollapsed(re),this._onPanelToggle?.())};this._dividerEl.addEventListener("touchstart",k,{passive:!0}),this._dividerEl.addEventListener("touchend",T,{passive:!0}),this._cleanups.push(()=>{this._dividerEl.removeEventListener("touchstart",k),this._dividerEl.removeEventListener("touchend",T)}),this._dividerEl.appendChild(g),m.appendChild(this._dividerEl);const w=document.createElement("div");w.className="gengage-chat-conversation",w.dataset.gengagePart="chat-conversation",this._conversationEl=w,w.appendChild(r);const E=document.createElement("div");E.className="gengage-chat-offline-bar gds-evidence-card gds-evidence-card-warning",E.dataset.gengagePart="chat-offline-bar",E.setAttribute("role","status"),E.setAttribute("aria-live","polite"),E.textContent=this.i18n.offlineMessage,typeof navigator<"u"&&!navigator.onLine&&E.classList.add("gengage-chat-offline-bar--visible"),w.appendChild(E);const z=()=>E.classList.add("gengage-chat-offline-bar--visible"),$=()=>E.classList.remove("gengage-chat-offline-bar--visible");window.addEventListener("offline",z),window.addEventListener("online",$),this._cleanups.push(()=>{window.removeEventListener("offline",z),window.removeEventListener("online",$)}),this._kvkkSlot=document.createElement("div"),this._kvkkSlot.className="gengage-chat-kvkk-slot",this._kvkkSlot.dataset.gengagePart="chat-kvkk-slot",w.appendChild(this._kvkkSlot),this.messagesEl=document.createElement("div"),this.messagesEl.id=ft,this.messagesEl.className="gengage-chat-messages",this.messagesEl.dataset.gengagePart="chat-messages",this.messagesEl.setAttribute("role","log"),this.messagesEl.setAttribute("aria-live","polite"),this.messagesEl.setAttribute("aria-atomic","false"),this.messagesEl.setAttribute("aria-label",this.i18n.chatMessagesAriaLabel),Ci(this.messagesEl);const K=document.createElement("button");K.type="button",K.className="gengage-chat-former-messages-btn gds-chip",K.dataset.gengagePart="chat-former-messages-button",K.textContent=this.i18n.showFormerMessagesButton,K.setAttribute("aria-label",this.i18n.showFormerMessagesButton),K.style.display="none",K.addEventListener("click",()=>{this._options.presentation?.onReleasePresentationFocus?.()}),this.messagesEl.appendChild(K),this._formerMessagesBtn=K;const oe=()=>{this._userInteractionUntil=Date.now()+2e3};let ie=!1;const A=()=>this._options.presentation,D=()=>{ie||(ie=!0,requestAnimationFrame(()=>{ie=!1;const{scrollTop:S,scrollHeight:P,clientHeight:H}=this.messagesEl,Z=P-S-H;this._userScrolledUp=Z>10;const re=this._presentationPinned?Z<96:Z<32,ce=Date.now(),fe=ce<this._programmaticScrollUntil,F=!re&&ce<this._userInteractionUntil,Y=fe?!1:F;re!==this._presentationPinned&&(this._presentationPinned=re,A()?.onPinnedToBottomChange?.(re)),Y!==this._presentationUserInteracting&&(this._presentationUserInteracting=Y,A()?.onUserInteractingChange?.(Y))}))};this.messagesEl.addEventListener("scroll",D,{passive:!0}),this._cleanups.push(()=>{this.messagesEl.removeEventListener("scroll",D)});const C=S=>{oe(),S.deltaY<-6&&this._presentationFocusThreadId&&this._options.presentation?.onFormerMessagesHint?.()};this.messagesEl.addEventListener("wheel",C,{passive:!0}),this._cleanups.push(()=>this.messagesEl.removeEventListener("wheel",C));const M=S=>{oe(),this._touchStartY=S.touches[0]?.clientY??null},O=S=>{oe();const P=S.touches[0]?.clientY,H=this._touchStartY;typeof P=="number"&&typeof H=="number"&&P-H>10&&this._presentationFocusThreadId&&this._options.presentation?.onFormerMessagesHint?.()};this.messagesEl.addEventListener("touchstart",M,{passive:!0}),this.messagesEl.addEventListener("touchmove",O,{passive:!0}),this._cleanups.push(()=>{this.messagesEl.removeEventListener("touchstart",M),this.messagesEl.removeEventListener("touchmove",O)}),w.appendChild(this.messagesEl),this._panelFloatingEl=document.createElement("div"),this._panelFloatingEl.className="gengage-chat-panel-float",this._panelFloatingEl.dataset.gengagePart="chat-panel-floating-layer",this._panelEl.appendChild(this._panelFloatingEl),this._resetPanelAiZoneElement(),this._pillsEl=document.createElement("div"),this._pillsEl.className="gengage-chat-pills",this._pillsEl.dataset.gengagePart="chat-suggestion-pills",this._pillsEl.setAttribute("role","toolbar"),this._pillsEl.setAttribute("aria-label",this.i18n.suggestionsAriaLabel),this._pillsEl.style.display="none";const U=document.createElement("div");U.className="gengage-chat-pills-scroll",U.dataset.gengagePart="chat-suggestion-pills-scroll",this._pillsEl.appendChild(U);const R=document.createElement("button");R.className="gengage-chat-pills-arrow gds-btn gds-btn-ghost",R.dataset.gengagePart="chat-suggestion-pills-more",R.type="button",R.setAttribute("aria-label",this.i18n.moreSuggestionsAriaLabel),R.textContent="›",R.addEventListener("click",()=>{U.scrollBy({left:150,behavior:"smooth"})}),this._pillsEl.appendChild(R);let ne=!1;const ae=()=>{ne||(ne=!0,requestAnimationFrame(()=>{ne=!1;const S=U.scrollLeft+U.clientWidth>=U.scrollWidth-4;R.style.display=S?"none":""}))};U.addEventListener("scroll",ae,{passive:!0}),this._cleanups.push(()=>{U.removeEventListener("scroll",ae)}),w.appendChild(this._pillsEl),this._inputChipsEl=document.createElement("div"),this._inputChipsEl.className="gengage-chat-input-chips",this._inputChipsEl.dataset.gengagePart="chat-input-chips",this._inputChipsEl.style.display="none",w.appendChild(this._inputChipsEl);const V=document.createElement("div");V.className="gengage-chat-input-area",V.dataset.gengagePart="chat-input-area",this.inputEl=document.createElement("textarea"),this.inputEl.className="gengage-chat-input",this.inputEl.dataset.gengagePart="chat-input",this.inputEl.rows=1,this.inputEl.placeholder=this.i18n.inputPlaceholder,this.inputEl.addEventListener("input",()=>{this._resizeRafId!==null&&cancelAnimationFrame(this._resizeRafId),this._resizeRafId=requestAnimationFrame(()=>{this._resizeRafId=null,this.inputEl.style.height="auto",this.inputEl.style.height=`${Math.min(this.inputEl.scrollHeight,120)}px`}),this._updateSendEnabled()}),this.inputEl.addEventListener("keydown",S=>{S.key==="Enter"&&!S.isComposing&&((this._options.getMobileViewport?.()??window.innerWidth<=768)||!S.shiftKey)&&(S.preventDefault(),this._submit())}),this.inputEl.addEventListener("paste",S=>{const P=S.clipboardData;if(!P)return;let H=null;const Z=P.files?.[0];if(Z&&Z.type.startsWith("image/"))H=Z;else if(P.items?.length)for(let re=0;re<P.items.length;re++){const ce=P.items[re];if(ce?.kind==="file"&&ce.type.startsWith("image/")){const fe=ce.getAsFile();if(fe){H=fe;break}}}H&&(S.preventDefault(),this._routeAttachmentFile(H))}),this._fileInput=document.createElement("input"),this._fileInput.type="file",this._fileInput.accept="image/jpeg,image/png,image/webp",this._fileInput.style.display="none",this._fileInput.addEventListener("change",()=>{const S=this._fileInput.files?.[0];S&&this._routeAttachmentFile(S),this._fileInput.value=""});const x=document.createElement("div");x.className="gengage-chat-attach-wrap",x.dataset.gengagePart="chat-attach-wrap",this._attachWrapEl=x;const N=document.createElement("button");this._attachBtn=N,N.className="gengage-chat-attach-btn gds-btn gds-btn-ghost",N.dataset.gengagePart="chat-attach-button",N.type="button",N.setAttribute("aria-label",this.i18n.attachImageButton),N.setAttribute("aria-haspopup","menu"),N.setAttribute("aria-expanded","false"),N.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg>',N.addEventListener("click",S=>{S.stopPropagation(),this._toggleAttachMenu()});const I=document.createElement("div");this._attachMenuEl=I,I.className="gengage-chat-attach-menu gds-menu",I.dataset.gengagePart="chat-attach-menu",I.setAttribute("role","menu"),I.setAttribute("hidden","");const B=document.createElement("button");B.type="button",B.className="gengage-chat-attach-menu-item gds-btn gds-btn-ghost",B.dataset.gengagePart="chat-attach-menu-select-photo",B.setAttribute("role","menuitem"),B.innerHTML=`<span class="gengage-chat-attach-menu-icon" aria-hidden="true"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg></span><span class="gengage-chat-attach-menu-label">${this.i18n.attachMenuSelectPhoto}</span>`,B.addEventListener("click",S=>{S.stopPropagation(),this._closeAttachMenu(),this._fileInput.click()});const q=document.createElement("div");q.className="gengage-chat-attach-menu-sep",q.dataset.gengagePart="chat-attach-menu-separator",q.setAttribute("aria-hidden","true");const j=document.createElement("button");j.type="button",j.className="gengage-chat-attach-menu-item gds-btn gds-btn-ghost",j.dataset.gengagePart="chat-attach-menu-paste",j.setAttribute("role","menuitem"),j.innerHTML=`<span class="gengage-chat-attach-menu-icon" aria-hidden="true"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1Z"/><path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/><path d="M16 4h2a2 2 0 0 1 2 2v4"/><path d="M21 14H11"/><path d="m15 10-4 4 4 4"/></svg></span><span class="gengage-chat-attach-menu-label">${this.i18n.attachMenuPaste}</span>`,j.addEventListener("click",S=>{S.stopPropagation();const P=typeof navigator.clipboard?.read=="function"?navigator.clipboard.read():void 0;this._pasteImageFromClipboardMenu(P)}),I.appendChild(B),I.appendChild(q),I.appendChild(j),x.appendChild(N),x.appendChild(I),this._previewStrip=document.createElement("div"),this._previewStrip.className="gengage-chat-attachment-preview gengage-chat-attachment-preview--hidden gds-card-soft",this._previewStrip.dataset.gengagePart="chat-attachment-preview";const W=document.createElement("img");W.className="gengage-chat-attachment-preview-thumb",W.dataset.gengagePart="chat-attachment-preview-thumb",W.alt="",this._previewName=document.createElement("span"),this._previewName.className="gengage-chat-attachment-name",this._previewName.dataset.gengagePart="chat-attachment-preview-name";const X=document.createElement("button");X.className="gengage-chat-attachment-remove gds-btn gds-btn-ghost",X.dataset.gengagePart="chat-attachment-preview-remove",X.type="button",X.setAttribute("aria-label",this.i18n.removeAttachmentButton),X.textContent="×",X.addEventListener("click",()=>this.clearAttachment()),this._previewStrip.appendChild(W),this._previewStrip.appendChild(this._previewName),this._previewStrip.appendChild(X),this.sendBtn=document.createElement("button"),this.sendBtn.className="gengage-chat-send gds-btn gds-btn-primary",this.sendBtn.dataset.gengagePart="chat-send",this.sendBtn.type="button",this.sendBtn.disabled=!0,this.sendBtn.setAttribute("aria-label",this.i18n.sendButton),this.sendBtn.dataset.tooltip=this.i18n.sendButton,this._renderSendButtonIcon("send"),this.sendBtn.addEventListener("click",()=>{if(this._sendStopHandler){const S=this._sendStopHandler;this.hideStopButton(),S();return}this._submit()}),V.addEventListener("dragover",S=>{S.preventDefault(),V.classList.add("gengage-chat-input-area--dragover")}),V.addEventListener("dragleave",()=>{V.classList.remove("gengage-chat-input-area--dragover")}),V.addEventListener("drop",S=>{S.preventDefault(),V.classList.remove("gengage-chat-input-area--dragover");const P=S.dataTransfer?.files[0];P&&this._routeAttachmentFile(P)});const G=document.createElement("div");G.className="gengage-chat-input-pill gds-input-shell",G.dataset.gengagePart="chat-input-shell",G.appendChild(x),G.appendChild(this.inputEl),this._voiceEnabled&&_l()&&(this._micBtn=document.createElement("button"),this._micBtn.className="gengage-chat-mic-btn gds-btn gds-btn-ghost",this._micBtn.dataset.gengagePart="chat-mic-button",this._micBtn.type="button",this._micBtn.setAttribute("aria-label",this.i18n.voiceButton),this._micBtn.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><line x1="12" y1="19" x2="12" y2="23"/><line x1="8" y1="23" x2="16" y2="23"/></svg>',this._micBtn.addEventListener("click",()=>this._toggleVoice()),G.appendChild(this._micBtn),this._voiceInput=new Ai({onInterim:S=>{this._resizeRafId!==null&&(cancelAnimationFrame(this._resizeRafId),this._resizeRafId=null),this.inputEl.value=S,this.inputEl.style.height="auto",this.inputEl.style.height=`${Math.min(this.inputEl.scrollHeight,120)}px`},onFinal:S=>{this.inputEl.value=S},onAutoSubmit:S=>{this.inputEl.value=S,this._micBtn?.classList.remove("gengage-chat-mic-btn--active"),this._submit()},onStateChange:S=>{S==="listening"?this._micBtn?.classList.add("gengage-chat-mic-btn--active"):this._micBtn?.classList.remove("gengage-chat-mic-btn--active")},onError:(S,P)=>{this._micBtn?.classList.remove("gengage-chat-mic-btn--active")}},{lang:this._voiceLang})),G.appendChild(this.sendBtn),V.appendChild(this._previewStrip),V.appendChild(this._fileInput),V.appendChild(G),w.appendChild(V),m.appendChild(w),this._comparisonDockSlotEl=document.createElement("div"),this._comparisonDockSlotEl.className="gengage-chat-comparison-dock-slot",this._comparisonDockSlotEl.dataset.gengagePart="comparison-dock-slot",m.appendChild(this._comparisonDockSlotEl),this.root.appendChild(m),this._setupHorizontalSwipe(w);const se=document.createElement("div");se.className="gengage-chat-footer",se.dataset.gengagePart="chat-footer",se.textContent=this.i18n.poweredBy,this.root.appendChild(se);const ge=S=>{S.key==="Escape"&&e.onClose()};this.root.addEventListener("keydown",ge),this._cleanups.push(()=>this.root.removeEventListener("keydown",ge)),t.appendChild(this.root)}addMessage(t){const e=this._options.renderMessageUISpec?.(t)??null;if(!(t.content||t.attachment||e||t.role==="user"&&this._onRollback))return;const a=document.createElement("div");if(a.className=`gengage-chat-bubble gds-message ${t.role==="assistant"?"gds-message-assistant":"gds-message-user"} gengage-chat-bubble--${t.role}`,a.dataset.gengagePart=t.role==="assistant"?"chat-message-assistant":"chat-message-user",a.setAttribute("role","listitem"),a.dataset.messageId=t.id,t.threadId&&(a.dataset.threadId=t.threadId),this._firstBotMessageIds.has(t.id)&&a.classList.add("gengage-chat-bubble--first"),t.attachment){const n=document.createElement("img");n.className="gengage-chat-attachment-thumb";const i=URL.createObjectURL(t.attachment);n.src=i,n.alt=t.attachment.name,n.addEventListener("load",()=>URL.revokeObjectURL(i),{once:!0}),n.addEventListener("error",()=>URL.revokeObjectURL(i),{once:!0}),a.insertBefore(n,a.firstChild)}if(t.content){const n=document.createElement("div");if(n.className="gengage-chat-bubble-text",n.dataset.gengagePart="chat-message-text",t.role==="assistant"){if(t.renderHint==="photo_analysis"?(a.classList.add("gengage-chat-bubble--photo-analysis"),this._renderPhotoAnalysisCard(n,t.photoAnalysis)):n.innerHTML=ye(t.content),this._onLinkClick){const i=n.querySelectorAll("a[href]");for(const r of i)r.addEventListener("click",o=>{o.preventDefault();const s=r.getAttribute("href");s&&this._onLinkClick?.(s)})}}else n.textContent=t.content;a.appendChild(n)}if(e&&(a.classList.add("gengage-chat-bubble--ui-spec"),t.content||a.classList.add("gengage-chat-bubble--ui-spec-only"),e.classList.add("gengage-chat-bubble-ui-spec"),(e.classList.contains("gengage-chat-panel-restore-card")||e.querySelector(".gengage-chat-panel-restore-card")!==null)&&a.classList.add("gengage-chat-bubble--panel-restore"),a.appendChild(e)),t.role==="user"&&this._onRollback){const n=document.createElement("button");n.className="gengage-chat-rollback-btn gds-btn gds-btn-ghost",n.dataset.gengagePart="chat-message-rollback",n.type="button",n.setAttribute("aria-label",this.i18n.rollbackAriaLabel),n.title=this.i18n.rollbackAriaLabel,n.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="1 4 1 10 7 10"/><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"/></svg>',n.addEventListener("click",i=>{i.stopPropagation(),this._onRollback?.(t.id)}),a.appendChild(n)}this.messagesEl.appendChild(a),this._presentationFocusThreadId&&this._applyPresentationCollapsed(),this._scrollToBottom(t.role==="user")}removeMessageBubble(t){this._firstBotMessageIds.delete(t),this.messagesEl.querySelector(`[data-message-id="${ve(t)}"]`)?.remove(),this._presentationFocusThreadId&&this._applyPresentationCollapsed()}showTypingIndicator(t,e="auto"){this.removeTypingIndicator();const a=this._thinkingSteps.length>0?this._thinkingSteps.slice(-3):t?[t]:this.i18n.loadingSequenceGeneric,{root:n,binding:i}=this._createLoadingSequence("chat",a,"chat-typing-indicator","gengage-chat-typing");n.dataset.typing="true",this._typingLoadingBinding=i,this.messagesEl.appendChild(n),this.setTypingIndicatorMode(e),this._scrollToBottom(!0)}addThinkingStep(t){const e=t.trim();e&&this._thinkingSteps[this._thinkingSteps.length-1]!==e&&(this._thinkingSteps.push(e),this._thinkingSteps=this._thinkingSteps.slice(-3),this._typingLoadingBinding&&this._applyLoadingSteps(this._typingLoadingBinding,this._thinkingSteps,!0),this._panelLoadingBinding&&this._applyLoadingSteps(this._panelLoadingBinding,this._thinkingSteps,!0),this._panelAiZoneLoadingBinding&&this._applyLoadingSteps(this._panelAiZoneLoadingBinding,this._thinkingSteps,!0))}setThinkingSteps(t){const e=t.map(a=>a.trim()).filter(Boolean).slice(-3);e.length!==0&&(this._thinkingSteps=e,this._typingLoadingBinding&&this._applyLoadingSteps(this._typingLoadingBinding,this._thinkingSteps,!0),this._panelLoadingBinding&&this._applyLoadingSteps(this._panelLoadingBinding,this._thinkingSteps,!0),this._panelAiZoneLoadingBinding&&this._applyLoadingSteps(this._panelAiZoneLoadingBinding,this._thinkingSteps,!0))}removeTypingIndicator(){this._destroyLoadingBinding(this._typingLoadingBinding),this._typingLoadingBinding=null,this.messagesEl.querySelector(".gengage-chat-typing")?.remove(),this._thinkingSteps=[],this.hideStopButton()}setTypingIndicatorMode(t){const e=this.messagesEl.querySelector(".gengage-chat-typing"),a=this._typingLoadingBinding;if(!e||!a)return;const n=t==="auto"?this._panelOwnsProgressSurface()?"presence":"full":t;e.dataset.progressMode!==n&&(e.classList.toggle("gengage-chat-typing--presence",n==="presence"),e.dataset.progressMode=n,n==="presence"?(a.labelEl.setAttribute("aria-hidden","true"),a.labelEl.classList.add("gengage-sr-only"),e.setAttribute("aria-label",this.i18n.loadingMessage)):(a.labelEl.removeAttribute("aria-hidden"),a.labelEl.classList.remove("gengage-sr-only"),e.removeAttribute("aria-label")))}_panelOwnsProgressSurface(){return(this._options.getMobileViewport?.()??window.innerWidth<=768)||!this._panelVisible||this._panelCollapsed?!1:this._panelLoadingBinding!==null||this._panelAiZoneLoadingBinding!==null}showStopButton(t){this._sendStopHandler=t,this.sendBtn.disabled=!1,this.sendBtn.classList.add("gengage-chat-send--stop","gds-btn-secondary"),this.sendBtn.classList.remove("gds-btn-primary"),this.sendBtn.setAttribute("aria-label",this.i18n.stopGenerating),this.sendBtn.dataset.tooltip=this.i18n.stopGenerating,this._renderSendButtonIcon("stop")}hideStopButton(){this._sendStopHandler=null,this.sendBtn.classList.remove("gengage-chat-send--stop","gds-btn-secondary"),this.sendBtn.classList.add("gds-btn-primary"),this.sendBtn.setAttribute("aria-label",this.i18n.sendButton),this.sendBtn.dataset.tooltip=this.i18n.sendButton,this._renderSendButtonIcon("send"),this._updateSendEnabled()}showError(t,e){const a=document.createElement("div");a.className="gengage-chat-error",a.setAttribute("role","alert");const n=document.createElement("span");if(n.textContent=t??this.i18n.errorMessage,a.appendChild(n),e){const i=document.createElement("button");i.className="gengage-chat-error-retry",i.textContent=this.i18n.retryButton??"Retry",i.addEventListener("click",()=>{a.remove(),e()}),a.appendChild(i)}this.messagesEl.appendChild(a),this._scrollToBottom(!0)}showErrorWithRecovery(t,e){this.showError(t),this.setRecoveryPills(e)}showRecoveryPillsOnly(t){this.setRecoveryPills(t)}setRecoveryPills(t){this.setPills([{label:this.i18n.tryAgainButton,onAction:t.onRetry},{label:this.i18n.askSomethingElseButton,onAction:t.onNewQuestion}])}clearMessages(){const t=this._formerMessagesBtn;for(const e of[...this.messagesEl.children])e!==t&&e.remove()}setPills(t){const e=this._pillsEl.querySelector(".gengage-chat-pills-scroll");if(!e)return;for(;e.firstChild;)e.removeChild(e.firstChild);if(t.length===0){this._pillsEl.style.display="none";return}this._pillsEl.style.display="";for(const n of t){const i=document.createElement("button");if(i.className=n.image?"gengage-chat-pill gds-chip gds-chip-active gengage-chat-pill--rich":"gengage-chat-pill gds-chip gds-chip-active",i.type="button",n.icon){const o=Ha[n.icon]??za,s=document.createElement("span");s.className="gengage-chat-pill-icon",s.innerHTML=o,i.appendChild(s)}if(n.image&&we(n.image)){const o=document.createElement("img");o.className="gengage-chat-pill-img",o.src=n.image,o.alt="",i.appendChild(o)}const r=document.createElement("span");if(r.className="gengage-chat-pill-text",r.textContent=n.label,i.appendChild(r),n.description){const o=document.createElement("span");o.className="gengage-chat-pill-desc";const s=`pill-desc-${Math.random().toString(36).slice(2,9)}`;o.id=s,o.textContent=n.description,i.appendChild(o),i.setAttribute("aria-describedby",s)}i.addEventListener("click",()=>n.onAction()),e.appendChild(i)}const a=this._pillsEl.querySelector(".gengage-chat-pills-arrow");a&&requestAnimationFrame(()=>{a.style.display=e.scrollWidth>e.clientWidth?"":"none"})}focusInput(){this.inputEl.focus()}showKvkkBanner(t){this._kvkkSlot.innerHTML="";const e=Cl({htmlContent:t});this._kvkkSlot.appendChild(e)}hideKvkkBanner(){this._kvkkSlot.innerHTML=""}isKvkkBannerVisible(){return this._kvkkSlot.childNodes.length>0}getElement(){return this.root}openAttachmentPicker(){this._fileInput.click()}setAttachmentControlsVisible(t){this._attachWrapEl&&(this._attachWrapEl.style.display=t?"":"none",t||this._closeAttachMenu())}setBeautyPhotoStepCard(t){this._beautyPhotoStepEl=Al(this._beautyPhotoStepEl,this._conversationEl??null,t,this.i18n,()=>this.openAttachmentPicker())}stageAttachment(t){this._pendingAttachment=t,this._previewName.textContent=t.name;const e=this._previewStrip.querySelector(".gengage-chat-attachment-preview-thumb");e&&(e.src&&e.src.startsWith("blob:")&&URL.revokeObjectURL(e.src),e.src=URL.createObjectURL(t)),this._previewStrip.classList.remove("gengage-chat-attachment-preview--hidden"),this._updateSendEnabled()}clearAttachment(){const t=this._previewStrip.querySelector(".gengage-chat-attachment-preview-thumb");t?.src&&(URL.revokeObjectURL(t.src),t.src=""),this._pendingAttachment=null,this._previewStrip.classList.add("gengage-chat-attachment-preview--hidden"),this._updateSendEnabled()}_routeAttachmentFile(t){if(this._onAttachment)try{this._onAttachment(t)}catch(e){console.error("[gengage:chat] Attachment callback error:",e)}else this.stageAttachment(t)}_closeAttachMenu(){this._attachMenuEl&&(this._attachMenuEl.setAttribute("hidden",""),this._attachBtn?.setAttribute("aria-expanded","false"),this._attachMenuClickTimerId!==null&&(clearTimeout(this._attachMenuClickTimerId),this._attachMenuClickTimerId=null),this._attachMenuCleanup&&(this._attachMenuCleanup(),this._attachMenuCleanup=null))}_openAttachMenu(){if(!this._attachMenuEl)return;this._attachMenuEl.removeAttribute("hidden"),this._attachBtn?.setAttribute("aria-expanded","true");const t=a=>{this._attachWrapEl?.contains(a.target)||this._closeAttachMenu()},e=a=>{a.key==="Escape"&&(a.stopPropagation(),this._closeAttachMenu())};this._attachMenuClickTimerId=window.setTimeout(()=>{this._attachMenuClickTimerId=null,document.addEventListener("click",t,!0)},0),document.addEventListener("keydown",e,!0),this._attachMenuCleanup=()=>{document.removeEventListener("click",t,!0),document.removeEventListener("keydown",e,!0)}}_toggleAttachMenu(){this._attachMenuEl&&(this._attachMenuEl.hasAttribute("hidden")?this._openAttachMenu():this._closeAttachMenu())}async _pasteImageFromClipboardMenu(t){const e=await Rl(t);if(e){this._routeAttachmentFile(e),this._closeAttachMenu();return}me("gengage:global:error",{message:this.i18n.clipboardNoImageMessage,source:"chat"}),this._closeAttachMenu()}getPendingAttachment(){return this._pendingAttachment}setPanelAiZoneState(t,e){if(this._panelAiZoneEl.isConnected&&(this._clearPanelAiZoneState(),t!=="hidden")){if(this._panelAiZoneEl.removeAttribute("hidden"),t==="analyzing"){this._panelAiZoneEl.innerHTML="";const a=[e?.analyzingLabel??this.i18n.aiAnalysisAnalyzingLabel,...this.i18n.loadingSequencePanel],{root:n,binding:i}=this._createLoadingSequence("panel",this._thinkingSteps.length>0?this._thinkingSteps.slice(-3):a,"panel-ai-zone-loading","gengage-chat-panel-ai-zone-inner");this._panelAiZoneLoadingBinding=i,this._panelAiZoneEl.appendChild(n)}else t==="results"&&e?.resultEl&&(this._panelAiZoneEl.innerHTML="",this._panelAiZoneEl.appendChild(e.resultEl));this.setTypingIndicatorMode("auto")}}_clearPanelAiZoneState(){this._destroyLoadingBinding(this._panelAiZoneLoadingBinding),this._panelAiZoneLoadingBinding=null,this._panelAiZoneEl.innerHTML="",this._panelAiZoneEl.setAttribute("hidden",""),this.setTypingIndicatorMode("auto")}_resetPanelAiZoneElement(){this._panelAiZoneEl=document.createElement("div"),this._panelAiZoneEl.className="gengage-chat-panel-ai-zone",this._panelAiZoneEl.setAttribute("hidden","")}_emitHostShellSync(){this.setTypingIndicatorMode("auto"),this._onHostShellSync?.()}_applyPanelCollapsedState(){this._panelEl.classList.toggle("gengage-chat-panel--collapsed",this._panelCollapsed);const t=this._dividerEl.querySelector(".gengage-chat-panel-divider-toggle");t&&(t.textContent=this._panelCollapsed?"«":"»")}_syncPanelTopBarFromContent(t){const e=t.querySelector(".gengage-chat-product-grid-head");if(e){const a=e.querySelector(".gengage-chat-product-grid-head-title"),n=e.querySelector(".gengage-chat-product-grid-head-actions");if(a?.textContent?.trim()){const i=a.textContent.trim();t.dataset.gengagePanelDerivedTitle=i,this._panelTopBar.setTitle(i)}n?(n.classList.add("gengage-chat-panel-topbar-toolbar-host"),this._panelTopBar.setActions(n)):this._panelTopBar.setActions(null),e.remove();return}this._syncPanelTopBarTitleFromContent(t)}_syncPanelTopBarTitleFromContent(t){const e=t.dataset.gengagePanelDerivedTitle;if(e?.trim()){this._panelTopBar.setTitle(e.trim());return}const a=t.querySelector(".gengage-chat-product-details-title, .gengage-chat-product-details-similars-heading, .gengage-chat-ai-top-picks-title")?.textContent?.trim();a&&this._panelTopBar.setTitle(a)}setPanelContent(t,e){this._destroyLoadingBinding(this._panelLoadingBinding),this._panelLoadingBinding=null,e?.preserveAiZone!==!0&&this._clearPanelAiZoneState(),this._panelVisible?this._swapPanelContent(t):(this._panelEl.innerHTML="",this._resetPanelAiZoneElement(),this._panelEl.appendChild(this._panelTopBar.getElement()),this._panelEl.appendChild(this._panelAiZoneEl),this._panelTopBar.setActions(null),this._panelEl.appendChild(t),this._panelEl.appendChild(this._panelFloatingEl)),this._syncPanelTopBarFromContent(t),this._dividerEl.classList.remove("gengage-chat-panel-divider--hidden"),this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this.root.classList.add("gengage-chat-drawer--with-panel"),this._panelCollapsed&&this.setPanelCollapsed(!1),this._syncComparisonDockVisibility(),requestAnimationFrame(()=>{this._updateScrollAffordance(),this._smoothScrollPanelListToTop()}),this._reopenPanelBtn&&(this._reopenPanelBtn.style.display="none"),this._emitHostShellSync()}_swapPanelContent(t){this._panelTopBar.setActions(null);const e=this._panelEl.querySelector(".gengage-chat-panel-skeleton");if(e){e.replaceWith(t);return}const a=this.getPanelContentElement();if(a){a.replaceWith(t);return}this._panelEl.insertBefore(t,this._panelFloatingEl)}appendPanelContent(t){this._panelEl.insertBefore(t,this._panelFloatingEl),this._syncPanelTopBarFromContent(this.getPanelContentElement()??t),this._dividerEl.classList.remove("gengage-chat-panel-divider--hidden"),this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this.root.classList.add("gengage-chat-drawer--with-panel"),this.setPanelCollapsed(this._panelCollapsed),this._syncComparisonDockVisibility(),this._emitHostShellSync()}getPanelContentElement(){const t=this._panelEl.children;for(let e=0;e<t.length;e++){const a=t[e];if(!(a.classList.contains("gengage-chat-panel-topbar")||a.classList.contains("gengage-chat-panel-ai-zone")||a.classList.contains("gengage-chat-panel-float")))return a}return null}resyncPanelTopBarFromCurrentContent(){const t=this.getPanelContentElement();t&&this._syncPanelTopBarFromContent(t)}isPanelVisible(){return this._panelVisible}hasPanelContent(){return this._panelVisible&&this.getPanelContentElement()!==null}isPanelLoading(){return this._panelEl.querySelector(".gengage-chat-panel-skeleton")!==null}showPanelLoading(t){this._destroyLoadingBinding(this._panelLoadingBinding),this._panelLoadingBinding=null,this._dividerEl.classList.remove("gengage-chat-panel-divider--hidden"),this._panelEl.innerHTML="",this._resetPanelAiZoneElement(),this._panelEl.appendChild(this._panelTopBar.getElement()),this._panelEl.appendChild(this._panelAiZoneEl);const e=document.createElement("div");e.className="gengage-chat-panel-skeleton";const a=t==="comparisonTable"?this.i18n.loadingSequenceComparison:this.i18n.loadingSequencePanel,{root:n,binding:i}=this._createLoadingSequence("panel",this._thinkingSteps.length>0?this._thinkingSteps.slice(-3):a,"panel-loading-status","gengage-chat-panel-loading-status");switch(this._panelLoadingBinding=i,t){case"productDetails":{e.appendChild(n);const r=document.createElement("div");r.className="gengage-chat-panel-skeleton-block gengage-chat-panel-skeleton-block--image",e.appendChild(r);for(let o=0;o<3;o++){const s=document.createElement("div");s.className="gengage-chat-panel-skeleton-block gengage-chat-panel-skeleton-block--text",e.appendChild(s)}break}case"productList":case"groupList":{e.appendChild(n);const r=document.createElement("div");r.className="gengage-chat-panel-skeleton-grid";for(let o=0;o<6;o++){const s=document.createElement("div");s.className="gengage-chat-panel-skeleton-block gengage-chat-panel-skeleton-block--card",r.appendChild(s)}e.appendChild(r);break}case"comparisonTable":{e.classList.add("gengage-chat-panel-skeleton--comparison"),e.appendChild(n);const r=document.createElement("div");r.className="gengage-chat-comparison gengage-chat-comparison--skeleton",r.setAttribute("aria-busy","true");const o=document.createElement("div");o.className="gengage-chat-comparison-recommended";const s=document.createElement("div");s.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-label",o.appendChild(s);const c=document.createElement("div");c.className="gengage-chat-comparison-recommended-body";const l=document.createElement("div");l.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-img",l.setAttribute("aria-hidden","true");const p=document.createElement("div");p.className="gengage-chat-comparison-recommended-info";for(let w=0;w<2;w++){const E=document.createElement("div");E.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-title",w===1&&E.classList.add("gengage-chat-comparison-skeleton-rec-title--short"),p.appendChild(E)}const d=document.createElement("div");d.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-price",p.appendChild(d),c.appendChild(l),c.appendChild(p),o.appendChild(c);const h=document.createElement("div");h.className="gengage-chat-comparison-highlights";const f=document.createElement("div");f.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-hl-label",h.appendChild(f);const b=document.createElement("ul");b.className="gengage-chat-comparison-skeleton-hl-list";for(let w=0;w<3;w++){const E=document.createElement("li"),z=document.createElement("div");z.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-hl-line",w===1&&z.classList.add("gengage-chat-comparison-skeleton-hl-line--medium"),w===2&&z.classList.add("gengage-chat-comparison-skeleton-hl-line--short"),E.appendChild(z),b.appendChild(E)}h.appendChild(b),o.appendChild(h),r.appendChild(o);const m=document.createElement("div");m.className="gengage-chat-comparison-key-differences";const u=document.createElement("div");u.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-kd-heading",m.appendChild(u);const g=document.createElement("div");g.className="gengage-chat-comparison-key-differences-content";for(let w=0;w<4;w++){const E=document.createElement("div");E.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-kd-line",g.appendChild(E)}m.appendChild(g),r.appendChild(m);const v=document.createElement("div");v.className="gengage-chat-comparison-special gengage-chat-comparison-special--skeleton";const _=document.createElement("div");_.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-special-line",v.appendChild(_),r.appendChild(v);const y=document.createElement("div");y.className="gengage-chat-comparison-skeleton-table-wrap";const k=document.createElement("div");k.className="gengage-chat-comparison-skeleton-table-head";const T=document.createElement("div");T.className="gengage-chat-comparison-skeleton-table-corner",k.appendChild(T);for(let w=0;w<3;w++){const E=document.createElement("div");E.className="gengage-chat-comparison-skeleton-table-col";const z=document.createElement("div");z.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-img";const $=document.createElement("div");$.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-name";const K=document.createElement("div");K.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-price",E.appendChild(z),E.appendChild($),E.appendChild(K),k.appendChild(E)}y.appendChild(k);for(let w=0;w<3;w++){const E=document.createElement("div");E.className="gengage-chat-comparison-skeleton-table-row";const z=document.createElement("div");z.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-label",E.appendChild(z);for(let $=0;$<3;$++){const K=document.createElement("div");K.className="gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-cell",E.appendChild(K)}y.appendChild(E)}r.appendChild(y),e.appendChild(r);break}default:e.appendChild(n);for(let r=0;r<3;r++){const o=document.createElement("div");o.className="gengage-chat-panel-skeleton-block",e.appendChild(o)}break}this._panelEl.appendChild(e),this._panelEl.appendChild(this._panelFloatingEl),this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this.root.classList.add("gengage-chat-drawer--with-panel"),this._applyPanelCollapsedState(),this._syncComparisonDockVisibility(),this._emitHostShellSync()}updatePanelTopBar(t,e,a){const n=this._options.getMobileViewport?.()??!1;this._panelTopBar.update(n?!0:t,e,a);const i=this.getPanelContentElement();i&&this._syncPanelTopBarTitleFromContent(i)}getPanelTopBarTitle(){return this._panelTopBar.getTitle()}updateFavoritesBadge(t){this._favBadgeEl&&(t>0?(this._favBadgeEl.textContent=t>99?"99+":String(t),this._favBadgeEl.style.display=""):this._favBadgeEl.style.display="none")}clearPanel(){this._destroyLoadingBinding(this._panelLoadingBinding),this._panelLoadingBinding=null,this._destroyLoadingBinding(this._panelAiZoneLoadingBinding),this._panelAiZoneLoadingBinding=null,this._panelEl.innerHTML="",this._resetPanelAiZoneElement(),this._panelEl.appendChild(this._panelTopBar.getElement()),this._panelEl.appendChild(this._panelAiZoneEl),this._panelEl.appendChild(this._panelFloatingEl),this._panelTopBar.setActions(null),this._panelVisible=!1,this._panelEl.classList.remove("gengage-chat-panel--visible","gengage-chat-panel--collapsed"),this.root.classList.remove("gengage-chat-drawer--with-panel"),this._dividerEl.classList.add("gengage-chat-panel-divider--hidden"),this._reopenPanelBtn&&(this._reopenPanelBtn.style.display="none"),this.setComparisonDockContent(null),this._emitHostShellSync()}_syncComparisonDockVisibility(){const t=this._panelVisible&&this._comparisonDockSlotEl.children.length>0;this._comparisonDockSlotEl.classList.toggle("gengage-chat-comparison-dock-slot--panel-visible",t),this._comparisonDockSlotEl.style.display=t?"":"none",this._comparisonDockSlotEl.setAttribute("aria-hidden",t?"false":"true")}setComparisonDockContent(t){this._comparisonDockSlotEl.replaceChildren(),t&&this._comparisonDockSlotEl.appendChild(t),this._syncComparisonDockVisibility()}hideMobilePanel(){this._panelVisible&&(this._panelVisible=!1,this._panelEl.classList.remove("gengage-chat-panel--visible"),this._reopenPanelBtn&&(this._reopenPanelBtn.style.display="flex"),this._syncComparisonDockVisibility(),this._emitHostShellSync())}_showMobilePanelFromBtn(){this._panelVisible||(this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this._reopenPanelBtn&&(this._reopenPanelBtn.style.display="none"),this._syncComparisonDockVisibility(),this._emitHostShellSync())}showMobilePanel(){this._showMobilePanelFromBtn()}expandPanel(){this._panelCollapsed=!1,this._panelEl.classList.remove("gengage-chat-panel--collapsed"),this._panelVisible||(this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this.root.classList.add("gengage-chat-drawer--with-panel")),this._syncComparisonDockVisibility(),this._emitHostShellSync()}setForceExpanded(){this._panelCollapsed=!1,this._panelEl.classList.remove("gengage-chat-panel--collapsed"),this._panelVisible||(this._panelVisible=!0,this._panelEl.classList.add("gengage-chat-panel--visible"),this.root.classList.add("gengage-chat-drawer--with-panel")),this._dividerEl.classList.remove("gengage-chat-panel-divider--hidden"),this._syncComparisonDockVisibility(),this._emitHostShellSync()}_smoothScrollPanelListToTop(){this._panelEl.scrollTop=0}_getChoicePrompterRevealScrollThreshold(){if(!(this._options.getMobileViewport?.()??window.innerWidth<=768))return 88;const t=this._panelEl.querySelector(".gengage-chat-product-grid--mobile .gengage-chat-product-card, .gengage-chat-product-grid .gengage-chat-product-card"),e=this._panelEl.querySelector(".gengage-chat-product-card"),a=t??e;if(!a)return 88;const n=Math.round(a.getBoundingClientRect().height);return!Number.isFinite(n)||n<=0?88:n}_updateScrollAffordance(){const t=this._panelEl,e=t.scrollTop+t.clientHeight>=t.scrollHeight-10,a=this._getChoicePrompterRevealScrollThreshold();t.classList.toggle("gengage-chat-panel--has-scroll",!e&&t.scrollHeight>t.clientHeight),t.classList.toggle("gengage-chat-panel--scrolled",t.scrollTop>a)}_setupHorizontalSwipe(t){let e=0,a=0;const n=r=>{if(!(this._options.getMobileViewport?.()??window.innerWidth<=768))return;const o=r.touches[0];o&&(e=o.clientX,a=o.clientY)},i=r=>{if(!(this._options.getMobileViewport?.()??window.innerWidth<=768))return;const o=r.changedTouches[0];if(!o)return;const s=o.clientX-e,c=o.clientY-a;Math.abs(s)>50&&Math.abs(s)>Math.abs(c)*2&&(this.togglePanel(),this._onPanelToggle?.())};t.addEventListener("touchstart",n,{passive:!0}),t.addEventListener("touchend",i,{passive:!0}),this._cleanups.push(()=>{t.removeEventListener("touchstart",n),t.removeEventListener("touchend",i)})}togglePanel(){this.setPanelCollapsed(!this._panelCollapsed)}isPanelCollapsed(){return this._panelCollapsed}setPanelCollapsed(t){this._panelCollapsed=t,this._applyPanelCollapsedState(),this._emitHostShellSync()}persistPanelState(t){try{const e=`gengage:panel:${t}`;this._panelCollapsed?sessionStorage.setItem(e,"collapsed"):sessionStorage.removeItem(e)}catch{}}restorePanelState(t){try{const e=`gengage:panel:${t}`;if(sessionStorage.getItem(e)==="collapsed")return this._panelCollapsed=!0,!0}catch{}return!1}_createLoadingSequence(t,e,a,n){const i=document.createElement("div");i.className=`${n} gds-progress-loader ${t==="chat"?"gds-progress-loader-chat":"gds-progress-loader-panel"}`,i.dataset.gengagePart=a,i.setAttribute("role","status"),i.setAttribute("aria-live","polite");const r=document.createElement("span");r.className=t==="chat"?"gengage-chat-typing-text gds-progress-label":"gengage-chat-panel-loading-label gds-progress-label",i.appendChild(r);const o=document.createElement("span");o.className=t==="chat"?"gengage-chat-typing-dots gds-progress-dots":"gds-progress-dots",o.setAttribute("aria-hidden","true");for(let c=0;c<3;c++){const l=document.createElement("span");l.className="gds-progress-dot",o.appendChild(l)}i.appendChild(o);const s={labelEl:r,steps:[],index:0,intervalId:null};return this._applyLoadingSteps(s,e),{root:i,binding:s}}_applyLoadingSteps(t,e,a=!1){const n=e.map(r=>r.trim()).filter(Boolean).slice(-3),i=[this.i18n.loadingMessage];t.steps=n.length>0?n:i,this._clearLoadingBindingInterval(t),t.index=a?t.steps.length-1:0,t.labelEl.textContent=t.steps[t.index],!a&&t.steps.length>1&&(t.intervalId=setInterval(()=>{if(t.index>=t.steps.length-1){this._clearLoadingBindingInterval(t);return}t.index+=1,t.labelEl.textContent=t.steps[t.index],t.index>=t.steps.length-1&&this._clearLoadingBindingInterval(t)},zi))}_clearLoadingBindingInterval(t){t?.intervalId&&(clearInterval(t.intervalId),t.intervalId=null)}_destroyLoadingBinding(t){this._clearLoadingBindingInterval(t)}_updateSendEnabled(){if(this._sendStopHandler){this.sendBtn.disabled=!1;return}const t=this.inputEl.value.trim().length>0||this._pendingAttachment!==null;this.sendBtn.disabled=!t}_renderSendButtonIcon(t){this.sendBtn.innerHTML=t==="stop"?'<span class="gengage-chat-send-stop-icon" aria-hidden="true"></span>':'<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/></svg>'}_submit(){const t=this.inputEl.value.trim(),e=this._pendingAttachment;if(this._sendStopHandler){const a=this._sendStopHandler;if(this.hideStopButton(),a(),!t&&!e)return}else if(!t&&!e)return;this.onSend(t,e??void 0),this.inputEl.value="",this.inputEl.style.height="auto",this.clearAttachment(),this._updateSendEnabled()}_toggleVoice(){if(this._voiceInput)if(this._voiceInput.state==="listening"){const t=this._voiceInput.stop();t.trim()&&(this.inputEl.value=t,this._submit())}else this.inputEl.value="",this._voiceInput.start()}lockScrollForRestore(){this._scrollLockedUntil=Date.now()+500}_scrollToBottom(t=!1){!t&&this._userScrolledUp||!t&&this._options.presentation?.shouldBlockSoftAutoScroll?.()||!t&&Date.now()<this._scrollLockedUntil||requestAnimationFrame(()=>{this.messagesEl.scrollTop=this.messagesEl.scrollHeight,this._userScrolledUp=!1})}scrollToBottomIfNeeded(){this._scrollToBottom(!1)}updateBotMessage(t,e,a,n){const i=this.messagesEl.querySelector(`[data-message-id="${ve(t)}"]`);if(!i)return;let r=i.querySelector(".gengage-chat-bubble-text");r||(r=document.createElement("div"),r.className="gengage-chat-bubble-text",i.appendChild(r)),a==="photo_analysis"?(i.classList.add("gengage-chat-bubble--photo-analysis"),this._renderPhotoAnalysisCard(r,n)):(i.classList.remove("gengage-chat-bubble--photo-analysis"),r.innerHTML=ye(e)),this._scrollToBottom(!1)}markFirstBotMessage(t){this._firstBotMessageIds.add(t);const e=this.messagesEl.querySelector(`[data-message-id="${ve(t)}"]`);e&&e.classList.add("gengage-chat-bubble--first")}scrollToLastThread(){const t=this.messagesEl.querySelectorAll("[data-thread-id]");if(t.length===0){this._scrollToBottom(!0);return}const e=t[t.length-1].getAttribute("data-thread-id");if(!e){this._scrollToBottom(!0);return}this._programmaticScrollUntil=Date.now()+700;const a=this.messagesEl.querySelector(`[data-thread-id="${ve(e)}"]`);a?requestAnimationFrame(()=>{a.scrollIntoView({block:"start",behavior:"auto"}),this._userScrolledUp=!1}):this._scrollToBottom(!0)}scrollThreadIntoView(t,e="smooth"){const a=this.messagesEl.querySelectorAll(`[data-thread-id="${ve(t)}"]`),n=this.messagesEl.ownerDocument.defaultView?.HTMLElement;if(!n)return!1;let i=null,r=null;for(let c=0;c<a.length;c++){const l=a[c];if(l instanceof n&&(r||(r=l),!l.classList.contains("gengage-chat-bubble--presentation-collapsed")&&!l.classList.contains("gengage-chat-bubble--hidden")&&l.offsetHeight!==0&&!(l.classList.contains("gengage-chat-bubble--assistant")&&(l.textContent?.trim().length??0)===0))){i=l;break}}if(i||(i=r),!i)return!1;const o=Date.now();this._programmaticScrollUntil=o+Fa,this._scrollLockedUntil=Math.max(this._scrollLockedUntil,o+Fa),this._userScrolledUp=!0;const s=()=>{this._scrollMessagesTo(Math.max(i.offsetTop-20,0),e)};return s(),requestAnimationFrame(s),!0}scrollToBottomPresentation(t="smooth"){this._programmaticScrollUntil=Date.now()+700,requestAnimationFrame(()=>{this._scrollMessagesTo(this.messagesEl.scrollHeight,t),this._userScrolledUp=!1})}_scrollMessagesTo(t,e){if(typeof this.messagesEl.scrollTo=="function"){this.messagesEl.scrollTo({top:t,behavior:e});return}this.messagesEl.scrollTop=t}setPresentationFocus(t){this._presentationFocusThreadId=t,this._applyPresentationCollapsed()}setFormerMessagesButtonVisible(t){this._formerMessagesBtn&&(this._formerMessagesBtn.style.display=t?"":"none")}setInputPlaceholder(t){this.inputEl.placeholder=t}_applyPresentationCollapsed(){const t=this._presentationFocusThreadId;this.messagesEl.querySelectorAll("[data-thread-id]").forEach(e=>{const a=e.dataset.threadId;a&&(t&&a!==t?e.classList.add("gengage-chat-bubble--presentation-collapsed"):e.classList.remove("gengage-chat-bubble--presentation-collapsed"))})}refreshPresentationCollapsed(){this._presentationFocusThreadId&&this._applyPresentationCollapsed()}setInputAreaChips(t){if(this._inputChipsEl.innerHTML="",t.length===0){this._inputChipsEl.style.display="none";return}this._inputChipsEl.style.display="";for(const e of t){const a=document.createElement("button");if(a.className="gengage-chat-input-chip gds-chip",a.type="button",e.icon){const i=Ha[e.icon]??za,r=document.createElement("span");r.className="gengage-chat-input-chip-icon",r.innerHTML=i,a.appendChild(r)}const n=document.createElement("span");n.textContent=e.label,a.appendChild(n),a.addEventListener("click",()=>e.onAction()),this._inputChipsEl.appendChild(a)}}clearInputAreaChips(){this._inputChipsEl.innerHTML="",this._inputChipsEl.style.display="none"}trapFocus(){this._previouslyFocusedElement=document.activeElement,this.releaseFocus();const t=e=>{if(e.key!=="Tab")return;const a=Array.from(this.root.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(l=>{const p=getComputedStyle(l);return l.hidden||l.getAttribute("aria-hidden")==="true"||p.display==="none"||p.visibility==="hidden"?!1:l.getClientRects().length>0});if(a.length===0)return;const n=a[0],i=a[a.length-1],r=e.composedPath().find(l=>l instanceof HTMLElement&&this.root.contains(l))??null,o=this.root.getRootNode(),s=r??(o instanceof ShadowRoot&&o.activeElement instanceof HTMLElement?o.activeElement:document.activeElement instanceof HTMLElement?document.activeElement:null),c=s&&this.root.contains(s)?s:null;e.shiftKey?(c===n||!this.root.contains(c))&&(e.preventDefault(),i.focus()):(c===i||!this.root.contains(c))&&(e.preventDefault(),n.focus())};this._focusTrapHandler=t,this.root.addEventListener("keydown",t)}releaseFocus(){if(this._focusTrapHandler&&(this.root.removeEventListener("keydown",this._focusTrapHandler),this._focusTrapHandler=null),this._previouslyFocusedElement){try{this._previouslyFocusedElement.focus()}catch{}this._previouslyFocusedElement=null}}flashCartBadge(){this._cartBtn&&(this._cartBtn.classList.remove("gengage-chat-header-btn--cart-flash"),this._cartBtn.offsetWidth,this._cartBtn.classList.add("gengage-chat-header-btn--cart-flash"),this._cartBtn.addEventListener("animationend",()=>{this._cartBtn?.classList.remove("gengage-chat-header-btn--cart-flash")},{once:!0}))}showCartToast(t){this.root.querySelector(".gengage-chat-cart-toast")?.remove();const e=document.createElement("div");e.className="gengage-chat-cart-toast",e.setAttribute("role","status"),e.setAttribute("aria-live","polite"),e.textContent=t,this.root.appendChild(e),e.offsetWidth,e.classList.add("gengage-chat-cart-toast--visible"),setTimeout(()=>{e.classList.remove("gengage-chat-cart-toast--visible"),setTimeout(()=>e.remove(),300)},2500)}destroy(){Ci(null),this.releaseFocus(),this._resizeRafId!==null&&(cancelAnimationFrame(this._resizeRafId),this._resizeRafId=null),this._destroyLoadingBinding(this._typingLoadingBinding),this._typingLoadingBinding=null,this._destroyLoadingBinding(this._panelLoadingBinding),this._panelLoadingBinding=null,this._destroyLoadingBinding(this._panelAiZoneLoadingBinding),this._panelAiZoneLoadingBinding=null,this._closeAttachMenu();for(const t of this._cleanups)t();this._cleanups.length=0,this._voiceInput?.destroy(),this._voiceInput=null}}}));function Di(t){return t==="watch_expert"?"account_expert":Ui.includes(t)?t:null}function Hl(t){return typeof t=="string"?Di(t):null}function ke(t){return t==null||typeof t!="object"||Array.isArray(t)?null:t}function Fl(...t){for(const e of t)if(typeof e=="string"){const a=e.trim();if(a.length>0)return a}}function Dl(t){const e=ke(t);if(!e)return null;const a=Fl(e.assistant_mode,e.assistantMode);if(!a)return null;const n=Di(a);return!n||n==="shopping"?null:n}function Ul(t){return t==="beauty_consulting"?"user_message":"findSimilar"}var Ui,Oi=L((()=>{Ui=["shopping","beauty_consulting","account_expert"]})),qi,Ol=L((()=>{Oi(),ot(),qi=class{constructor(){this._mode="shopping",this._uiHints=null}get mode(){return this._mode}set mode(t){this._mode=t}get uiHints(){return this._uiHints}set uiHints(t){this._uiHints=t}get isShopping(){return this._mode==="shopping"}get isBeautyConsulting(){return this._mode==="beauty_consulting"}get isChoicePrompterHidden(){return this._uiHints?.hide_choice_prompter===!0}applyUiHints(t,e,a){const n=r=>this._uiHints?.[r]===!0;t?.setAttachmentControlsVisible(!n("hide_attachment_controls")),n("hide_choice_prompter")&&a?.();const i=typeof this._uiHints?.input_placeholder=="string"?this._uiHints.input_placeholder:void 0;i?t?.setInputPlaceholder(i):t?.setInputPlaceholder(e)}handleRedirect(t){Be("mode","redirect metadata received",t);const e=Dl(t);return e?(this.switchMode(e),!0):!1}switchMode(t){const e=this._mode;this._mode=t,Be("mode","assistant mode switched",{from:e,to:t})}updateFromContext(t){const e=t.assistant_mode;if(typeof e=="string"&&e){const a=Hl(e);a?this._mode=a:Be("mode","ignoring unrecognised assistant_mode from context",e)}else e===null&&(this._mode="shopping");this._uiHints=ke(t.ui_hints)??null}reset(){const t=this._mode!=="shopping";return this._mode="shopping",this._uiHints=null,t}resolveAttachmentActionType(){return Ul(this._mode)}shouldCondenseThinking(){return this._mode!=="shopping"}}}));function ql(){return{streamIncludedBeautyPhotoStep:!1,pendingPhotoStepSkip:!1}}function jl(t,e,a,n,i){if(t==="PhotoAnalysisCard"){const r=Ni(e);return r?(i.photoAnalysis=r,i.renderHint="photo_analysis",n.ensureRendered(),n.cancelTypewriter(),n.drawer?.updateBotMessage(i.id,i.content??"","photo_analysis",i.photoAnalysis),!0):(Be("beauty","PhotoAnalysisCard parse failed, falling through to generic renderer",e),!1)}if(t==="BeautyPhotoStep"){a.streamIncludedBeautyPhotoStep=!0;const r=Tl(e);return n.drawer?.setBeautyPhotoStepCard({visible:!0,...r,onSkip:()=>{n.drawer?.setBeautyPhotoStepCard({visible:!1}),n.streamDone?n.sendSkipMessage():a.pendingPhotoStepSkip=!0}}),!0}return!1}function $l(t){return t.renderHint==="photo_analysis"}function Vl(t,e){t.streamIncludedBeautyPhotoStep||e.drawer?.setBeautyPhotoStepCard({visible:!1}),t.pendingPhotoStepSkip&&(t.pendingPhotoStepSkip=!1,e.sendSkipMessage())}function Gl(t,e){t.pendingPhotoStepSkip&&(t.pendingPhotoStepSkip=!1,e.sendSkipMessage())}var Wl=L((()=>{Ra(),Ba(),ot()}));function Da(t){return Number.isFinite(t)?Math.max(0,Math.min(5,t)):0}function Ua(t){return Number.isFinite(t)?Math.max(0,Math.min(100,Math.round(t))):0}function Oa(t){const e=Da(t),a=Math.floor(e),n=e-a>=.5,i=5-a-(n?1:0),r=document.createElement("span");if(r.className="gengage-star-rating",r.setAttribute("role","img"),r.setAttribute("aria-label",`${e.toFixed(1)} out of 5 stars`),a>0&&r.appendChild(document.createTextNode("★".repeat(a))),n){const o=document.createElement("span");o.className="gengage-star-half",o.textContent="☆";const s=document.createElement("span");s.textContent="★",o.appendChild(s),r.appendChild(o)}return i>0&&r.appendChild(document.createTextNode("☆".repeat(i))),r}function Ce(t){t.addEventListener("error",()=>{t.style.display="none"},{once:!0})}var je=L((()=>{}));function te(t,e){const a=Number(t);if(!Number.isFinite(a)||a<0)return t;const n={...ji,...e},i=Math.abs(a%1)<Number.EPSILON,r=n.alwaysShowDecimals||!i?a.toFixed(2):a.toFixed(0),o=r.indexOf("."),s=o===-1?r:r.slice(0,o),c=o===-1?void 0:r.slice(o+1),l=s.replace(/\B(?=(\d{3})+(?!\d))/g,n.thousandsSeparator);let p;return c!==void 0?p=`${l}${n.decimalSeparator}${c}`:p=l,n.currencySymbol?n.currencyPosition==="prefix"?`${n.currencySymbol}${p}`:`${p} ${n.currencySymbol}`:p}var ji,ct=L((()=>{ji={currencyCode:"TRY",currencySymbol:"TL",currencyPosition:"suffix",thousandsSeparator:".",decimalSeparator:",",alwaysShowDecimals:!1}}));function Kl(t,e,a){return e?.[t]??Gi[t]??t.replace(/_/g," ").replace(/^./u,n=>Yl(n,a))}function Yl(t,e){try{return t.toLocaleUpperCase(He(e))}catch{return t.toLocaleUpperCase("tr")}}function $i(t){if(typeof t!="string")return!1;const e=Number(t);return Number.isFinite(e)&&e>0}function Ql(t){const e=typeof t=="number"?t:typeof t=="string"?Number(t):NaN;return Number.isFinite(e)&&e>0}function Zl(t){const e=typeof t=="number"?t:Number(t),a=document.createElement("div");a.className="gengage-chat-comparison-recommended-rating",a.innerHTML='<span class="gengage-chat-comparison-recommended-rating-icon" aria-hidden="true"><svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3.6l2.58 5.23 5.77.84-4.17 4.07.98 5.75L12 16.78l-5.16 2.71.99-5.75L3.66 9.67l5.76-.84L12 3.6z"/></svg></span>';const n=document.createElement("span");return n.className="gengage-chat-comparison-recommended-rating-value",n.textContent=e.toFixed(1),a.appendChild(n),a}function Xl(t){const{recommended:e,products:a,attributes:n,highlights:i,specialCases:r,onProductClick:o,i18n:s}=t,c=document.createElement("div");if(c.className="gengage-chat-comparison",c.dataset.gengagePart="comparison-dialog",c.setAttribute("role","dialog"),c.setAttribute("aria-label",s?.comparisonHeading??"Comparison Results"),e){const l=document.createElement("article");l.className="gengage-chat-comparison-recommended gds-card",l.dataset.gengagePart="comparison-recommended-card";const p=document.createElement("div");p.className="gengage-chat-comparison-recommended-label",p.textContent=s?.recommendedChoiceLabel??"Recommended Choice",l.appendChild(p);const d=document.createElement("div");d.className="gengage-chat-comparison-recommended-body",d.classList.add("gds-clickable"),d.tabIndex=0,d.setAttribute("role","button"),d.setAttribute("aria-label",e.name);const h=document.createElement("div");if(h.className="gengage-chat-comparison-recommended-media",e.imageUrl&&we(e.imageUrl)){const g=document.createElement("img");g.src=e.imageUrl,g.alt=e.name,g.loading="lazy",g.addEventListener("error",()=>{g.style.display="none"},{once:!0}),h.appendChild(g)}else{const g=document.createElement("div");g.className="gengage-chat-comparison-recommended-placeholder",g.setAttribute("aria-hidden","true"),h.appendChild(g)}d.appendChild(h);const f=document.createElement("div");f.className="gengage-chat-comparison-recommended-info";const b=document.createElement("div");b.className="gengage-chat-comparison-recommended-title",b.textContent=e.name,f.appendChild(b);const m=document.createElement("div");if(m.className="gengage-chat-comparison-recommended-meta",Ql(e.rating)&&m.appendChild(Zl(e.rating)),$i(e.price)){const g=document.createElement("div");g.className="gengage-chat-comparison-recommended-price",g.textContent=te(e.price,t.pricing),m.appendChild(g)}if(m.childElementCount>0&&f.appendChild(m),t.recommendedText){const g=document.createElement("p");g.className="gengage-chat-comparison-recommended-text",g.innerHTML=ye(t.recommendedText),f.appendChild(g)}d.appendChild(f);const u=()=>{o({sku:e.sku,name:e.name})};if(d.addEventListener("click",u),d.addEventListener("keydown",g=>{g.key!=="Enter"&&g.key!==" "||(g.preventDefault(),u())}),l.appendChild(d),i.length>0){const g=document.createElement("div");g.className="gengage-chat-comparison-highlights",g.dataset.gengagePart="comparison-highlights";const v=document.createElement("div");v.className="gengage-chat-comparison-highlights-label",v.textContent=s?.highlightsLabel??"Key Highlights",g.appendChild(v);const _=document.createElement("ul");for(const y of i){const k=document.createElement("li");k.textContent=y,_.appendChild(k)}g.appendChild(_),l.appendChild(g)}c.appendChild(l)}if(t.keyDifferencesHtml){const l=document.createElement("details");l.className="gengage-chat-comparison-key-differences",l.dataset.gengagePart="comparison-key-differences";const p=document.createElement("summary");p.className="gengage-chat-comparison-key-differences-summary";const d=document.createElement("span");d.className="gengage-chat-comparison-key-differences-summary-label",d.textContent=s?.keyDifferencesLabel??"Key Differences";const h=document.createElement("span");h.className="gengage-chat-comparison-key-differences-summary-meta",h.textContent=s?.viewMoreLabel??"Show More",p.appendChild(d),p.appendChild(h),l.appendChild(p);const f=document.createElement("div");f.className="gengage-chat-comparison-key-differences-content",f.innerHTML=ye(Jl(t.keyDifferencesHtml)),l.appendChild(f),c.appendChild(l)}if(r&&r.length>0){const l=document.createElement("details");l.className="gengage-chat-comparison-special gds-evidence-card gds-evidence-card-warning",l.dataset.gengagePart="comparison-special-cases";const p=document.createElement("summary");p.textContent=s?.specialCasesLabel??"For Special Cases",l.appendChild(p);const d=document.createElement("ul");for(const h of r)eg(d,h);d.childElementCount>0&&l.appendChild(d),c.appendChild(l)}if(a.length>0&&n.length>0){const l=document.createElement("table");l.className="gengage-chat-comparison-table gds-comparison-table";const p=document.createElement("thead"),d=document.createElement("tr"),h=document.createElement("th");d.appendChild(h);for(const m of a){const u=document.createElement("th");m.sku===e?.sku&&(u.className="gengage-chat-comparison-selected gds-comparison-table-winner-cell");const g=document.createElement("div");g.className="gengage-chat-comparison-table-header-cell gengage-chat-comparison-table-header-cell--clickable gds-clickable",g.tabIndex=0,g.setAttribute("role","button"),g.setAttribute("aria-label",m.name),g.title=m.name;const v=()=>{o({sku:m.sku,name:m.name})};if(g.addEventListener("click",v),g.addEventListener("keydown",y=>{y.key!=="Enter"&&y.key!==" "||(y.preventDefault(),v())}),m.imageUrl&&we(m.imageUrl)){const y=document.createElement("img");y.src=m.imageUrl,y.alt=m.name,y.loading="lazy",y.addEventListener("error",()=>{y.style.display="none"},{once:!0}),g.appendChild(y)}else{const y=document.createElement("div");y.className="gengage-chat-comparison-table-header-img-placeholder",y.setAttribute("aria-hidden","true"),g.appendChild(y)}const _=document.createElement("div");if(_.className="gengage-chat-comparison-table-product-name",_.textContent=m.name,g.appendChild(_),$i(m.price)){const y=document.createElement("div");y.className="gengage-chat-comparison-table-price",y.textContent=te(m.price,t.pricing),g.appendChild(y)}u.appendChild(g),d.appendChild(u)}p.appendChild(d),l.appendChild(p);const f=document.createElement("tbody");for(const m of n){const u=document.createElement("tr"),g=document.createElement("td");g.className="gengage-chat-comparison-label",g.textContent=Kl(m.label,s?.criteriaLabels,t.locale),u.appendChild(g);for(let v=0;v<m.values.length;v++){const _=document.createElement("td");a[v]?.sku===e?.sku&&(_.className="gengage-chat-comparison-selected gds-comparison-table-winner-cell");const y=m.values[v]??"";Vi(y)?_.innerHTML=ye(y):_.textContent=y,u.appendChild(_)}f.appendChild(u)}l.appendChild(f);const b=document.createElement("div");b.className="gengage-chat-comparison-table-wrapper",b.dataset.gengagePart="comparison-table-wrapper",b.appendChild(l),c.appendChild(b)}return c.addEventListener("keydown",l=>{if(l.key!=="Tab")return;const p=c.querySelectorAll('button, [href], input, [tabindex]:not([tabindex="-1"])');if(p.length===0)return;const d=p[0],h=p[p.length-1];l.shiftKey&&document.activeElement===d?(l.preventDefault(),h.focus()):!l.shiftKey&&document.activeElement===h&&(l.preventDefault(),d.focus())}),c}function Jl(t){if(/<[uo]l[\s>]/i.test(t)||/<li[\s>]/i.test(t))return t;const e=t.split(`
49
+ `).filter(a=>a.trim());return e.length<=1?t:"<ul>"+e.map(a=>`<li>${a.trim()}</li>`).join("")+"</ul>"}function eg(t,e){const a=ye(e);if(!a)return;const n=document.createElement("template");n.innerHTML=a;const i=Array.from(n.content.querySelectorAll("li"));if(i.length>0){for(const o of i){const s=document.createElement("li");s.innerHTML=ye(o.innerHTML),t.appendChild(s)}return}const r=document.createElement("li");Vi(e)?r.innerHTML=a:r.textContent=e,t.appendChild(r)}function Vi(t){return/<\/?[a-z][\s\S]*>/i.test(t)}var Gi,tg=L((()=>{de(),ct(),ht(),Gi={screen_size:"Screen Size",weight:"Weight",battery_capacity:"Battery Capacity",battery_life:"Battery Life",storage:"Storage",memory:"Memory",ram:"RAM",processor:"Processor",camera:"Camera",resolution:"Resolution",display_type:"Display Type",refresh_rate:"Refresh Rate",color:"Color",material:"Material",dimensions:"Dimensions",warranty:"Warranty",connectivity:"Connectivity",water_resistance:"Water Resistance",operating_system:"Operating System",brand:"Brand",model:"Model",price:"Price",energy_class:"Energy Class",noise_level:"Noise Level",capacity:"Capacity",power:"Power",voltage:"Voltage",width:"Width",height:"Height",depth:"Depth"}}));function vt(t,e=18){const a="http://www.w3.org/2000/svg",n=document.createElementNS(a,"svg");n.setAttribute("width",String(e)),n.setAttribute("height",String(e)),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("fill","none"),n.setAttribute("stroke","currentColor"),n.setAttribute("stroke-width","2"),n.setAttribute("stroke-linecap","round"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("aria-hidden","true");for(const i of t){const r=document.createElementNS(a,"path");r.setAttribute("d",i),n.appendChild(r)}return n}var Wi=L((()=>{}));function ag(t){if(typeof t!="string")return[Dt];const e=t.split(/[,;|/]+/).map(a=>a.trim().replace(/\s+/g," ")).filter(a=>a.length>0);return e.length===0?[Dt]:Array.from(new Set(e.map(a=>a.toLocaleLowerCase()))).map(a=>e.find(n=>n.toLocaleLowerCase()===a)??Dt)}function ng(t){return t==="positive"||t==="negative"||t==="neutral"?t:"neutral"}function ig(t){if(typeof t!="string")return"";const e=t.trim().replace(/\s+/g," ");return e.length<=qa?e:`${e.slice(0,qa-3).trimEnd()}...`}function rg(t){return t.positive>t.negative?"positive":t.negative>t.positive?"negative":"neutral"}function og(t){return vt(t==="positive"?["M7 17 17 7","M7 7h10v10"]:t==="negative"?["M7 7 17 17","M17 7v10H7"]:["M5 12h14"],14)}function sg(t,e="1 customer mentions",a="customers mention"){return t===1?e:`${t} ${a}`}function cg(t,e){const a=document.createElement("div");a.className="gengage-chat-review-highlights";const n=t.props?.reviews;if(!Array.isArray(n)||n.length===0){const m=document.createElement("div");return m.className="gengage-chat-review-empty",m.textContent=e?.emptyReviewsMessage??"No review summary found.",a.appendChild(m),a}const i=n.filter(m=>m!==null&&typeof m=="object"),r=new Map;for(const m of i){const u=ng(m.review_class),g=ig(m.review_text),v=ag(m.review_tag);for(const _ of v){const y=_.toLocaleLowerCase();let k=r.get(y);if(k||(k={key:y,label:_,mentions:0,positive:0,negative:0,neutral:0,snippets:[]},r.set(y,k)),k.mentions+=1,u==="positive"?k.positive+=1:u==="negative"?k.negative+=1:k.neutral+=1,g.length>0&&k.snippets.length<Ki&&!k.snippets.some(T=>T.text===g)){const T={text:g,tone:u};m.review_rating!==void 0&&String(m.review_rating).length>0&&(T.rating=m.review_rating),k.snippets.push(T)}}}const o=Array.from(r.values()).sort((m,u)=>u.mentions!==m.mentions?u.mentions-m.mentions:m.label.localeCompare(u.label));if(o.length===0){const m=document.createElement("div");return m.className="gengage-chat-review-empty",m.textContent=e?.emptyReviewsMessage??"No review summary found.",a.appendChild(m),a}const s=(e?.reviewFilterPositive??"positive").toLowerCase(),c=(e?.reviewFilterNegative??"negative").toLowerCase(),l=document.createElement("div");l.className="gengage-chat-review-subjects-heading",l.textContent=e?.reviewSubjectsHeading??"Select to learn more",a.appendChild(l);let p=o[0]?.key??null;const d=document.createElement("div");d.className="gengage-chat-review-subjects gds-toolbar gds-toolbar-compact";const h=document.createElement("section");h.className="gengage-chat-review-detail gds-evidence-card";const f=()=>{for(;h.firstChild;)h.removeChild(h.firstChild);if(!p)return;const m=o.find(_=>_.key===p);if(!m)return;const u=document.createElement("div");u.className="gengage-chat-review-detail-meta";const g=document.createElement("span");if(g.className="gengage-chat-review-detail-mentions",g.textContent=`${sg(m.mentions,e?.reviewCustomersMentionSingular,e?.reviewCustomersMentionPlural)} "${m.label}"`,u.appendChild(g),m.positive>0){const _=document.createElement("span");_.className="gengage-chat-review-detail-positive",_.textContent=`${m.positive} ${s}`,u.appendChild(_)}if(m.negative>0){const _=document.createElement("span");_.className="gengage-chat-review-detail-negative",_.textContent=`${m.negative} ${c}`,u.appendChild(_)}h.appendChild(u);const v=document.createElement("div");v.className="gengage-chat-review-snippets";for(const _ of m.snippets){const y=document.createElement("article");y.className="gengage-chat-review-snippet",y.dataset.tone=_.tone;const k=document.createElement("div");if(k.className="gengage-chat-review-snippet-text",k.textContent=`"${_.text}"`,y.appendChild(k),_.rating!==void 0&&String(_.rating).length>0){const T=document.createElement("div");T.className="gengage-chat-review-snippet-rating",T.textContent=`★ ${String(_.rating)}`,y.appendChild(T)}v.appendChild(y)}h.appendChild(v)},b=()=>{for(const m of d.querySelectorAll(".gengage-chat-review-subject")){const u=m.dataset.subjectKey===p;m.classList.toggle("gengage-chat-review-subject--active",u),m.classList.toggle("gds-chip-active",u),m.setAttribute("aria-pressed",String(u))}};for(const m of o){const u=rg(m),g=document.createElement("button");g.type="button",g.className="gengage-chat-review-subject gds-chip",g.dataset.subjectKey=m.key,g.dataset.tone=u;const v=document.createElement("span");v.className="gengage-chat-review-subject-icon",v.appendChild(og(u)),g.appendChild(v);const _=document.createElement("span");_.className="gengage-chat-review-subject-label",_.textContent=m.label,g.appendChild(_);const y=document.createElement("span");y.className="gengage-chat-review-subject-count",y.textContent=`(${m.mentions})`,g.appendChild(y),g.addEventListener("click",()=>{p=m.key,b(),f()}),d.appendChild(g)}return a.appendChild(d),b(),f(),a.appendChild(h),a}var Dt,qa,Ki,lg=L((()=>{Wi(),Dt="General",qa=220,Ki=6}));function gg(t){if(!t)return;const e=t.discountReason??t.discount_reason??t.campaignReason??t.campaign_reason;if(typeof e!="string")return;const a=e.trim();return a.length>0?a:void 0}function lt(t,e){if(t.productPriceUi?.showCampaignReason===!0)return gg(e)}function yt(t,e){const a=e?.originalPriceStyle??e?.price_original_style;if(a==="inline"||a==="strikethrough")return a;const n=t.productPriceUi?.originalPriceStyle;return n==="inline"||n==="strikethrough"?n:"strikethrough"}function Ut(t){const e=document.createElement("div");return e.className="gengage-chat-campaign-reason",e.textContent=t,e}function Ot(t,e){for(const n of["campaignReasonLogoUrl","campaign_reason_logo_url","discountBadgeLogoUrl","discount_badge_logo_url"]){const i=e?.[n];if(typeof i=="string"&&i.trim()){const r=i.trim();if(we(r))return r}}const a=t.productPriceUi?.campaignBadgeLogoUrl;if(typeof a=="string"&&a.trim()){const n=a.trim();if(we(n))return n}}function qt(t){const e=document.createElement("div");if(e.className="gengage-chat-campaign-price-badge",e.dataset.gengagePart="campaign-price-badge",t.logoUrl){const r=document.createElement("div");r.className="gengage-chat-campaign-price-badge__logo";const o=document.createElement("img");o.alt="",o.loading="lazy",o.src=t.logoUrl,Ce(o),r.appendChild(o),e.appendChild(r)}const a=document.createElement("div");a.className="gengage-chat-campaign-price-badge__body";const n=document.createElement("div");n.className="gengage-chat-campaign-price-badge__reason",n.textContent=t.reasonText;const i=document.createElement("span");return i.className="gengage-chat-campaign-price-badge__sale",i.textContent=t.salePriceFormatted,a.appendChild(n),a.appendChild(i),e.appendChild(a),e}var ja=L((()=>{de(),je()}));function dg(){try{return globalThis.GENGAGE_TOPPICKS_MOBILE_LAYOUT==="uniform"}catch{return!1}}function Yi(t){const e=t.product.sku;if(typeof e=="string"&&e.length>0)return e;const a=t.action?.payload;return a&&typeof a=="object"&&"sku"in a&&typeof a.sku=="string"?a.sku:null}function Qi(t,e){if(!t||!e)return null;const a=Xi[t];return a?e[a]??t:t}function pg(t){const e=t.rating,a=typeof e=="number"?e:typeof e=="string"?parseFloat(e):NaN;if(Number.isNaN(a)||a<=0)return null;const n=document.createElement("div");n.className="gengage-chat-ai-toppick-rating",n.dataset.gengagePart="ai-top-pick-rating";const i=document.createElement("span");i.className="gengage-chat-ai-toppick-rating-icon",i.setAttribute("aria-hidden","true"),i.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3.6l2.58 5.23 5.77.84-4.17 4.07.98 5.75L12 16.78l-5.16 2.71.99-5.75L3.66 9.67l5.76-.84L12 3.6z"/></svg>';const r=document.createElement("span");return r.className="gengage-chat-ai-toppick-rating-value",r.textContent=a.toFixed(1),n.appendChild(i),n.appendChild(r),n}function hg(t,e,a,n,i){const r=document.createElement("div");r.className="gengage-chat-ai-toppick-media",r.dataset.gengagePart="ai-top-pick-media";const o=t.product,s=o.imageUrl;if(s&&we(s)){const l=document.createElement("img");l.className="gengage-chat-ai-toppick-img",l.dataset.gengagePart="ai-top-pick-image",ue(l,"src",s),l.loading="lazy",l.alt=e,Ce(l),r.appendChild(l)}const c=Yi(t);if(c&&!i?.skipOverlayActions){const l=document.createElement("div");if(l.className="gengage-chat-product-card-img-actions",n.onFavoriteToggle){const f=document.createElement("button");f.className="gengage-chat-favorite-btn",f.type="button",f.dataset.gengageFavoriteSku=c,f.setAttribute("aria-label",n.i18n?.addToFavoritesLabel??"Add to favorites");const b=n.favoritedSkus?.has(c)??!1;b&&f.classList.add("gengage-chat-favorite-btn--active"),f.innerHTML=`<svg width="14" height="14" viewBox="0 0 24 24" fill="${b?"currentColor":"none"}" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`,f.addEventListener("click",m=>{m.stopPropagation(),f.classList.toggle("gengage-chat-favorite-btn--active"),f.querySelector("svg")?.setAttribute("fill",f.classList.contains("gengage-chat-favorite-btn--active")?"currentColor":"none"),n.onFavoriteToggle?.(c,o)}),l.appendChild(f)}const p=n.i18n?.findSimilarLabel??"Find Similar",d=document.createElement("button");d.className="gengage-chat-find-similar-pill",d.type="button",d.setAttribute("aria-label",p),d.dataset.tooltip=p,d.innerHTML='<span class="gengage-chat-find-similar-pill-icon" aria-hidden="true"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M16 16l5.5 5.5"/></svg></span>';const h=document.createElement("span");h.className="gengage-chat-find-similar-pill-text",h.textContent=p,d.appendChild(h),d.addEventListener("click",f=>{f.stopPropagation(),n.onAction({title:p,type:"findSimilar",payload:{sku:c}})}),l.appendChild(d),r.appendChild(l)}a.appendChild(r)}function ug(t,e,a){const n=t.price,i=t.originalPrice;if(!n)return;const r=lt(a,t),o=yt(a,t),s=!!(i&&i!==n),c=!!(r&&s),l=Ot(a,t),p=document.createElement("div");if(p.className="gengage-chat-ai-toppick-price",p.dataset.gengagePart="ai-top-pick-price",c){const d=qt({reasonText:r,salePriceFormatted:te(n,a.pricing),...l!==void 0?{logoUrl:l}:{}});if(s&&o==="inline"){p.classList.add("gengage-chat-ai-toppick-price--inline"),p.appendChild(d);const h=document.createElement("span");h.className="gengage-chat-ai-toppick-price-sep",h.setAttribute("aria-hidden","true");const f=document.createElement("span");f.className="gengage-chat-ai-toppick-original-price",f.textContent=te(i,a.pricing),p.appendChild(h),p.appendChild(f)}else{const h=document.createElement("span");h.className="gengage-chat-ai-toppick-original-price",h.textContent=te(i,a.pricing),p.appendChild(h),p.appendChild(document.createTextNode(" ")),p.appendChild(d)}e.appendChild(p);return}if(s&&o==="inline"){p.classList.add("gengage-chat-ai-toppick-price--inline");const d=document.createElement("span");d.className="gengage-chat-ai-toppick-price-current",d.textContent=te(n,a.pricing);const h=document.createElement("span");h.className="gengage-chat-ai-toppick-price-sep",h.setAttribute("aria-hidden","true");const f=document.createElement("span");f.className="gengage-chat-ai-toppick-original-price",f.textContent=te(i,a.pricing),p.appendChild(d),p.appendChild(h),p.appendChild(f)}else if(s){const d=document.createElement("span");d.className="gengage-chat-ai-toppick-original-price",d.textContent=te(i,a.pricing),p.appendChild(d),p.appendChild(document.createTextNode(" "));const h=document.createElement("span");h.className="gengage-chat-ai-toppick-price-current",h.textContent=te(n,a.pricing),p.appendChild(h)}else{const d=document.createElement("span");d.className="gengage-chat-ai-toppick-price-current",d.textContent=te(n,a.pricing),p.appendChild(d)}if(r){const d=document.createElement("div");d.className="gengage-chat-ai-toppick-price-stack",d.appendChild(Ut(r)),d.appendChild(p),e.appendChild(d)}else e.appendChild(p)}function mg(t,e,a){const n=typeof t.reason=="string"?t.reason.trim():"",i=a.hideUserReviews!==!0&&typeof t.reviewHighlight=="string"?t.reviewHighlight.trim():"";if(!(!n&&!i)){if(n){const r=document.createElement("p");r.className="gengage-chat-ai-toppick-reason",r.dataset.gengagePart="ai-top-pick-reason",r.textContent=n,e.appendChild(r)}if(i){const r=document.createElement("div");r.className="gengage-chat-ai-toppick-review",r.dataset.gengagePart="ai-top-pick-review",r.textContent=i,e.appendChild(r)}}}function Zi(t,e,a,n){const i=document.createElement("div");i.className=a?"gengage-chat-ai-toppick-card gengage-chat-ai-toppick-card--winner gds-card":"gengage-chat-ai-toppick-card gengage-chat-ai-toppick-card--compact gds-card";const r=n?.uniformMobileLayout===!0;!a&&r&&i.classList.add("gengage-chat-ai-toppick-card--mobile-uniform"),i.dataset.gengagePart=a?"ai-top-pick-card-winner":"ai-top-pick-card";const o=t.product,s=Yi(t),c=o.url??"",l=o.cartCode,p=o.inStock,d=!!(s&&l&&p!==!1),h=t.action;s&&e.onProductClick?(i.classList.add("gds-clickable"),i.addEventListener("click",w=>{if(w.target.closest(".gengage-chat-ai-toppick-cta")||w.target.closest(".gengage-chat-favorite-btn")||w.target.closest(".gengage-chat-find-similar-pill"))return;const E=o.name;e.onProductClick?.({sku:s,url:c,...E?{name:E}:{}})})):h&&(i.classList.add("gds-clickable"),i.addEventListener("click",w=>{w.target.closest(".gengage-chat-ai-toppick-cta")||w.target.closest(".gengage-chat-favorite-btn")||w.target.closest(".gengage-chat-find-similar-pill")||e.onAction(h)}));const f=o.name||"Product image",b=!a&&e.isMobile===!0&&!r,m=a?Qi(t.role,e.i18n)??e.i18n?.roleWinner??"TOP MATCH":Qi(t.role,e.i18n);if(m&&!b){const w=document.createElement("span");w.className="gengage-chat-ai-toppick-badge gds-badge",w.dataset.gengagePart="ai-top-pick-role-badge",w.textContent=m,i.appendChild(w)}const u=document.createElement("div");u.className="gengage-chat-ai-toppick-top-row",u.dataset.gengagePart="ai-top-pick-top-row",hg(t,f,u,e,{skipOverlayActions:b});const g=document.createElement("div");if(g.className="gengage-chat-ai-toppick-body",g.dataset.gengagePart="ai-top-pick-body",m&&b){const w=document.createElement("div");w.className="gengage-chat-ai-toppick-role-line",w.dataset.gengagePart="ai-top-pick-role-line",w.textContent=m,g.appendChild(w)}const v=o.name;if(v){const w=document.createElement("div");w.className="gengage-chat-ai-toppick-name",w.dataset.gengagePart="ai-top-pick-name",w.textContent=v,g.appendChild(w)}const _=pg(o);_&&g.appendChild(_),ug(o,g,e),t.labels&&t.labels.length>0&&g.appendChild(bg(t.labels)),u.appendChild(g),i.appendChild(u);const y=document.createElement("div");if(y.className="gengage-chat-ai-toppick-detail",y.dataset.gengagePart="ai-top-pick-detail",a)mg(t,y,e);else{const w=typeof t.reason=="string"?t.reason.trim():"";if(w){const E=document.createElement("p");E.className="gengage-chat-ai-toppick-snippet",E.dataset.gengagePart="ai-top-pick-snippet",E.textContent=w,y.appendChild(E)}}y.childNodes.length>0&&i.appendChild(y);const k=!!(s&&e.topPicksLoadingSku===s),T=(d||h)&&!b;if(k||d||h){const w=document.createElement("div");if(w.className="gengage-chat-ai-toppick-spinner",w.dataset.gengagePart="ai-top-pick-spinner",w.style.display=k?"":"none",i.appendChild(w),T){const E=document.createElement("button");E.className="gengage-chat-ai-toppick-cta gds-btn gds-btn-primary",E.dataset.gengagePart="ai-top-pick-cta",E.type="button",E.textContent=d?e.i18n?.addToCartButton??"Add to Cart":e.i18n?.viewDetails??"View Details",E.addEventListener("click",z=>{if(z.stopPropagation(),d){e.onAction({title:e.i18n?.addToCartButton??"Add to Cart",type:"addToCart",payload:{sku:s,cartCode:l,quantity:1}});return}if(h){if(h.type==="findSimilar"&&s&&e.onProductClick){const $=o.name;e.onProductClick({sku:s,url:c,...$?{name:$}:{}});return}e.onAction(h)}}),i.appendChild(E)}}return i}function fg(t,e){const a=document.createElement("div");a.className="gengage-chat-ai-top-picks",a.dataset.gengagePart="ai-top-picks";const n=t.props?.suggestions??[];if(n.length===0)return a;const i=document.createElement("div");i.className="gengage-chat-ai-top-picks-scroll",i.dataset.gengagePart="ai-top-picks-scroll";const r=e.isMobile===!0&&dg(),o=n[0];if(i.appendChild(Zi(o,e,!0,{uniformMobileLayout:r})),n.length>1){const s=document.createElement("div");s.className="gengage-chat-ai-top-picks-rest",r&&s.classList.add("gengage-chat-ai-top-picks-rest--uniform-mobile"),s.dataset.gengagePart="ai-top-picks-rest";for(let c=1;c<n.length;c++){const l=n[c],p=l.role==="winner";s.appendChild(Zi(l,e,p,{uniformMobileLayout:r}))}i.appendChild(s)}return a.appendChild(i),a}function bg(t){const e=document.createElement("div");e.className="gengage-chat-ai-toppick-labels",e.dataset.gengagePart="ai-top-pick-labels";for(const a of t){const n=document.createElement("span");n.className="gengage-chat-ai-toppick-label gds-chip",n.dataset.gengagePart="ai-top-pick-label",n.dataset.sentiment=a.sentiment??"neutral",n.textContent=a.label,e.appendChild(n)}return e}var Xi,vg=L((()=>{ct(),de(),je(),ja(),Xi={winner:"roleWinner",best_value:"roleBestValue",best_alternative:"roleBestAlternative"}}));function yg(t,e){const a=document.createElement("div");a.className="gengage-chat-grounding-review gds-evidence-card",a.dataset.gengagePart="grounding-review-card";const n=t.props??{},i=n.title,r=n.reviewCount,o=n.action,s=e.i18n?.groundingReviewCta??"Read Reviews",c=document.createElement("span");c.className="gengage-chat-grounding-review-icon",c.appendChild(vt(["M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z","M8 9h8","M8 13h6"])),a.appendChild(c);const l=document.createElement("div");l.className="gengage-chat-grounding-review-body",l.dataset.gengagePart="grounding-review-body";const p=document.createElement("div");if(p.className="gengage-chat-grounding-review-title",p.dataset.gengagePart="grounding-review-title",p.textContent=i??e.i18n?.customerReviewsTitle??"Customer Reviews",l.appendChild(p),r){const b=document.createElement("div");b.className="gengage-chat-grounding-review-subtitle",b.dataset.gengagePart="grounding-review-subtitle",b.textContent=(e.i18n?.groundingReviewSubtitle??"{count} yorum mevcut").replace("{count}",r),l.appendChild(b)}a.appendChild(l);const d=document.createElement("span");d.className="gengage-chat-grounding-review-cta",d.dataset.gengagePart="grounding-review-cta";const h=document.createElement("span");h.textContent=s,d.appendChild(h);const f=document.createElement("span");return f.className="gengage-chat-grounding-review-cta-icon",f.appendChild(vt(["M5 12h14","M15 8l4 4-4 4"],14)),d.appendChild(f),a.appendChild(d),o&&(a.classList.add("gds-clickable"),a.setAttribute("role","button"),a.setAttribute("tabindex","0"),a.addEventListener("click",()=>e.onAction(o)),a.addEventListener("keydown",b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),e.onAction(o))})),a}var xg=L((()=>{Wi()}));function _g(t){const e=t.action.type;if(e!=="findSimilar")return t.action;const a=t.action.payload&&typeof t.action.payload=="object"?t.action.payload:null,n=typeof a?.input=="string"&&a.input.trim()||typeof a?.text=="string"&&a.text.trim()||t.name.trim();if(!n)return t.action;const i={...a??{},text:n,is_suggested_text:1};return typeof a?.input=="string"&&a.input.trim()?i.input=a.input:delete i.input,{title:t.action.title,type:e,payload:Bt(i)}}function wg(t,e){const a=document.createElement("div");a.className="gengage-chat-grouping-cards",a.dataset.gengagePart="ai-grouping-cards";const n=t.props?.entries??[];if(n.length===0)return a;const i=t.props?.sectionTitle,r=typeof i=="string"&&i.trim().length>0?i.trim():e.i18n?.aiBrowseCategoriesTitle;if(r){const s=document.createElement("h3");s.className="gengage-chat-grouping-section-title",s.textContent=r,a.appendChild(s)}const o=document.createElement("div");o.className="gengage-chat-grouping-cards-scroll",o.dataset.gengagePart="ai-grouping-cards-scroll";for(const s of n){const c=document.createElement("div");if(c.className="gengage-chat-grouping-card gds-card",c.dataset.gengagePart="ai-grouping-card",c.classList.add("gds-clickable"),c.addEventListener("click",()=>e.onAction(_g(s))),s.image&&we(s.image)){const h=document.createElement("img");h.className="gengage-chat-grouping-card-img",h.dataset.gengagePart="ai-grouping-card-image",h.draggable=!1,h.src=s.image,h.alt=s.name,h.width=64,h.height=64,c.appendChild(h)}const l=document.createElement("div");l.className="gengage-chat-grouping-card-body",l.dataset.gengagePart="ai-grouping-card-body";const p=document.createElement("span");if(p.className="gengage-chat-grouping-card-name",p.dataset.gengagePart="ai-grouping-card-name",p.textContent=s.name,l.appendChild(p),s.labels&&s.labels.length>0){const h=document.createElement("div");h.className="gengage-chat-grouping-card-labels",h.dataset.gengagePart="ai-grouping-card-labels";for(const f of s.labels.slice(0,2)){const b=document.createElement("span");b.className="gengage-chat-grouping-card-label gds-chip",b.textContent=f,h.appendChild(b)}l.appendChild(h)}c.appendChild(l);const d=document.createElement("span");d.className="gengage-chat-grouping-card-arrow",d.textContent="↳",c.insertBefore(d,c.firstChild),o.appendChild(c)}return a.appendChild(o),a}var kg=L((()=>{de(),wa()}));function Cg(t,e){const a=document.createElement("div");a.className="gengage-chat-suggested-search-cards",a.dataset.gengagePart="ai-suggested-search-cards";const n=t.props?.entries??[];if(n.length===0)return a;for(const i of n){const r=document.createElement("div");if(r.className="gengage-chat-suggested-search-card gds-card",r.dataset.gengagePart="ai-suggested-search-card",r.classList.add("gds-clickable"),r.addEventListener("click",()=>e.onAction(i.action)),i.image&&we(i.image)){const c=document.createElement("img");c.className="gengage-chat-suggested-search-card-img",c.dataset.gengagePart="ai-suggested-search-card-image",c.src=i.image,c.alt=i.shortName,c.width=64,c.height=64,r.appendChild(c)}const o=document.createElement("div");o.className="gengage-chat-suggested-search-card-body",o.dataset.gengagePart="ai-suggested-search-card-body";const s=document.createElement("div");s.className="gengage-chat-suggested-search-card-name",s.dataset.gengagePart="ai-suggested-search-card-name",s.textContent=i.shortName,o.appendChild(s),r.appendChild(o),a.appendChild(r)}return a}var Sg=L((()=>{de()}));function Ji(t,e){const a=t.length>=2,n=e.i18n?.compareSelected??"Compare",i=e.comparisonSelectionWarning,r=document.createElement("div");r.className="gengage-chat-comparison-floating-btn",r.dataset.gengagePart="comparison-dock";const o=document.createElement("div");o.className="gengage-chat-comparison-floating-summary";const s=document.createElement("span");s.className="gengage-chat-comparison-floating-count",s.textContent=String(t.length),o.appendChild(s);const c=document.createElement("div");c.className="gengage-chat-comparison-floating-copy";const l=document.createElement("div");if(l.className="gengage-chat-comparison-floating-title",l.textContent=a?`${n} (${t.length})`:e.i18n?.compareMinHint??"Select at least 2 products",c.appendChild(l),i){const d=document.createElement("div");d.className="gengage-chat-comparison-floating-warning",d.setAttribute("role","status"),d.setAttribute("aria-live","polite"),d.textContent=i,c.appendChild(d)}o.appendChild(c),r.appendChild(o);const p=document.createElement("button");if(p.className="gengage-chat-comparison-floating-action gds-btn gds-btn-primary",p.type="button",p.textContent=n,p.disabled=!a,a||p.classList.add("gengage-chat-comparison-floating-action--disabled"),p.addEventListener("click",()=>{a&&e.onAction({title:n,type:"getComparisonTable",payload:{sku_list:[...t],gengage_analytics_source:"floating_compare_dock"}})}),r.appendChild(p),e.onToggleComparisonSku){const d=document.createElement("button");d.className="gengage-chat-comparison-floating-close gds-btn gds-btn-ghost gds-icon-btn",d.dataset.gengagePart="comparison-dock-close",d.type="button",d.setAttribute("aria-label",e.i18n?.closeAriaLabel??"Close"),d.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" aria-hidden="true"><path d="M18 6L6 18"/><path d="M6 6l12 12"/></svg>',d.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),e.onToggleComparisonSku?.("")}),r.appendChild(d)}return r}var er=L((()=>{}));function Eg(t){const e=document.createElement("div");e.className="gengage-chat-pros-cons gds-card-soft",e.dataset.gengagePart="pros-cons";const a=t.props?.productName;if(a){const r=document.createElement("h4");r.className="gengage-chat-pros-cons-heading",r.textContent=a,e.appendChild(r)}const n=t.props?.pros,i=t.props?.cons;if(n&&n.length>0){const r=document.createElement("ul");r.className="gengage-chat-pros-cons-list",r.dataset.gengagePart="pros-list";for(const o of n){const s=document.createElement("li");s.className="gengage-chat-pros-cons-item",s.dataset.gengagePart="pros-item";const c=document.createElement("span");c.className="gengage-chat-pros-cons-icon gengage-chat-pros-cons-icon--pro",c.textContent="✓",s.appendChild(c);const l=document.createElement("span");l.textContent=o,s.appendChild(l),r.appendChild(s)}e.appendChild(r)}if(i&&i.length>0){const r=document.createElement("ul");r.className="gengage-chat-pros-cons-list",r.dataset.gengagePart="cons-list";for(const o of i){const s=document.createElement("li");s.className="gengage-chat-pros-cons-item",s.dataset.gengagePart="cons-item";const c=document.createElement("span");c.className="gengage-chat-pros-cons-icon gengage-chat-pros-cons-icon--con",c.textContent="✗",s.appendChild(c);const l=document.createElement("span");l.textContent=o,s.appendChild(l),r.appendChild(s)}e.appendChild(r)}return e}var Tg=L((()=>{}));function Pg(t){const e=[],a=new Set,n=(i,r)=>{if(typeof i!="string")return;const o=i.trim();if(!o)return;const s=o.toLowerCase();a.has(s)||(a.add(s),e.push({text:o,accent:r}))};n(t.highlight,!0);for(const i of t.labels??[])n(i,!1);return e.slice(0,tr)}function Ag(t){const e=Pg(t),a=typeof t.description=="string"?t.description.trim():"";if(!a&&e.length===0)return null;const n=document.createElement("div");if(n.className="gengage-chat-categories-group-summary",n.dataset.gengagePart="categories-group-summary",n.appendChild(Lg(t)),e.length>0&&n.appendChild(Ig(e)),a){const i=document.createElement("p");i.className="gengage-chat-categories-group-reason",i.dataset.gengagePart="categories-group-reason",i.textContent=a,n.appendChild(i)}return n}function Lg(t){const e=document.createElement("div");if(e.className="gengage-chat-categories-group-selection",e.dataset.gengagePart="categories-group-selection",t.image&&we(t.image)){const n=document.createElement("img");n.className="gengage-chat-categories-group-selection-image",n.draggable=!1,n.src=t.image,n.alt=t.groupName,n.loading="lazy",Ce(n),e.appendChild(n)}const a=document.createElement("div");return a.className="gengage-chat-categories-group-selection-title",a.textContent=t.groupName,e.appendChild(a),e}function Ig(t){const e=document.createElement("div");e.className="gengage-chat-categories-group-chips",e.dataset.gengagePart="categories-group-chips";for(const a of t){const n=document.createElement("span");n.className=a.accent?"gengage-chat-categories-group-chip gengage-chat-categories-group-chip--accent gds-chip gds-chip-active":"gengage-chat-categories-group-chip gds-chip",n.textContent=a.text,e.appendChild(n)}return e}function Ng(t,e){const a=t.props?.groups??[],n=t.props?.filterTags??[],i=`gengage-cat-${ar++}`,r=document.createElement("div");if(r.className="gengage-chat-categories",r.dataset.gengagePart="categories-container",a.length===0)return r;const o=document.createElement("div");o.className="gengage-chat-categories-tabs gds-toolbar",o.dataset.gengagePart="categories-tab-bar",o.setAttribute("role","tablist");const s=[],c=[],l=p=>{for(let d=0;d<s.length;d++){const h=d===p;s[d].classList.toggle("gengage-chat-categories-tab--active",h),s[d].classList.toggle("is-active",h),s[d].setAttribute("aria-selected",String(h)),s[d].tabIndex=h?0:-1,c[d].style.display=h?"":"none"}};for(let p=0;p<a.length;p++){const d=a[p],h=`${i}-tab-${p}`,f=`${i}-panel-${p}`,b=document.createElement("button");if(b.className="gengage-chat-categories-tab gds-tab",b.type="button",b.dataset.gengagePart="categories-tab",b.id=h,b.setAttribute("role","tab"),b.setAttribute("aria-controls",f),b.setAttribute("aria-selected",String(p===0)),b.tabIndex=p===0?0:-1,p===0&&b.classList.add("gengage-chat-categories-tab--active","is-active"),d.image&&we(d.image)){const _=document.createElement("img");_.className="gengage-chat-categories-tab-image",_.draggable=!1,_.src=d.image,_.alt=d.groupName,_.loading="lazy",Ce(_),b.appendChild(_)}const m=document.createElement("span");m.className="gengage-chat-categories-tab-text",m.textContent=d.groupName,b.appendChild(m),b.addEventListener("click",()=>l(p)),b.addEventListener("keydown",_=>{let y=-1;_.key==="ArrowRight"||_.key==="ArrowDown"?y=(p+1)%a.length:_.key==="ArrowLeft"||_.key==="ArrowUp"?y=(p-1+a.length)%a.length:_.key==="Home"?y=0:_.key==="End"&&(y=a.length-1),y>=0&&(_.preventDefault(),l(y),s[y].focus())}),s.push(b),o.appendChild(b);const u=document.createElement("div");u.className="gengage-chat-categories-panel",u.dataset.gengagePart="categories-panel",u.id=f,u.setAttribute("role","tabpanel"),u.setAttribute("aria-labelledby",h),p!==0&&(u.style.display="none");const g=Ag(d);g&&u.appendChild(g);const v=document.createElement("div");v.className="gengage-chat-categories-grid",v.dataset.gengagePart="categories-grid";for(const _ of d.products){const y=Mg(_,e);v.appendChild(y)}u.appendChild(v),c.push(u)}r.appendChild(o);for(const p of c)r.appendChild(p);if(n.length>0){const p=document.createElement("div");p.className="gengage-chat-categories-filter-tags gds-toolbar",p.dataset.gengagePart="categories-filter-tags";for(const d of n){const h=document.createElement("button");h.className="gengage-chat-categories-filter-tag gds-chip",h.type="button",h.dataset.gengagePart="categories-filter-tag",h.textContent=d.title,d.action&&h.addEventListener("click",()=>{e.onAction(d.action)}),p.appendChild(h)}r.appendChild(p)}return r}function Mg(t,e){const a=document.createElement("div");if(a.className="gengage-chat-product-card gds-card gds-product-card gds-card-interactive",a.dataset.gengagePart="categories-product-card",t.imageUrl&&we(t.imageUrl)){const r=document.createElement("img");r.className="gengage-chat-product-card-img",r.draggable=!1,r.src=t.imageUrl,r.alt=t.name,r.loading="lazy",Ce(r),a.appendChild(r)}const n=document.createElement("div");n.className="gengage-chat-product-card-body";const i=document.createElement("div");if(i.className="gengage-chat-product-card-name",i.textContent=t.name,n.appendChild(i),t.price){const r=document.createElement("div");r.className="gengage-chat-product-card-price",r.textContent=te(t.price,e.pricing),n.appendChild(r)}return a.appendChild(n),(e.onProductSelect||e.onAction)&&(a.classList.add("gds-clickable"),a.addEventListener("click",()=>{if(t.sku){e.onAction({title:t.name,type:"launchSingleProduct",payload:{sku:t.sku}});return}e.onProductSelect?.(t)})),a}var tr,ar,Bg=L((()=>{de(),ct(),je(),tr=4,ar=0}));function Rg(t,e){const a=document.createElement("div");a.className="gengage-chat-handoff-notice gds-evidence-card gds-evidence-card-warning",a.dataset.gengagePart="handoff-notice",a.setAttribute("role","alert");const n=document.createElement("span");n.className="gengage-chat-handoff-notice-icon",n.textContent="👤",n.setAttribute("aria-hidden","true"),a.appendChild(n);const i=document.createElement("h4");i.className="gengage-chat-handoff-notice-heading",i.textContent=e.i18n?.handoffHeading??"Transferring to a support agent",a.appendChild(i);const r=t.props?.summary;if(r){const o=document.createElement("p");o.className="gengage-chat-handoff-notice-summary",o.textContent=r,a.appendChild(o)}return a}var zg=L((()=>{}));function $e(t){return typeof t=="string"?t:""}function Hg(t){return Array.isArray(t)?t.map(e=>{if(!e||typeof e!="object")return null;const a=e;return{imageUrl:$e(a.imageUrl)||void 0,name:$e(a.name)||void 0}}).filter(e=>e!==null):[]}function Fg(t,e){const a=t.props??{},n=$e(a.eyebrow),i=$e(a.title),r=a.showTitle!==!1,o=$e(a.ctaLabel)||e.i18n?.showPanelAriaLabel||"Show Results",s=$e(a.panelMessageId),c=$e(a.highlightMessageId),l=$e(a.threadId),p=Hg(a.products).slice(0,3),d=document.createElement("button");d.type="button",d.className="gengage-chat-panel-restore-card gds-card",!n&&!r&&d.classList.add("gengage-chat-panel-restore-card--minimal"),d.dataset.gengagePart="panel-restore-card";const h=i||n||o;d.setAttribute("aria-label",i?`${h} - ${o}`:h);const f={title:i,type:nr,payload:{panelMessageId:s,highlightMessageId:c,threadId:l}};if(d.addEventListener("click",()=>e.onAction(f)),n){const m=document.createElement("div");m.className="gengage-chat-panel-restore-card__eyebrow",m.textContent=n,d.appendChild(m)}if(p.length>0){const m=document.createElement("div");m.className="gengage-chat-panel-restore-card__previews";for(const u of p){const g=document.createElement("div");g.className="gengage-chat-panel-restore-card__thumb";const v=u.imageUrl;if(v&&he(v)){const _=document.createElement("img");_.loading="lazy",_.alt=u.name||i,ue(_,"src",v),Ce(_),g.appendChild(_)}m.appendChild(g)}d.appendChild(m)}if(r&&i){const m=document.createElement("div");m.className="gengage-chat-panel-restore-card__title",m.textContent=i,m.title=i,d.appendChild(m)}const b=document.createElement("div");return b.className="gengage-chat-panel-restore-card__cta",b.textContent=o,d.appendChild(b),d}var nr,ir=L((()=>{de(),je(),nr="frontend_restore_panel_message"}));function Dg(t,e){const a=t.props?.product??t.props,n=document.createElement("div");if(n.className="gengage-chat-product-summary gds-card",n.dataset.gengagePart="product-summary-card",!a)return n;n.classList.add("gds-clickable"),n.addEventListener("click",g=>{g.target.closest("a")||e.onProductSelect?.(a)});const i=a.imageUrl;if(i&&he(i)){const g=document.createElement("div");g.className="gengage-chat-product-summary__image",g.dataset.gengagePart="product-summary-image";const v=document.createElement("img");v.loading="lazy",ue(v,"src",i),v.alt=a.name||"Product image",Ce(v),g.appendChild(v),n.appendChild(g)}const r=document.createElement("div");r.className="gengage-chat-product-summary__content",r.dataset.gengagePart="product-summary-content";const o=a.brand,s=a.name;if(s){const g=document.createElement("div");g.className="gengage-chat-product-summary__name",g.dataset.gengagePart="product-summary-name";const v=o&&!s.toLowerCase().startsWith(o.toLowerCase())?`${o} ${s}`:s;g.textContent=v,g.title=v,r.appendChild(g)}const c=a.rating,l=a.reviewCount;if(e.hideUserReviews!==!0&&typeof c=="number"&&Number.isFinite(c)&&c>0){const g=document.createElement("div");if(g.className="gengage-chat-product-summary__rating",g.dataset.gengagePart="product-summary-rating",g.appendChild(Oa(c)),typeof l=="number"&&Number.isFinite(l)){const v=document.createElement("span");v.className="gengage-chat-product-summary__review-count",v.textContent=` (${l})`,g.appendChild(v)}r.appendChild(g)}const p=a.price,d=a.originalPrice;if(p){const g=lt(e,a),v=yt(e,a),_=!!(d&&d!==p),y=document.createElement("div");y.className="gengage-chat-product-summary__price",y.dataset.gengagePart="product-summary-price";const k=!!(g&&_),T=Ot(e,a);if(k){const w=qt({reasonText:g,salePriceFormatted:te(p,e.pricing),...T!==void 0?{logoUrl:T}:{}});if(_&&v==="inline"){y.classList.add("gengage-chat-product-summary__price--inline"),y.appendChild(w);const E=document.createElement("span");E.className="gengage-chat-product-summary__price-sep",E.setAttribute("aria-hidden","true");const z=document.createElement("span");z.className="gengage-chat-product-summary__price-original",z.textContent=te(d,e.pricing),y.appendChild(E),y.appendChild(z)}else{const E=document.createElement("span");E.className="gengage-chat-product-summary__price-original",E.textContent=te(d,e.pricing),y.appendChild(E),y.appendChild(document.createTextNode(" ")),y.appendChild(w)}r.appendChild(y)}else{if(_&&v==="inline"){y.classList.add("gengage-chat-product-summary__price--inline");const w=document.createElement("span");w.className="gengage-chat-product-summary__price-current",w.textContent=te(p,e.pricing);const E=document.createElement("span");E.className="gengage-chat-product-summary__price-sep",E.setAttribute("aria-hidden","true");const z=document.createElement("span");z.className="gengage-chat-product-summary__price-original",z.textContent=te(d,e.pricing),y.appendChild(w),y.appendChild(E),y.appendChild(z)}else if(_){const w=document.createElement("span");w.className="gengage-chat-product-summary__price-original",w.textContent=te(d,e.pricing),y.appendChild(w),y.appendChild(document.createTextNode(" "));const E=document.createElement("span");E.className="gengage-chat-product-summary__price-current",E.textContent=te(p,e.pricing),y.appendChild(E)}else{const w=document.createElement("span");w.className="gengage-chat-product-summary__price-current",w.textContent=te(p,e.pricing),y.appendChild(w)}if(g){const w=document.createElement("div");w.className="gengage-chat-product-summary__price-stack",w.appendChild(Ut(g)),w.appendChild(y),r.appendChild(w)}else r.appendChild(y)}}n.appendChild(r);const h=a.url,f=a.sku,b=a.cartCode??a.cart_code,m=typeof b=="string"&&b.trim()?b.trim():void 0,u=a.inStock;if(f&&m&&u!==!1){const g=document.createElement("button");g.type="button",g.className="gengage-chat-product-summary__cta gds-chip gds-chip-active",g.dataset.gengagePart="product-summary-cta",g.textContent=e.i18n?.addToCartButton??"Add to Cart",g.addEventListener("click",v=>{v.stopPropagation(),e.onAction({title:e.i18n?.addToCartButton??"Add to Cart",type:"addToCart",payload:{sku:f,cartCode:m,quantity:1}})}),n.appendChild(g)}else if(h&&he(h)){const g=document.createElement("a");g.className="gengage-chat-product-summary__cta gds-chip gds-chip-active",g.dataset.gengagePart="product-summary-cta",ue(g,"href",h),ue(g,"target","_blank"),ue(g,"rel","noopener noreferrer"),g.textContent=e.i18n?.productCtaLabel??"View",n.appendChild(g)}return n}var Ug=L((()=>{ct(),de(),je(),ja()})),rr,Og=L((()=>{Ra(),Ba(),rr={PhotoAnalysisCard:({element:t,context:e})=>Nl(t,e),BeautyPhotoStep:({element:t,context:e})=>Ii(t,e)}}));function jt(){return window.innerWidth<768}function or(){return{...Ga}}function sr(t,e,a=Ga,n=Wt){return da({spec:t,context:e,registry:a,containerClassName:"gengage-chat-uispec",unknownRenderer:n})}function qg(t,e){const a=document.createElement("div");a.className="gengage-chat-action-buttons";const n=t.props?.buttons;if(n)for(const i of n){const r=document.createElement("button");r.className="gengage-chat-action-btn",r.textContent=i.label,r.addEventListener("click",()=>e.onAction(i.action)),a.appendChild(r)}return a}function jg(t,e){const a=document.createElement("button");a.className="gengage-chat-action-btn";const n=t.props?.label;typeof n=="string"&&(a.textContent=n);const i=t.props?.action;return i&&a.addEventListener("click",()=>e.onAction(i)),a}function cr(t,e,a,n,i){t.replaceChildren();const r=yt(e,a),o=!!(i&&n&&i!==n),s=lt(e,a),c=!!(s&&o),l=Ot(e,a);if(!n||parseFloat(n)<=0)return;if(c){const d=qt({reasonText:s,salePriceFormatted:te(n,e.pricing),...l!==void 0?{logoUrl:l}:{}});if(o&&r==="inline"){t.classList.add("gengage-chat-product-card-price-block--inline");const h=document.createElement("div");h.className="gengage-chat-product-card-price-row",h.appendChild(d);const f=document.createElement("span");f.className="gengage-chat-product-card-price-sep",f.setAttribute("aria-hidden","true");const b=document.createElement("span");b.className="gengage-chat-product-card-original-price",b.textContent=te(i,e.pricing),h.appendChild(f),h.appendChild(b),t.appendChild(h);return}if(t.classList.remove("gengage-chat-product-card-price-block--inline"),t.appendChild(d),o){t.appendChild(document.createTextNode(" "));const h=document.createElement("span");h.className="gengage-chat-product-card-original-price",h.textContent=te(i,e.pricing),t.appendChild(h)}return}if(o&&r==="inline"){t.classList.add("gengage-chat-product-card-price-block--inline");const d=document.createElement("div");d.className="gengage-chat-product-card-price-row";const h=document.createElement("span");h.className="gengage-chat-product-card-current-price",h.textContent=te(n,e.pricing);const f=document.createElement("span");f.className="gengage-chat-product-card-price-sep",f.setAttribute("aria-hidden","true");const b=document.createElement("span");b.className="gengage-chat-product-card-original-price",b.textContent=te(i,e.pricing),d.appendChild(h),d.appendChild(f),d.appendChild(b),t.appendChild(d);return}t.classList.remove("gengage-chat-product-card-price-block--inline");const p=document.createElement("span");if(p.className="gengage-chat-product-card-current-price",p.textContent=te(n,e.pricing),t.appendChild(p),o){t.appendChild(document.createTextNode(" "));const d=document.createElement("span");d.className="gengage-chat-product-card-original-price",d.textContent=te(i,e.pricing),t.appendChild(d)}}function lr(t,e,a,n,i,r,o){t.classList.remove("gengage-chat-product-details-price--inline"),t.replaceChildren(),t.className="gengage-chat-product-details-price";const s=lt(e,a),c=!!(s&&o),l=Ot(e,a);if(c){const d=qt({reasonText:s,salePriceFormatted:te(n,e.pricing),...l!==void 0?{logoUrl:l}:{}});if(o&&r==="inline"){t.classList.add("gengage-chat-product-details-price--inline"),t.appendChild(d);const h=document.createElement("span");h.className="gengage-chat-product-details-price-sep",h.setAttribute("aria-hidden","true");const f=document.createElement("span");f.className="gengage-chat-product-details-original-price",f.textContent=te(i,e.pricing),t.appendChild(h),t.appendChild(f)}else{if(o){const h=document.createElement("span");h.className="gengage-chat-product-details-original-price",h.textContent=te(i,e.pricing),t.appendChild(h),t.appendChild(document.createTextNode(" "))}t.appendChild(d)}}else if(o&&r==="inline"){t.classList.add("gengage-chat-product-details-price--inline");const d=document.createElement("span");d.className="gengage-chat-product-details-current-price",d.textContent=te(n,e.pricing);const h=document.createElement("span");h.className="gengage-chat-product-details-price-sep",h.setAttribute("aria-hidden","true");const f=document.createElement("span");f.className="gengage-chat-product-details-original-price",f.textContent=te(i,e.pricing),t.appendChild(d),t.appendChild(h),t.appendChild(f)}else{if(o){const h=document.createElement("span");h.className="gengage-chat-product-details-original-price",h.textContent=te(i,e.pricing),t.appendChild(h),t.appendChild(document.createTextNode(" "))}const d=document.createElement("span");d.className="gengage-chat-product-details-current-price",d.textContent=te(n,e.pricing),t.appendChild(d)}const p=$t(a,"discountPercent","price_discount_rate");if(!e.hideProductDiscountBadge&&typeof p=="number"&&p>0){const d=document.createElement("span");d.className="gengage-chat-product-details-discount-badge",d.textContent=`%${Ua(p)}`,t.appendChild(d)}}function $a(t,e){const a=document.createElement("div");a.className="gengage-chat-product-card gds-card gds-product-card gds-card-interactive";const n=t.props?.product??t.props;if(!n)return a;const i=n.sku;i&&(a.dataset.sku=i);const r=t.props?.action,o=n.name,s=n.url,c=n.sku,l=s&&he(s)?s:void 0,p=()=>r?.type!=="launchSingleProduct"||l===void 0||c===void 0||e.onProductClick===void 0?!1:(e.onProductClick({sku:c,url:l,...typeof o=="string"?{name:o}:{}}),!0);(e.onProductSelect||r)&&(a.classList.add("gds-clickable"),a.addEventListener("click",C=>{if(!a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")&&!C.target.closest(".gengage-chat-product-card-atc")&&!C.target.closest(".gengage-chat-product-card-cta")){if(r){p()||e.onAction(r);return}e.onProductSelect?.(n)}}));const d=n.imageUrl;if(d&&he(d)){const C=document.createElement("div");C.className="gengage-chat-product-card-img-wrapper";const M=document.createElement("img");M.className="gengage-chat-product-card-img",M.loading="lazy",ue(M,"src",d);const O=n.name;O&&(M.alt=O),Ce(M),C.appendChild(M);const U=n.discountPercent;if(!e.hideProductDiscountBadge&&typeof U=="number"&&U>0){const x=document.createElement("span");x.className="gengage-chat-product-card-discount-badge",x.textContent=`%${Ua(U)}`,C.appendChild(x)}const R=document.createElement("div");R.className="gengage-chat-product-card-img-actions";const ne=n.sku;if(ne&&e.onFavoriteToggle){const x=document.createElement("button");x.className="gengage-chat-favorite-btn",x.type="button",x.dataset.gengageFavoriteSku=ne,x.setAttribute("aria-label",e.i18n?.addToFavoritesLabel??"Add to favorites");const N=e.favoritedSkus?.has(ne)??!1;N&&x.classList.add("gengage-chat-favorite-btn--active"),x.innerHTML=`<svg width="14" height="14" viewBox="0 0 24 24" fill="${N?"currentColor":"none"}" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`,x.addEventListener("click",I=>{I.stopPropagation(),x.classList.toggle("gengage-chat-favorite-btn--active");const B=x.querySelector("svg");B&&B.setAttribute("fill",x.classList.contains("gengage-chat-favorite-btn--active")?"currentColor":"none"),e.onFavoriteToggle(ne,n)}),R.appendChild(x)}const ae=n.sku,V=e.i18n?.findSimilarLabel??"Find Similar";if(ae){const x=document.createElement("button");x.className="gengage-chat-find-similar-pill",x.type="button",x.setAttribute("aria-label",V),x.dataset.tooltip=V,x.innerHTML='<span class="gengage-chat-find-similar-pill-icon" aria-hidden="true"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M16 16l5.5 5.5"/></svg></span>';const N=document.createElement("span");N.className="gengage-chat-find-similar-pill-text",N.textContent=V,x.appendChild(N),x.addEventListener("click",I=>{I.stopPropagation(),e.onAction({title:V,type:"findSimilar",payload:{sku:ae}})}),R.appendChild(x)}R.childElementCount>0&&C.appendChild(R),a.appendChild(C)}const h=document.createElement("div");h.className="gengage-chat-product-card-body";const f=n.brand;if(f){const C=document.createElement("div");C.className="gengage-chat-product-card-brand",C.textContent=f,h.appendChild(C)}const b=n.rating,m=n.reviewCount,u=n.price,g=n.originalPrice,v=n.price_async,_=lt(e,n),y=yt(e,n),k=!!(g&&u&&g!==u&&parseFloat(u)>0),T=!!(_&&k),w=!!(_&&!T||k&&y==="inline"),E=typeof b=="number"&&Number.isFinite(b)&&b>0,z=document.createElement("div");z.className="gengage-chat-product-card-meta-row";const $=document.createElement("div");$.className="gengage-chat-product-card-price gengage-chat-product-card-price-block";const K=w?(()=>{const C=document.createElement("div");return C.className="gengage-chat-product-card-price-stack",_&&!T&&C.appendChild(Ut(_)),C.appendChild($),C})():$;if(v===!0){const C=document.createElement("span");C.className="gengage-chat-price-skeleton",$.appendChild(C),setTimeout(()=>{C.parentElement&&(u&&parseFloat(u)>0?cr($,e,n,u,n.originalPrice):C.remove())},300)}else u&&parseFloat(u)>0&&cr($,e,n,u,g);if(($.childElementCount>0||v===!0)&&z.appendChild(K),E){const C=document.createElement("div");C.className="gengage-chat-product-card-rating gengage-chat-product-card-rating-compact";const M=Da(b),O=[`${M.toFixed(1)}`,"out of 5 stars"];typeof m=="number"&&Number.isFinite(m)&&O.push(`(${m} reviews)`),C.setAttribute("aria-label",O.join(" "));const U=document.createElement("span");U.className="gengage-chat-product-card-rating-compact-star",U.setAttribute("aria-hidden","true"),U.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3.6l2.58 5.23 5.77.84-4.17 4.07.98 5.75L12 16.78l-5.16 2.71.99-5.75L3.66 9.67l5.76-.84L12 3.6z"/></svg>';const R=document.createElement("span");R.className="gengage-chat-product-card-rating-compact-value",R.textContent=M.toFixed(1),C.appendChild(U),C.appendChild(R),z.appendChild(C)}if(z.childElementCount===0&&(z.classList.add("gengage-chat-product-card-meta-row--empty"),z.setAttribute("aria-hidden","true")),h.appendChild(z),o){const C=document.createElement("div");C.className="gengage-chat-product-card-name",C.textContent=o,C.title=o,h.appendChild(C)}const oe=n.inStock;if(e.hideStockStatus!==!0&&typeof oe=="boolean"){const C=document.createElement("div");C.className=`gengage-chat-product-card-stock ${oe?"is-in-stock":"is-out-of-stock"}`,C.textContent=oe?e.i18n?.inStockLabel??"In Stock":e.i18n?.outOfStockLabel??"Out of Stock",h.appendChild(C)}a.appendChild(h);const ie=n.cartCode,A=!!(ie&&c&&oe!==!1),D=e.i18n?.productCtaLabel??"View";if(A){const C=document.createElement("div");C.className="gengage-chat-product-card-buy-footer";const M=document.createElement("button");M.type="button",M.className="gengage-chat-product-card-buy-trigger",M.textContent=D,M.addEventListener("click",O=>{O.stopPropagation(),e.onAction({title:e.i18n?.addToCartButton??D,type:"addToCart",payload:{sku:c,cartCode:ie,quantity:1}})}),C.appendChild(M),a.appendChild(C)}else if(r){const C=document.createElement("button");C.className="gengage-chat-product-card-cta",C.type="button",C.textContent=r.type==="launchSingleProduct"?D:r.title||D,C.addEventListener("click",M=>{if(a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")){M.stopPropagation();return}p()||e.onAction(r)}),a.appendChild(C)}else if(l){const C=document.createElement("a");C.className="gengage-chat-product-card-cta",ue(C,"href",l),ue(C,"target","_blank"),ue(C,"rel","noopener noreferrer"),C.textContent=D,C.addEventListener("click",M=>{if(a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")){M.preventDefault(),M.stopPropagation();return}e.onProductClick&&c&&(M.preventDefault(),e.onProductClick({sku:c,url:l,...o?{name:o}:{}}))}),a.appendChild(C)}if(e.comparisonSelectMode&&c&&e.onToggleComparisonSku){const C=document.createElement("div");C.className="gengage-chat-comparison-select-wrapper";const M=e.comparisonSelectedSkus?.includes(c)??!1;M&&C.classList.add("gengage-chat-comparison-select-wrapper--selected");const O=n.name??c,U=e.i18n?.comparisonSelectCardHint??"Tap anywhere on the card to add or remove it from comparison.";C.setAttribute("role","group"),C.setAttribute("aria-label",`${String(O)}. ${U}`);const R=document.createElement("button");R.type="button",R.className="gengage-chat-comparison-checkbox",R.dataset.selected=M?"true":"false",R.setAttribute("aria-pressed",M?"true":"false");const ne=document.createElement("span");ne.className="gengage-chat-comparison-checkbox-icon",ne.innerHTML=M?'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>':'<span class="gengage-chat-comparison-checkbox-dot"></span>';const ae=document.createElement("span");ae.className="gengage-chat-comparison-checkbox-label",ae.textContent=M?e.i18n?.comparisonSelectedLabel??"Selected":e.i18n?.comparisonSelectLabel??"Select to compare",R.appendChild(ne),R.appendChild(ae),R.addEventListener("click",x=>{x.stopPropagation(),e.onToggleComparisonSku?.(c)});const V=document.createElement("div");return V.className="gengage-chat-comparison-card-hint",V.setAttribute("aria-hidden","true"),V.textContent=U,C.addEventListener("click",x=>{x.target.closest(".gengage-chat-comparison-checkbox")||(x.stopPropagation(),e.onToggleComparisonSku?.(c))}),C.appendChild(R),C.appendChild(V),C.appendChild(a),C}return a}function Se(t,...e){for(const a of e){const n=t[a];if(typeof n=="string"){const i=n.trim();if(i.length>0)return i}}}function $t(t,...e){for(const a of e){const n=t[a];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){const i=Number(n.replace(",","."));if(Number.isFinite(i))return i}}}function Vt(t,...e){for(const a of e){const n=t[a];if(typeof n=="boolean")return n}}function $g(t,...e){for(const a of e){const n=t[a];if(n&&typeof n=="object"&&!Array.isArray(n))return n}}function Vg(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.trim().length>0):[]}function Gg(t){const e=[...Vg(t.images),Se(t,"imageUrl","image_url","image")].filter(a=>!!a&&he(a));return Array.from(new Set(e))}function Wg(t){return typeof DOMParser<"u"?(new DOMParser().parseFromString(t,"text/html").body.textContent??"").replace(/\s+/g," ").trim():t.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim()}function Kg(t){const e=Se(t,"description_html","descriptionHtml");if(e){const n=Wg(e);if(n)return{text:n,html:e}}const a=Se(t,"description");return a?{text:a}:void 0}function Gt(t){return Array.isArray(t)?t.map(e=>{if(!e||typeof e!="object")return null;const a=e,n=Se(a,"key","name","label","title"),i=a.value,r=typeof i=="string"||typeof i=="number"||typeof i=="boolean"?String(i).trim():void 0;return!n||!r?null:{key:n,value:r}}).filter(e=>e!==null):t&&typeof t=="object"?Object.entries(t).map(([e,a])=>{const n=typeof a=="string"||typeof a=="number"||typeof a=="boolean"?String(a).trim():void 0;return!e||!n?null:{key:e,value:n}}).filter(e=>e!==null):[]}function gr(t){const e=Gt(t.features);return e.length>0?e:Gt(t.specifications)}function Yg(t){const e=t.specifications,a=Gt(e);if(a.length>0)return Array.isArray(e)?a:Object.fromEntries(a.map(i=>[i.key,i.value]));const n=Gt(t.features);return n.length>0?n:void 0}function De(t,...e){return Se(t,...e)}function dr(t,...e){return $t(t,...e)}function pr(t){return De(t,"value","option_value","attribute_value","label","title","name","variant_name","sku")}function hr(t){const e=De(t,"type","attribute","option_name","attribute_name");return e||(De(t,"value")?De(t,"name","variant_name"):void 0)}function Qg(t){const e=hr(t)?.toLowerCase();return!!(Se(t,"color","colour","color_hex","hex","swatch","swatchColor")||e&&Wa.has(e))}function ur(t){if(!t)return;const e=t.trim();if(!(!e||e.includes(";"))&&(typeof CSS<"u"&&CSS.supports?.("color",e)||/^#(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(e)))return e}function Zg(t){const e=ur(De(t,"swatchColor","swatch","color_hex","hex","color","colour"));if(e)return e;if(Qg(t))return ur(pr(t))}function Xg(t){return De(t,"image","imageUrl","image_url","swatchImage","swatch_image")}function Jg(t){return dr(t,"price_discounted","priceDiscounted")??De(t,"price_discounted","priceDiscounted")??dr(t,"price")??De(t,"price")}function ed(t){const e=t.trim().toLowerCase();return Wa.has(e)||vr.has(e)||yr.has(e)}function td(t){const e=t.trim().toLowerCase();return e==="renk kodu"?"Renk":e==="color code"?"Color":t.trim()}function ad(t){for(const e of xr){const a=t[e];if(!Array.isArray(a))continue;const n=a.filter(i=>!!i&&typeof i=="object"&&!Array.isArray(i));if(n.length>0)return n}}function nd(t){const e=ad(t);if(e)return e;const a=Se(t,"sku"),n=Vt(t,"inStock","in_stock"),i=[],r=new Set,o=(c,l)=>{if(!ed(c)||typeof l!="string"&&typeof l!="number"&&typeof l!="boolean")return;const p=String(l).trim();if(!p)return;const d=td(c),h=`${d.toLowerCase()}:${p.toLowerCase()}`;r.has(h)||(r.add(h),i.push({name:d,value:p,sku:a,inStock:n}))},s=$g(t,"facetHits","facet_hits");if(s)for(const[c,l]of Object.entries(s))o(c,l);for(const c of gr(t))o(c.key,c.value);return i}function id(t,e){const a=Array.from(new Set(t.map(hr).filter(n=>!!n)));return a.length===1?`${t.length} ${a[0]}`:e.i18n?.variantsLabel??"Variants"}function rd(t,e){const a=document.createElement("article");a.className="gengage-chat-product-details-panel";const n=t.props?.product??t.props;if(!n)return a;const i=Se(n,"name"),r=Se(n,"brand"),o=Se(n,"sku"),s=Se(n,"cartCode","cart_code"),c=Se(n,"price"),l=Se(n,"originalPrice","price_original"),p=Vt(n,"price_async"),d=lt(e,n),h=yt(e,n),f=!!(l&&c&&l!==c),b=Vt(n,"inStock","in_stock"),m=$t(n,"reviewCount","review_count"),u=$t(n,"rating"),g=Gg(n),v=gr(n).slice(0,4);if(g.length>1){const A=document.createElement("div");A.className="gengage-chat-product-details-media gengage-chat-product-details-gallery gengage-chat-product-details-img-wrap";const D=document.createElement("img");D.className="gengage-chat-product-details-img",ue(D,"src",g[0]),D.alt=i??"Product image",Ce(D),A.appendChild(D);const C=document.createElement("div");C.className="gengage-chat-product-gallery-thumbs";const M=6;let O=null,U=0;const R=e.i18n,ne=R?.galleryPrevAriaLabel??"Previous image",ae=R?.galleryNextAriaLabel??"Next image",V=W=>W==="prev"?'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="15 18 9 12 15 6"/></svg>':'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"/></svg>',x=document.createElement("button");x.type="button",x.className="gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--prev gds-btn gds-btn-ghost gds-icon-btn",x.setAttribute("aria-label",ne),x.innerHTML=V("prev");const N=document.createElement("button");N.type="button",N.className="gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--next gds-btn gds-btn-ghost gds-icon-btn",N.setAttribute("aria-label",ae),N.innerHTML=V("next");const I=()=>{x.disabled=U<=0,N.disabled=U>=g.length-1},B=W=>{if(W<0||W>=g.length||W===U)return;const X=g[W];if(!X)return;ue(D,"src",X);const G=C.querySelectorAll(".gengage-chat-product-gallery-thumb");O&&O.classList.remove("gengage-chat-product-gallery-thumb--active"),W<M&&G[W]?(G[W].classList.add("gengage-chat-product-gallery-thumb--active"),O=G[W]):O=null,U=W,I()};for(let W=0;W<g.length;W++){const X=g[W];if(W>=M)break;const G=document.createElement("img");G.className="gengage-chat-product-gallery-thumb",W===0&&(G.classList.add("gengage-chat-product-gallery-thumb--active"),O=G),ue(G,"src",X),G.alt=`${i??"Product"} ${W+1}`,G.width=48,G.height=48,Ce(G),G.addEventListener("click",()=>{B(W)}),C.appendChild(G)}if(g.length>M){const W=document.createElement("span");W.className="gengage-chat-product-gallery-thumb-more",W.textContent=`+${g.length-M}`,C.appendChild(W)}x.addEventListener("click",W=>{W.stopPropagation(),B(U-1)}),N.addEventListener("click",W=>{W.stopPropagation(),B(U+1)}),I();let q=0;const j=50;D.addEventListener("touchstart",W=>{q=W.changedTouches[0].clientX},{passive:!0}),D.addEventListener("touchend",W=>{const X=W.changedTouches[0].clientX,G=q-X;Math.abs(G)<j||B(G>0?Math.min(U+1,g.length-1):Math.max(U-1,0))}),A.appendChild(x),A.appendChild(N),A.appendChild(C),a.appendChild(A)}else if(g.length===1){const A=document.createElement("div");A.className="gengage-chat-product-details-media gengage-chat-product-details-img-wrap";const D=document.createElement("img");D.className="gengage-chat-product-details-img",D.loading="lazy",ue(D,"src",g[0]),Ce(D),D.alt=i??"Product image",A.appendChild(D),a.appendChild(A)}const _=document.createElement("div");if(_.className="gengage-chat-product-details-content",r&&(!i||!i.toLowerCase().startsWith(r.toLowerCase()))){const A=document.createElement("div");A.className="gengage-chat-product-details-brand",A.textContent=r,_.appendChild(A)}if(i){const A=document.createElement("h3");A.className="gengage-chat-product-details-title",A.textContent=i,A.title=i,_.appendChild(A)}if(e.hideUserReviews!==!0&&typeof u=="number"&&Number.isFinite(u)&&u>0){const A=document.createElement(o?"button":"div");A.className="gengage-chat-product-details-rating",o&&(A.type="button",A.classList.add("gengage-chat-product-details-rating--clickable"),A.setAttribute("aria-label",e.i18n?.groundingReviewCta??"Read Reviews"),A.addEventListener("click",()=>{e.onAction({title:e.i18n?.customerReviewsTitle??"Customer Reviews",type:"reviewSummary",payload:{sku:o}})})),A.appendChild(Oa(u));const D=document.createElement("span");if(D.className="gengage-chat-product-details-rating-value",D.textContent=Da(u).toFixed(1),A.appendChild(D),typeof m=="number"&&Number.isFinite(m)){const C=document.createElement("span");C.className="gengage-chat-product-details-review-count",C.textContent=` (${m})`,A.appendChild(C)}_.appendChild(A)}{const A=!!(d&&f);let D=_;if(d&&!A){const M=document.createElement("div");M.className="gengage-chat-product-details-price-stack",M.appendChild(Ut(d)),_.appendChild(M),D=M}const C=document.createElement("div");if(C.className="gengage-chat-product-details-price",p===!0){const M=document.createElement("span");M.className="gengage-chat-price-skeleton",C.appendChild(M),D.appendChild(C),setTimeout(()=>{if(M.parentElement)if(c&&parseFloat(c)>0)lr(C,e,n,c,l,h,f);else{const O=C.parentElement;C.remove(),O?.classList.contains("gengage-chat-product-details-price-stack")&&O.remove()}},300)}else if(c&&parseFloat(c)>0)lr(C,e,n,c,l,h,f),D.appendChild(C);else if(d){const M=D;M.classList.contains("gengage-chat-product-details-price-stack")&&M.remove()}}if(e.hideStockStatus!==!0&&typeof b=="boolean"){const A=document.createElement("div");A.className=`gengage-chat-product-details-stock ${b?"is-in-stock":"is-out-of-stock"}`,A.textContent=b?e.i18n?.inStockLabel??"In Stock":e.i18n?.outOfStockLabel??"Out of Stock",_.appendChild(A)}const y=n.promotions;if(y&&y.length>0){const A=document.createElement("div");A.className="gengage-chat-product-details-promos";for(const D of y.slice(0,3)){if(!D||/%(0(\.0+)?)\s/.test(D))continue;const C=document.createElement("span");C.className="gengage-chat-product-details-promo-badge",C.textContent=D,C.title=D,A.appendChild(C)}A.childElementCount>0&&_.appendChild(A)}if(v.length>0){const A=document.createElement("dl");A.className="gengage-chat-product-details-facts";for(const D of v){const C=document.createElement("div");C.className="gengage-chat-product-details-fact";const M=document.createElement("dt");M.textContent=D.key;const O=document.createElement("dd");O.textContent=D.value,C.appendChild(M),C.appendChild(O),A.appendChild(C)}_.appendChild(A)}const k=nd(n);if(k.length>0){const A=document.createElement("div");A.className="gengage-chat-product-variants";const D=document.createElement("div");D.className="gengage-chat-product-variants-label",D.textContent=id(k,e),A.appendChild(D);const C=document.createElement("div");C.className="gengage-chat-product-variants-list";for(const M of k){const O=pr(M),U=De(M,"sku");if(!O&&!U)continue;const R=document.createElement("button");R.className="gengage-chat-product-variant-btn gds-chip",R.type="button";const ne=O??U??"";R.title=ne;const ae=Vt(M,"in_stock","inStock");U&&o&&U===o?(R.classList.add("gengage-chat-product-variant-btn--active"),R.setAttribute("aria-pressed","true")):R.setAttribute("aria-pressed","false"),ae===!1&&(R.classList.add("gengage-chat-product-variant-btn--out"),R.disabled=!0);const V=Xg(M),x=Zg(M);if(V&&he(V)){const B=document.createElement("img");B.className="gengage-chat-product-variant-swatch gengage-chat-product-variant-swatch--image",ue(B,"src",V),B.alt="",B.setAttribute("aria-hidden","true"),Ce(B),R.appendChild(B)}else if(x){const B=document.createElement("span");B.className="gengage-chat-product-variant-swatch",B.setAttribute("aria-hidden","true"),B.style.backgroundColor=x,R.appendChild(B)}const N=document.createElement("span");N.className="gengage-chat-product-variant-label",N.textContent=ne,R.appendChild(N);const I=Jg(M);if(I&&String(I)!==String(c)){const B=document.createElement("span");B.className="gengage-chat-product-variant-price",B.textContent=te(String(I),e.pricing),R.appendChild(B)}if(U&&U!==o){const B=i??"",q=(typeof M.value=="string"?M.value.trim():"")||(typeof M.name=="string"?M.name.trim():"")||(typeof M.variant_name=="string"?M.variant_name.trim():"")||"",j=B.length>0?q.length>0&&q!==B?`${B} (${q})`:B:ne;R.addEventListener("click",()=>{e.onAction({title:j,type:"launchVariant",payload:{sku:U}})})}C.appendChild(R)}C.childElementCount>0&&(A.appendChild(C),_.appendChild(A))}const T=document.createElement("div");T.className="gengage-chat-product-details-actions";const w=t.props?.action;if(w){const A=document.createElement("button");A.className="gengage-chat-product-details-cta gds-btn gds-btn-primary",A.type="button",A.textContent=w.title||e.i18n?.productCtaLabel||"View",A.addEventListener("click",()=>e.onAction(w)),T.appendChild(A)}if(s&&o&&b!==!1){const A=document.createElement("button");A.className="gengage-chat-product-details-atc gds-btn gds-btn-primary",A.type="button",A.textContent=e.i18n?.addToCartButton??"Add to Cart",A.addEventListener("click",()=>{e.onAction({title:e.i18n?.addToCartButton??"Add to Cart",type:"addToCart",payload:{sku:o,cartCode:s,quantity:1}})}),T.appendChild(A)}const E=Se(n,"url");if(!w&&E&&he(E)){const A=document.createElement("a");A.className="gengage-chat-product-details-cta gds-btn gds-btn-secondary",ue(A,"href",E),ue(A,"target","_blank"),ue(A,"rel","noopener noreferrer"),A.textContent=e.i18n?.viewOnSiteLabel??e.i18n?.productCtaLabel??"View on Site",A.addEventListener("click",D=>{e.onProductClick&&o&&(D.preventDefault(),e.onProductClick({sku:o,url:E,...i?{name:i}:{}}))}),T.appendChild(A)}const z=E;if(z&&he(z)){let O=function(R,ne){const ae=document.createElementNS(C,"circle");ae.setAttribute("cx",R),ae.setAttribute("cy",ne),ae.setAttribute("r","3"),M.appendChild(ae)},U=function(R,ne,ae,V){const x=document.createElementNS(C,"line");x.setAttribute("x1",R),x.setAttribute("y1",ne),x.setAttribute("x2",ae),x.setAttribute("y2",V),M.appendChild(x)};var oe=O,ie=U;const A=document.createElement("button");A.className="gengage-chat-product-details-share gds-btn gds-btn-ghost gds-icon-btn",A.type="button";const D=e.i18n?.shareButton??"Share";A.title=D,A.setAttribute("aria-label",D);const C="http://www.w3.org/2000/svg",M=document.createElementNS(C,"svg");M.setAttribute("width","18"),M.setAttribute("height","18"),M.setAttribute("viewBox","0 0 24 24"),M.setAttribute("fill","none"),M.setAttribute("stroke","currentColor"),M.setAttribute("stroke-width","2"),M.setAttribute("stroke-linecap","round"),M.setAttribute("stroke-linejoin","round"),O("18","5"),O("6","12"),O("18","19"),U("8.59","13.51","15.42","17.49"),U("15.41","6.51","8.59","10.49"),A.appendChild(M),A.addEventListener("click",async()=>{try{navigator.share?await navigator.share({title:i??"",url:z}):navigator.clipboard&&(await navigator.clipboard.writeText(z),A.classList.add("gengage-chat-product-details-share--copied"),setTimeout(()=>A.classList.remove("gengage-chat-product-details-share--copied"),1500))}catch{}}),T.appendChild(A)}T.childElementCount>0&&_.appendChild(T),a.appendChild(_);const $=Kg(n),K=Yg(n);return($||K)&&a.appendChild(cd($,K,e)),a}function Va(t){if(t.nodeType===Node.TEXT_NODE)return document.createTextNode(t.textContent??"");if(t.nodeType!==Node.ELEMENT_NODE)return null;const e=t,a=e.tagName.toUpperCase();if(wr.has(a))return null;if(!_r.has(a)){const i=document.createDocumentFragment();for(const r of Array.from(e.childNodes)){const o=Va(r);o&&i.appendChild(o)}return i}const n=document.createElement(a.toLowerCase());for(const i of Array.from(e.childNodes)){const r=Va(i);r&&n.appendChild(r)}return n}function od(t,e){const a=e.split(/\n{2,}/).map(n=>n.replace(/\s+/g," ").trim()).filter(Boolean);if(a.length!==0)for(const n of a){const i=document.createElement("p");i.textContent=n,t.appendChild(i)}}function sd(t,e){if(t.classList.add("gengage-chat-product-description"),e.html&&typeof DOMParser<"u"){const a=new DOMParser().parseFromString(e.html,"text/html"),n=Array.from(a.body.childNodes).map(i=>Va(i)).filter(i=>!!i&&(i.nodeType===Node.ELEMENT_NODE||!!i.textContent?.trim()));if(n.length>0){for(const i of n)t.appendChild(i);return}}od(t,e.text)}function cd(t,e,a){const n=document.createElement("div");n.className="gengage-chat-product-detail-tabs";const i=document.createElement("div");i.className="gengage-chat-product-detail-tab-bar gds-toolbar";const r=[];if(t){const s=document.createElement("button");s.className="gengage-chat-product-detail-tab gds-tab gengage-chat-product-detail-tab--active is-active",s.type="button",s.setAttribute("aria-selected","true"),s.textContent=a.i18n?.productInfoTab??"Product Info",i.appendChild(s);const c=document.createElement("div");c.className="gengage-chat-product-detail-tab-panel",sd(c,t),r.push(c)}if(e){const s=document.createElement("button");s.className=`gengage-chat-product-detail-tab gds-tab${t?"":" gengage-chat-product-detail-tab--active is-active"}`,s.type="button",s.setAttribute("aria-selected",t?"false":"true"),s.textContent=a.i18n?.specificationsTab??"Specifications",i.appendChild(s);const c=document.createElement("div");c.className="gengage-chat-product-detail-tab-panel",t&&(c.style.display="none");const l=document.createElement("table");l.className="gengage-chat-product-specs-table";const p=Array.isArray(e)?e:Object.entries(e).map(([d,h])=>({key:d,value:h}));for(const d of p){const h=document.createElement("tr"),f=document.createElement("td");f.className="gengage-chat-product-specs-key",f.textContent=d.key;const b=document.createElement("td");b.className="gengage-chat-product-specs-value",b.textContent=d.value,h.appendChild(f),h.appendChild(b),l.appendChild(h)}c.appendChild(l),r.push(c)}const o=i.querySelectorAll(".gengage-chat-product-detail-tab");o.forEach((s,c)=>{s.addEventListener("click",()=>{o.forEach(l=>{l.classList.remove("gengage-chat-product-detail-tab--active","is-active"),l.setAttribute("aria-selected","false")}),s.classList.add("gengage-chat-product-detail-tab--active","is-active"),s.setAttribute("aria-selected","true"),r.forEach((l,p)=>{l.style.display=p===c?"":"none"})})}),n.appendChild(i);for(const s of r)n.appendChild(s);return n}function mr(t){const e='width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"';switch(t){case"related":return`<svg ${e} aria-hidden="true"><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z"/></svg>`;case"priceAsc":return`<svg ${e} aria-hidden="true"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"/><polyline points="16 7 22 7 22 13"/></svg>`;case"priceDesc":return`<svg ${e} aria-hidden="true"><polyline points="22 17 13.5 8.5 8.5 13.5 2 7"/><polyline points="16 17 22 17 22 11"/></svg>`;default:return""}}function ld(){return'<svg class="gengage-chat-product-sort-chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>'}function gd(){return'<svg class="gengage-chat-product-sort-check" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg>'}function dd(){return'<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3 4 7l4 4"/><path d="M16 21l4-4-4-4"/><path d="M4 7h16"/><path d="M20 17H4"/></svg>'}function fr(t,e){return t.type===e.type&&t.direction===e.direction}function br(t,e,a){if(!a||a.type==="related")return t;const n=t.map(i=>{const r=e.elements[i]?.props?.product,o=r?Number(r.price):NaN;return{id:i,price:Number.isFinite(o)?o:1/0}});return n.sort((i,r)=>i.price===1/0&&r.price===1/0?0:i.price===1/0?1:r.price===1/0?-1:a.direction==="desc"?r.price-i.price:i.price-r.price),n.map(i=>i.id)}function pd(t,e,a,n){const i=br(e,a,n),r=new Map;for(const o of Array.from(t.children)){const s=o.dataset.elementId;s&&r.set(s,o)}for(const o of i){const s=r.get(o);s&&t.appendChild(s)}}function hd(t,e,a,n){const i=document.createElement("div");i.className="gengage-chat-product-grid-wrapper";const r=Za(t),o=r.isConsulting,s=t.children??[],c=document.createElement("div");c.className="gengage-chat-product-grid";const l=Array.isArray(t.props?.productSections)?t.props.productSections.map(g=>({title:typeof g.title=="string"?g.title:"",children:Array.isArray(g.children)?g.children.filter(v=>typeof v=="string"&&!!e.elements[v]):[]})).filter(g=>g.children.length>0):[],p=l.length>1,d=!p&&l.length===1&&l[0]?.title?l[0].title:"",h=n?.panelProductListHeading??(d||void 0),f=!o&&!p&&s.length>1&&n?.onSortChange,b=g=>{if(!n?.onToggleComparisonSku)return;const v=document.createElement("button");v.className="gengage-chat-comparison-toggle-btn gds-btn gds-btn-ghost",v.type="button",n.comparisonSelectMode&&v.classList.add("gengage-chat-comparison-toggle-btn--active"),n.isStreaming&&v.classList.add("gengage-chat-comparison-toggle-btn--hidden");const _=document.createElement("span");_.className="gengage-chat-comparison-toggle-icon",_.innerHTML=dd();const y=document.createElement("span");y.className="gengage-chat-comparison-toggle-label";const k=n.i18n?.compareSelected??"Compare";y.textContent=k,v.setAttribute("aria-label",k),v.title=k,v.appendChild(_),v.appendChild(y),v.addEventListener("click",()=>{n.onToggleComparisonSku?.("")}),g.appendChild(v)},m=(g,v=s.length)=>{const _=t.props?.endOfList;if(o||!(p?_===!1:_!==!0)||v===0)return;const y=n?.i18n?.viewMoreLabel??"Show More",k=document.createElement("button");k.className="gengage-chat-product-grid-view-more",k.type="button",k.textContent=y,k.addEventListener("click",()=>{n?.onAction({title:y,type:"moreProductList",payload:{}})}),g.appendChild(k)},u=()=>{const g=n?.isMobile??jt();n?.comparisonSelectMode&&n.comparisonSelectedSkus&&!g&&i.appendChild(Ji(n.comparisonSelectedSkus,n))};if(f){const g=document.createElement("div");g.className="gengage-chat-product-sort-toolbar",g.setAttribute("role","toolbar"),g.setAttribute("aria-label",n.i18n?.sortToolbarAriaLabel??"Sort products");let v=n.productSort??{type:"related"};const _=[{label:n.i18n?.sortRelated??"Related",sortState:{type:"related"},icon:"related"},{label:n.i18n?.sortPriceAsc??"Price ↑",sortState:{type:"price",direction:"asc"},icon:"priceAsc"},{label:n.i18n?.sortPriceDesc??"Price ↓",sortState:{type:"price",direction:"desc"},icon:"priceDesc"}],y=document.createElement("div");y.className="gengage-chat-product-sort-dropdown";const k=document.createElement("button");k.type="button",k.className="gengage-chat-product-sort-trigger gds-btn gds-btn-ghost",k.setAttribute("aria-haspopup","listbox"),k.setAttribute("aria-expanded","false");const T=n.i18n?.sortToolbarAriaLabel??"Sort products",w=document.createElement("span");w.className="gengage-chat-product-sort-trigger-icon";const E=document.createElement("span");E.className="gengage-chat-product-sort-trigger-label";const z=O=>{const U=_.find(R=>fr(R.sortState,O))??_[0];E.textContent=U.label,w.innerHTML=mr(U.icon),y.dataset.sortIcon=U.icon,k.setAttribute("aria-label",`${T}: ${U.label}`),k.title=U.label};z(v);const $=document.createElement("span");$.className="gengage-chat-product-sort-trigger-chevron",$.innerHTML=ld(),k.appendChild(w),k.appendChild(E),k.appendChild($);const K=document.createElement("div");K.className="gengage-chat-product-sort-menu gds-menu",K.hidden=!0,K.setAttribute("role","listbox"),K.setAttribute("aria-label",T);const oe=g.ownerDocument;let ie=null;const A=()=>{K.hidden=!0,y.classList.remove("gengage-chat-product-sort-dropdown--open"),k.setAttribute("aria-expanded","false"),ie?.abort(),ie=null},D=O=>{y.classList.contains("gengage-chat-product-sort-dropdown--open")&&(y.contains(O.target)||A())},C=O=>{O.key==="Escape"&&(O.preventDefault(),A())},M=()=>{K.hidden=!1,y.classList.add("gengage-chat-product-sort-dropdown--open"),k.setAttribute("aria-expanded","true"),ie=new AbortController;const{signal:O}=ie;oe.addEventListener("click",D,{signal:O}),oe.addEventListener("keydown",C,{capture:!0,signal:O})};k.addEventListener("click",O=>{O.stopPropagation(),y.classList.contains("gengage-chat-product-sort-dropdown--open")?A():M()});for(const O of _){const U=document.createElement("button");U.type="button",U.className="gengage-chat-product-sort-option gds-menu-option",U.setAttribute("role","option");const R=fr(v,O.sortState);U.setAttribute("aria-selected",R?"true":"false"),R&&U.classList.add("gengage-chat-product-sort-option--active","gds-menu-option-active");const ne=O.sortState.type==="related"?"related":`price-${O.sortState.direction??""}`;U.dataset.sortKey=ne;const ae=document.createElement("span");ae.className="gengage-chat-product-sort-option-icon",ae.innerHTML=mr(O.icon);const V=document.createElement("span");V.className="gengage-chat-product-sort-option-label",V.textContent=O.label;const x=document.createElement("span");x.className="gengage-chat-product-sort-option-check",x.innerHTML=gd(),x.setAttribute("aria-hidden","true"),R||x.classList.add("gengage-chat-product-sort-option-check--hidden"),U.appendChild(ae),U.appendChild(V),U.appendChild(x),U.addEventListener("click",()=>{v=O.sortState,n.onSortChange?.(O.sortState),pd(c,s,e,O.sortState),K.querySelectorAll(".gengage-chat-product-sort-option").forEach(N=>{const I=N,B=I.dataset.sortKey===ne;I.classList.toggle("gengage-chat-product-sort-option--active",B),I.classList.toggle("gds-menu-option-active",B),I.setAttribute("aria-selected",B?"true":"false"),I.querySelector(".gengage-chat-product-sort-option-check")?.classList.toggle("gengage-chat-product-sort-option-check--hidden",!B)}),z(O.sortState),A()}),K.appendChild(U)}if(y.appendChild(k),y.appendChild(K),g.appendChild(y),b(g),h){g.classList.add("gengage-chat-product-sort-toolbar--inline");const O=document.createElement("div");O.className="gengage-chat-product-grid-head";const U=document.createElement("span");U.className="gengage-chat-product-grid-head-title",U.textContent=h,O.appendChild(U);const R=document.createElement("div");R.className="gengage-chat-product-grid-head-actions",R.appendChild(g),O.appendChild(R),i.appendChild(O)}else i.appendChild(g)}else if(h){const g=document.createElement("div");g.className="gengage-chat-product-grid-head";const v=document.createElement("span");v.className="gengage-chat-product-grid-head-title",v.textContent=h,g.appendChild(v),i.appendChild(g)}if(p&&!o){if(i.classList.add("gengage-chat-product-grid-wrapper--grouped"),n?.onToggleComparisonSku){const y=document.createElement("div");y.className="gengage-chat-product-sort-toolbar gengage-chat-product-sort-toolbar--compare-only",y.setAttribute("role","toolbar"),y.setAttribute("aria-label",n.i18n?.compareSelected??"Compare"),b(y),i.appendChild(y)}const g=document.createElement("div");g.className="gengage-chat-product-grid-sections",g.setAttribute("role","list");const v=t.props?.rankingState;let _=0;for(const y of l){_+=y.children.length;const k=ud(y.children.length,n),T=document.createElement("section");T.className="gengage-chat-product-grid-section",T.setAttribute("role","listitem");const w=document.createElement("div");if(w.className="gengage-chat-product-grid-section-head",y.title){const $=document.createElement("h3");$.className="gengage-chat-product-grid-section-title",$.textContent=y.title,w.appendChild($)}const E=document.createElement("span");E.className="gengage-chat-product-grid-section-count",E.textContent=k,w.appendChild(E),T.appendChild(w);const z=document.createElement("div");z.className="gengage-chat-product-grid gengage-chat-product-grid--section";for(const $ of y.children){const K=a($);K&&(K.dataset.elementId=$,z.appendChild(K))}(n?.isMobile??jt())&&z.classList.add("gengage-chat-product-grid--mobile"),v==="pending"&&(z.classList.add("gengage-chat-product-grid--pending"),z.inert=!0,z.setAttribute("aria-busy","true")),T.appendChild(z),g.appendChild(T)}return i.appendChild(g),m(i,_),u(),i}if(o)kd(i,c,r,n);else{const g=br(s,e,n?.productSort);for(const v of g){if(!e.elements[v])continue;const _=a(v);_&&(_.dataset.elementId=v,c.appendChild(_))}}return(n?.isMobile??jt())&&c.classList.add("gengage-chat-product-grid--mobile"),t.props?.rankingState==="pending"&&(c.classList.add("gengage-chat-product-grid--pending"),c.inert=!0,c.setAttribute("aria-busy","true")),i.appendChild(c),m(i),u(),i}function ud(t,e){return(e?.i18n?.productGridSectionCountLabel??"{count} product(s)").replace(/\{count\}/g,String(t))}function md(t,e,a){const n=i=>{const r=i?.url;return typeof r=="string"?r.trim():""};if(e.sku===t){const i=n(e);if(i.length>0)return i}return n(a.find(i=>i.sku===t))}function fd(t,e){const a=t.props??{},n=a.keyDifferencesHtml,i=a.recommended,r=a.products??[],o=a.attributes??[],s=a.highlights??[],c=a.specialCases,l=a.recommendedText,p=a.winnerHits,d=a.productActions;if(!i)return document.createElement("div");const h={recommended:i,products:r,attributes:o,highlights:s,specialCases:c,locale:e.locale,onProductClick:({sku:b,name:m})=>{const u=md(b,i,r);e.onProductClick?.({sku:b,url:u,...m!==void 0&&m!==""?{name:m}:{}})},pricing:e.pricing};l!==void 0&&(h.recommendedText=l),p!==void 0&&(h.winnerHits=p),d!==void 0&&(h.productActions=d),n!==void 0&&(h.keyDifferencesHtml=n),e.i18n&&(h.i18n={comparisonHeading:e.i18n.panelTitleComparisonResults,recommendedChoiceLabel:e.i18n.recommendedChoiceLabel,highlightsLabel:e.i18n.highlightsLabel,keyDifferencesLabel:e.i18n.keyDifferencesLabel,viewMoreLabel:e.i18n.viewMoreLabel,specialCasesLabel:e.i18n.specialCasesLabel,addToCartButton:e.i18n.addToCartButton});const f=Xl(h);return(e.isMobile??jt())&&f.classList.add("gengage-chat-comparison--mobile"),f}function bd(t){const e=document.createElement("hr");e.className="gengage-chat-divider";const a=t.props?.label;if(a){const n=document.createElement("div");n.className="gengage-chat-divider-wrapper";const i=document.createElement("span");i.className="gengage-chat-divider-label",i.textContent=a,n.appendChild(e),n.appendChild(i);const r=document.createElement("hr");return r.className="gengage-chat-divider",n.appendChild(r),n}return e}var Ga,Wt,Wa,vr,yr,xr,_r,wr,kr=L((()=>{nt(),ct(),tg(),lg(),vg(),xg(),kg(),Sg(),er(),Tg(),Bg(),zg(),ir(),Ug(),Og(),Pr(),de(),je(),ja(),Ga={ActionButtons:({element:t,context:e})=>qg(t,e),ActionButton:({element:t,context:e})=>jg(t,e),ProductCard:({element:t,context:e})=>$a(t,e),ProductDetailsPanel:({element:t,context:e})=>rd(t,e),ProductGrid:({element:t,spec:e,renderElement:a,context:n})=>hd(t,e,a,n),ReviewHighlights:({element:t,context:e})=>e.hideUserReviews===!0?null:cg(t,{emptyReviewsMessage:e.i18n?.emptyReviewsMessage,reviewFilterPositive:e.i18n?.reviewFilterPositive,reviewFilterNegative:e.i18n?.reviewFilterNegative,reviewCustomersMentionSingular:e.i18n?.reviewCustomersMentionSingular,reviewCustomersMentionPlural:e.i18n?.reviewCustomersMentionPlural,reviewSubjectsHeading:e.i18n?.reviewSubjectsHeading}),ComparisonTable:({element:t,context:e})=>fd(t,e),AITopPicks:({element:t,context:e})=>fg(t,e),GroundingReviewCard:({element:t,context:e})=>e.hideUserReviews===!0?null:yg(t,e),AIGroupingCards:({element:t,context:e})=>wg(t,e),AISuggestedSearchCards:({element:t,context:e})=>Cg(t,e),ProsAndCons:({element:t})=>Eg(t),CategoriesContainer:({element:t,context:e})=>Ng(t,e),HandoffNotice:({element:t,context:e})=>Rg(t,e),PanelRestoreCard:({element:t,context:e})=>Fg(t,e),ProductSummaryCard:({element:t,context:e})=>Dg(t,e),Divider:({element:t})=>bd(t),...rr},Wt=({element:t,renderElement:e})=>{if(!t.children||t.children.length===0)return null;const a=document.createElement("div");for(const n of t.children){const i=e(n);i&&a.appendChild(i)}return a},Wa=new Set(["color","colour","renk","renk kodu","color code"]),vr=new Set(["size","beden","boyut"]),yr=new Set(["finish","bitiş","bitişi"]),xr=["variants","variantOptions","variant_options","productVariants","product_variants","options"],_r=new Set(["H2","H3","H4","P","BR","UL","OL","LI","STRONG","B","EM","I"]),wr=new Set(["SCRIPT","STYLE","NOSCRIPT","IFRAME","OBJECT","EMBED"])}));function Cr(t){return{...Qe,...t?.i18n??{}}}function Sr(t){return t.watchStylesPreparedTitle??t.beautyStylesPreparedTitle}function Kt(t){return typeof t.status=="string"?t.status:"ready"}function Ka(t){const e=t.findIndex(a=>Kt(a)!=="loading");return e<0?0:e}function vd(t){if(typeof t!="string")return;const e=t.trim();if(!e)return;if(/^https?:\/\//i.test(e))return e;let a=e.split(/[?#]/)[0];if(a&&(a=a.replace(/^\/+/,""),a.startsWith("remoteConfig/")&&(a=a.slice(13)),!!a))return`https://configs.gengage.ai/assets/${a}`}function Er(t,e,a,n){const{grid:i,i18n:r}=t;i.innerHTML="",i.classList.remove("gengage-chat-product-grid--consulting-groups");const o=document.createElement("section");o.className="gengage-chat-consulting-loading-panel";const s=document.createElement("h4");s.className="gengage-chat-consulting-loading-panel-title",s.textContent=Yt(e,n,r),o.appendChild(s);const c=document.createElement("p");if(c.className="gengage-chat-consulting-loading-panel-copy",c.textContent=a==="loading"?r.consultingStyleLoadingDescription:r.consultingStyleUnavailableDescription,o.appendChild(c),a==="loading"){const l=document.createElement("div");l.className="gengage-chat-consulting-loading-grid";for(let p=0;p<3;p+=1){const d=document.createElement("div");d.className="gengage-chat-consulting-loading-card",l.appendChild(d)}o.appendChild(l)}i.appendChild(o)}function Yt(t,e,a){const n=i=>a.consultingFallbackStyleLabel.replace("{index}",String(i));return t.style_label??n(e)}function Ya(t,e){const a=t.variations[e];if(!a)return;const{grid:n,ctx:i,i18n:r}=t;n.innerHTML="",n.classList.remove("gengage-chat-product-grid--consulting-groups");const o=Kt(a),s=e+1;if(o==="loading"){Er(t,a,"loading",s);return}if(o!=="ready"&&(!Array.isArray(a.product_list)||a.product_list.length===0)){Er(t,a,"unavailable",s);return}const c=Array.isArray(a.product_list)?a.product_list:[],l=Array.isArray(a.recommendation_groups)?a.recommendation_groups:[];if(l.length>0){n.classList.add("gengage-chat-product-grid--consulting-groups");const p=new Map;for(const u of c){const g=typeof u?.sku=="string"?u.sku:void 0;g&&p.set(g,u)}const d=(u,g,v,_)=>{if(g.length===0)return;const y=document.createElement("section");y.className="gengage-chat-consulting-group";const k=document.createElement("div");k.className="gengage-chat-consulting-group-header";const T=document.createElement("h4");if(T.className="gengage-chat-consulting-group-label",T.textContent=`${u} (${g.length})`,k.appendChild(T),typeof _=="string"&&_.trim().length>0){const E=document.createElement("p");E.className="gengage-chat-consulting-group-reason",E.textContent=_,k.appendChild(E)}y.appendChild(k);const w=document.createElement("div");w.className="gengage-chat-product-grid gengage-chat-consulting-group-grid",v&&w.classList.add("gengage-chat-consulting-group-grid--single-group"),w.style.setProperty("--consulting-group-columns",String(Math.max(1,Math.min(4,g.length))));for(const E of g){const z=$a({type:"ProductCard",props:{product:E}},i??{onAction:()=>{}});w.appendChild(z)}y.appendChild(w),n.appendChild(y)},h=new Set,f=[];for(const u of l){const g=(Array.isArray(u.skus)?u.skus.filter(y=>typeof y=="string"&&y.trim().length>0):[]).map(y=>(h.add(y),p.get(y))).filter(y=>!!y);if(g.length===0)continue;const v=typeof u.label=="string"&&u.label.trim().length>0?u.label:r.consultingFallbackGroupLabel,_=typeof u.reason=="string"?u.reason:void 0;f.push({labelText:v,products:g,..._!==void 0?{reasonText:_}:{}})}const b=c.filter(u=>{const g=typeof u?.sku=="string"?u.sku:"";return g.length>0&&!h.has(g)});b.length>0&&f.push({labelText:r.consultingOtherCompatibleProductsLabel,products:b});const m=f.length===1;for(const u of f)d(u.labelText,u.products,m,u.reasonText);return}for(const p of c){const d=$a({type:"ProductCard",props:{product:p}},i??{onAction:()=>{}});n.appendChild(d)}}function Qa(t,e,a,n){const i=Kt(e),r=n.consultingStyleLoadingBadge,o=n.consultingStyleUnavailableBadge;t.classList.remove("gengage-chat-consulting-style-btn--loading","gengage-chat-consulting-style-btn--muted"),i==="loading"?t.classList.add("gengage-chat-consulting-style-btn--loading"):i!=="ready"&&t.classList.add("gengage-chat-consulting-style-btn--muted"),t.setAttribute("aria-label",Yt(e,a+1,n));let s=t.querySelector(".gengage-chat-consulting-style-media");s?s.innerHTML="":(s=document.createElement("div"),s.className="gengage-chat-consulting-style-media",t.appendChild(s));const c=vd(e.image_url);if(c&&he(c)){const p=document.createElement("img");p.className="gengage-chat-consulting-style-image",p.draggable=!1,ue(p,"src",c),p.alt=Yt(e,a+1,n),p.loading="lazy",Ce(p),s.appendChild(p)}const l=document.createElement("span");if(l.className="gengage-chat-consulting-style-caption",l.textContent=Yt(e,a+1,n),s.appendChild(l),i==="loading"||i!=="ready"){const p=document.createElement("span");p.className="gengage-chat-consulting-style-status",p.textContent=i==="loading"?r:o,s.appendChild(p)}}function Tr(t,e,a,n){t.addEventListener("click",()=>{const i=xt.get(e);i&&i.selectedIndex!==n&&(i.selectedIndex=n,a.querySelectorAll(".gengage-chat-consulting-style-btn").forEach((r,o)=>{r.classList.toggle("gengage-chat-consulting-style-btn--active",o===n)}),Ya(i,n))})}function yd(t,e,a,n){const i=Cr(n),r=Ka(a),o=document.createElement("div");o.className="gengage-chat-consulting-style-picker";const s={grid:e,ctx:n,variations:a,i18n:i,selectedIndex:r};xt.set(o,s);const c=document.createElement("div");c.className="gengage-chat-consulting-style-picker-title",c.textContent=Sr(i).replace("{count}",String(a.length)),o.appendChild(c);const l=document.createElement("div");l.className="gengage-chat-consulting-style-grid",o.appendChild(l),a.forEach((p,d)=>{const h=document.createElement("button");h.type="button",h.className="gengage-chat-consulting-style-btn gds-card",d===r&&h.classList.add("gengage-chat-consulting-style-btn--active"),Qa(h,p,d,i),Tr(h,o,l,d),l.appendChild(h)}),t.appendChild(o),Ya(s,r)}function xd(t,e,a){const n=t.querySelector(".gengage-chat-consulting-style-picker"),i=_d(t);if(!n||!i)return!1;const r=n.querySelector(".gengage-chat-consulting-style-grid");if(!r)return!1;const o=Cr(a);let s=xt.get(n);if(s)s.grid=i,s.ctx=a,s.variations=e,s.i18n=o;else{const h={grid:i,ctx:a,variations:e,i18n:o,selectedIndex:Ka(e)};xt.set(n,h),s=h}const c=n.querySelector(".gengage-chat-consulting-style-picker-title");c&&(c.textContent=Sr(o).replace("{count}",String(e.length)));const l=s;let p=l.selectedIndex;p>=e.length&&(p=Math.max(0,e.length-1)),p<0&&(p=0),e.length>0&&Kt(e[p]??{})==="loading"&&(p=Ka(e)),l.selectedIndex=p;const d=[...r.querySelectorAll(".gengage-chat-consulting-style-btn")];if(d.length===0)return!1;for(let h=0;h<e.length;h+=1){const f=e[h];let b=d[h];b?Qa(b,f,h,o):(b=document.createElement("button"),b.type="button",b.className="gengage-chat-consulting-style-btn gds-card",Qa(b,f,h,o),Tr(b,n,r,h),r.appendChild(b),d[h]=b)}for(;r.querySelectorAll(".gengage-chat-consulting-style-btn").length>e.length;)r.lastElementChild?.remove();return r.querySelectorAll(".gengage-chat-consulting-style-btn").forEach((h,f)=>{h.classList.toggle("gengage-chat-consulting-style-btn--active",f===l.selectedIndex)}),Ya(l,l.selectedIndex),!0}function _d(t){const e=[...t.children];for(let a=e.length-1;a>=0;a-=1){const n=e[a];if(n.classList.contains("gengage-chat-product-grid"))return n}return t.querySelector(":scope > .gengage-chat-product-grid")}var xt,wd=L((()=>{de(),je(),bt(),kr(),xt=new WeakMap}));function Za(t){const e=typeof t.props?.source=="string"?t.props.source:void 0,a=(Array.isArray(t.props?.styleVariations)?t.props.styleVariations:[]).filter(n=>typeof n.style_label=="string"&&n.style_label.trim().length>0);return{isConsulting:ri(e)&&a.length>0,source:e,styleVariations:a}}function kd(t,e,a,n){yd(t,e,a.styleVariations,n)}function Cd(t){return!t.isConsulting||t.styleVariations.length===0?!0:t.styleVariations.some(e=>(typeof e.status=="string"?e.status:"ready")!=="loading")}function Sd(t,e,a){return!e.isConsulting||!e.source?!1:xd(t,e.styleVariations,a)}var Pr=L((()=>{wd(),oi()}));function Ed(t){const e=document.createElement("div");e.className="gengage-chat-launcher-container",e.dataset.gengagePart="chat-launcher-container";const a=document.createElement("div");a.className="gengage-chat-launcher-content-area",a.dataset.gengagePart="chat-launcher-content-primary",e.appendChild(a);const n=document.createElement("button");if(n.type="button",n.setAttribute("aria-label",t.ariaLabel??"Open chat"),t.imageUrl){n.className="gengage-chat-launcher gengage-chat-launcher--image-mode";const r=document.createElement("img");if(r.src=t.imageUrl,r.alt="",r.draggable=!1,t.mobileImageUrl){r.className="gengage-chat-launcher-img--desktop";const o=document.createElement("img");o.src=t.mobileImageUrl,o.alt="",o.draggable=!1,o.className="gengage-chat-launcher-img--mobile",n.appendChild(r),n.appendChild(o)}else n.appendChild(r)}else n.className="gengage-chat-launcher",n.innerHTML=t.svgMarkup??Ar;if(n.dataset.gengagePart="chat-launcher-button",t.tooltip!==void 0){const r=document.createElement("span");r.className="gengage-chat-launcher-tooltip",r.dataset.gengagePart="chat-launcher-tooltip",r.textContent=t.tooltip,n.appendChild(r)}t.hideMobile&&(e.dataset.hideMobile="1"),t.mobileBreakpoint!==void 0&&(e.dataset.mobileBreakpoint=String(t.mobileBreakpoint)),n.addEventListener("click",t.onClick),e.appendChild(n);const i=document.createElement("div");return i.className="gengage-chat-launcher-content-area-bottom",i.dataset.gengagePart="chat-launcher-content-secondary",e.appendChild(i),{container:e,button:n,contentArea:a,contentAreaBottom:i}}var Ar,Td=L((()=>{Ar=`<svg width="28" height="28" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
50
50
  <rect x="3" y="7" width="18" height="13" rx="3" fill="currentColor" opacity="0.15"/>
51
51
  <rect x="3" y="7" width="18" height="13" rx="3" stroke="currentColor" stroke-width="1.5"/>
52
52
  <circle cx="9" cy="13" r="1.5" fill="currentColor"/>
@@ -56,7 +56,7 @@
56
56
  <circle cx="12" cy="3" r="1" fill="currentColor"/>
57
57
  <path d="M1 12V14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
58
58
  <path d="M23 12V14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
59
- </svg>`}));function Td(t){return`
59
+ </svg>`}));function Pd(t){return`
60
60
  @property --gengage-fl-ring-angle {
61
61
  syntax: '<angle>';
62
62
  initial-value: 0deg;
@@ -339,7 +339,7 @@
339
339
  <line x1="6" y1="6" x2="18" y2="18"/>
340
340
  </svg>
341
341
  </button>
342
- </div>`.trim()}function Ld(t,e,a){const{primaryColor:n="#6366f1",backgroundColor:i="#ffffff",textColor:r="#111827",placeholderColor:o="#9ca3af",iconColor:s="#6b7280",borderColor:c="#e5e7eb",borderRadius:l="999px",height:p="56px",maxWidth:d="680px",fontFamily:h="inherit",placeholders:f=["Ürün ara","Karşılaştır","Soru sor"],placeholderInterval:b=2e3,voiceLang:m="tr-TR",showBorderAnimation:u=!0,sendAriaLabel:g="Gönder",micAriaLabel:v="Sesli giriş",cancelAriaLabel:_="Ses kaydını durdur",openChatAriaLabel:y="Chat'i aç"}=t;if(!a.getElementById(Xa)){const F=document.createElement("style");F.id=Xa,F.textContent=Td({primaryColor:n,backgroundColor:i,textColor:r,placeholderColor:o,iconColor:s,borderColor:c,borderRadius:l,height:p,maxWidth:d,fontFamily:h}),a.appendChild(F)}const k=document.createElement("div");k.className="gengage-fl",k.dataset.gengagePart="floating-launcher",k.innerHTML=Ad();const P=k.querySelector(".gengage-fl-input"),w=k.querySelector(".gengage-fl-transcript"),E=k.querySelector(".gengage-fl-transcript-final"),z=k.querySelector(".gengage-fl-transcript-interim"),V=k.querySelector(".gengage-fl-btn-send"),W=k.querySelector(".gengage-fl-btn-mic"),oe=k.querySelector(".gengage-fl-btn-open-chat"),ie=k.querySelector(".gengage-fl-cancel"),A=k.querySelector(".gengage-fl-wave"),D=k.querySelector(".gengage-fl-ring");P.placeholder=f[0]??"",V.setAttribute("aria-label",g),W.setAttribute("aria-label",v),ie.setAttribute("aria-label",_),oe.setAttribute("aria-label",y);let C=!1,M=!1,O="",U=!1,R=null,ne=0,ae=null,G=null,x=null,N=null,I=null,B=0;function q(){const F=P.value.trim().length>0;if(W.classList.toggle("is-recording",C),C){V.style.display="flex",W.style.display="flex",ie.style.display="flex",oe.style.display="none";return}V.style.display=F?"flex":"none",W.style.display=F?"none":"flex",ie.style.display="none",oe.style.display=!F&&U?"flex":"none"}function j(){ne=(ne+1)%f.length,P.placeholder=f[ne]??"",ae=setTimeout(j,b)}function $(){ae!==null||f.length<=1||(ae=setTimeout(j,b))}function J(){ae!==null&&(clearTimeout(ae),ae=null)}function Y(){C&&(C=!1,me(),M=!1,H(),u&&re(),O="",P.style.display="",w.style.display="none",E.textContent="",z.textContent="");const F=P.value.trim();F&&(e.onSend(F),U||(U=!0)),P.value="",O="",q()}function se(){const F=window,K=F.SpeechRecognition??F.webkitSpeechRecognition;if(!K){console.warn("[FloatingLauncher] SpeechRecognition not supported.");return}R||(R=new K,R.continuous=!0,R.interimResults=!0,R.lang=m),C=!0,M=!0,O="",P.value="",P.style.display="none",w.style.display="flex",E.textContent="",z.textContent="",q(),T(),u&&Z(),R.onresult=Q=>{if(!C)return;let X="",be="";for(let We=Q.resultIndex;We<Q.results.length;We++){const Xe=Q.results[We];if(!Xe)continue;const Ct=Xe[0]?.transcript??"";Xe.isFinal?be+=Ct:X+=Ct}O+=be,E.textContent=O,z.textContent=X,P.value=`${O} ${X}`.trim(),q()},R.onend=()=>S(),R.onerror=()=>S();try{R.start()}catch{S()}}function me(){try{R?.stop()}catch{}}function S(){M&&(M=!1,C=!1,H(),u&&re(),O.trim()&&(P.value=O.trim()),P.style.display="",w.style.display="none",E.textContent="",z.textContent="",q())}async function T(){const F=++B,K=Array.from(A.querySelectorAll("span"));try{const Q=await navigator.mediaDevices.getUserMedia({audio:!0});if(!C||F!==B){Q.getTracks().forEach(Je=>Je.stop());return}G=Q;const X=window,be=X.AudioContext??X.webkitAudioContext;if(!be)throw G=null,Q.getTracks().forEach(Je=>Je.stop()),new Error("AudioContext not supported");const We=new be;if(!C||F!==B){Q.getTracks().forEach(Je=>Je.stop()),We.close().catch(()=>{});return}x=We,N=We.createAnalyser(),N.fftSize=256,We.createMediaStreamSource(Q).connect(N);const Xe=new Uint8Array(N.frequencyBinCount),Ct=()=>{if(!C||F!==B||!N)return;N.getByteFrequencyData(Xe);const Je=Math.max(1,Math.floor(Xe.length/K.length));K.forEach((Uh,Oh)=>{Uh.style.height=`${4+Math.round((Xe[Oh*Je]??0)/255*8)}px`}),I=requestAnimationFrame(Ct)};Ct()}catch{if(!C||F!==B)return;I!==null&&(cancelAnimationFrame(I),I=null),N&&(N.disconnect(),N=null),x&&(x.close().catch(()=>{}),x=null),G&&(G.getTracks().forEach(Q=>Q.stop()),G=null),A.classList.add("is-css-animated")}}function H(){B+=1,A.classList.remove("is-css-animated"),I!==null&&(cancelAnimationFrame(I),I=null),N&&(N.disconnect(),N=null),x&&(x.close().catch(()=>{}),x=null),G&&(G.getTracks().forEach(F=>F.stop()),G=null),Array.from(A.querySelectorAll("span")).forEach(F=>{F.style.height="4px"})}function Z(){D.classList.add("is-active")}function re(){D.classList.remove("is-active")}V.addEventListener("click",Y),W.addEventListener("click",F=>{F.preventDefault(),F.stopPropagation(),C?me():se()}),ie.addEventListener("click",()=>{C&&(C=!1,me(),M=!1,H(),u&&re(),O="",P.style.display="",w.style.display="none",E.textContent="",z.textContent="",q())}),oe.addEventListener("click",F=>{F.preventDefault(),F.stopPropagation(),e.onOpenChat()}),P.addEventListener("input",q),P.addEventListener("keydown",F=>{F.key==="Enter"&&Y()}),q(),$();function ce(){U=!0,q()}function fe(){J(),H(),re(),C&&(C=!1,me()),R&&(R.onresult=null,R.onend=null,R.onerror=null,R=null)}return{container:k,showOpenChatButton:ce,destroy:fe}}var Xa,Id=L((()=>{Xa="gengage-floating-launcher-style"}));function Nd(t){const e=t?.mobile;return{rowGap:t?.rowGap??le.rowGap,buttonHeight:t?.buttonHeight??le.buttonHeight,buttonPadding:t?.buttonPadding??le.buttonPadding,buttonGap:t?.buttonGap??le.buttonGap,fontSize:t?.fontSize??le.fontSize,iconSize:t?.iconSize??le.iconSize,iconImageSize:t?.iconImageSize??le.iconImageSize,sparkSize:t?.sparkSize??le.sparkSize,sparkIconSize:t?.sparkIconSize??le.sparkIconSize,mobile:{rowGap:e?.rowGap??le.mobile.rowGap,buttonPadding:e?.buttonPadding??le.mobile.buttonPadding,buttonGap:e?.buttonGap??le.mobile.buttonGap,fontSize:e?.fontSize??le.mobile.fontSize,iconSize:e?.iconSize??le.mobile.iconSize,iconImageSize:e?.iconImageSize??le.mobile.iconImageSize,sparkSize:e?.sparkSize??le.mobile.sparkSize,sparkIconSize:e?.sparkIconSize??le.mobile.sparkIconSize,hideTitle:e?.hideTitle??le.mobile.hideTitle,hideSpark:e?.hideSpark??le.mobile.hideSpark,hideLogo:e?.hideLogo??le.mobile.hideLogo}}}function Md(t){const e=`.${t.rowClassName}`,a=`#${CSS.escape(t.buttonId)}`,n=`.${_e}-icon`,i=`.${_e}-copy`,r=`.${_e}-title`,o=`.${_e}-spark`,s=`@media (max-width: ${t.compactBelowWidth-.02}px)`,{sizes:c}=t,l=c.mobile.hideTitle?"display:none;":"display:flex;flex:0 1 auto;min-width:0;",p=c.mobile.hideSpark?"display:none;":"display:inline-flex;",d=c.mobile.hideLogo?"display:none !important;width:0 !important;height:0 !important;flex:0 0 0 !important;overflow:hidden !important;":"display:inline-flex;";return`
342
+ </div>`.trim()}function Ld(t,e,a){const{primaryColor:n="#6366f1",backgroundColor:i="#ffffff",textColor:r="#111827",placeholderColor:o="#9ca3af",iconColor:s="#6b7280",borderColor:c="#e5e7eb",borderRadius:l="999px",height:p="56px",maxWidth:d="680px",fontFamily:h="inherit",placeholders:f=["Ürün ara","Karşılaştır","Soru sor"],placeholderInterval:b=2e3,voiceLang:m="tr-TR",showBorderAnimation:u=!0,sendAriaLabel:g="Gönder",micAriaLabel:v="Sesli giriş",cancelAriaLabel:_="Ses kaydını durdur",openChatAriaLabel:y="Chat'i aç"}=t;if(!a.getElementById(Xa)){const F=document.createElement("style");F.id=Xa,F.textContent=Pd({primaryColor:n,backgroundColor:i,textColor:r,placeholderColor:o,iconColor:s,borderColor:c,borderRadius:l,height:p,maxWidth:d,fontFamily:h}),a.appendChild(F)}const k=document.createElement("div");k.className="gengage-fl",k.dataset.gengagePart="floating-launcher",k.innerHTML=Ad();const T=k.querySelector(".gengage-fl-input"),w=k.querySelector(".gengage-fl-transcript"),E=k.querySelector(".gengage-fl-transcript-final"),z=k.querySelector(".gengage-fl-transcript-interim"),$=k.querySelector(".gengage-fl-btn-send"),K=k.querySelector(".gengage-fl-btn-mic"),oe=k.querySelector(".gengage-fl-btn-open-chat"),ie=k.querySelector(".gengage-fl-cancel"),A=k.querySelector(".gengage-fl-wave"),D=k.querySelector(".gengage-fl-ring");T.placeholder=f[0]??"",$.setAttribute("aria-label",g),K.setAttribute("aria-label",v),ie.setAttribute("aria-label",_),oe.setAttribute("aria-label",y);let C=!1,M=!1,O="",U=!1,R=null,ne=0,ae=null,V=null,x=null,N=null,I=null,B=0;function q(){const F=T.value.trim().length>0;if(K.classList.toggle("is-recording",C),C){$.style.display="flex",K.style.display="flex",ie.style.display="flex",oe.style.display="none";return}$.style.display=F?"flex":"none",K.style.display=F?"none":"flex",ie.style.display="none",oe.style.display=!F&&U?"flex":"none"}function j(){ne=(ne+1)%f.length,T.placeholder=f[ne]??"",ae=setTimeout(j,b)}function W(){ae!==null||f.length<=1||(ae=setTimeout(j,b))}function X(){ae!==null&&(clearTimeout(ae),ae=null)}function G(){C&&(C=!1,ge(),M=!1,H(),u&&re(),O="",T.style.display="",w.style.display="none",E.textContent="",z.textContent="");const F=T.value.trim();F&&(e.onSend(F),U||(U=!0)),T.value="",O="",q()}function se(){const F=window,Y=F.SpeechRecognition??F.webkitSpeechRecognition;if(!Y){console.warn("[FloatingLauncher] SpeechRecognition not supported.");return}R||(R=new Y,R.continuous=!0,R.interimResults=!0,R.lang=m),C=!0,M=!0,O="",T.value="",T.style.display="none",w.style.display="flex",E.textContent="",z.textContent="",q(),P(),u&&Z(),R.onresult=Q=>{if(!C)return;let J="",be="";for(let We=Q.resultIndex;We<Q.results.length;We++){const Xe=Q.results[We];if(!Xe)continue;const Ct=Xe[0]?.transcript??"";Xe.isFinal?be+=Ct:J+=Ct}O+=be,E.textContent=O,z.textContent=J,T.value=`${O} ${J}`.trim(),q()},R.onend=()=>S(),R.onerror=()=>S();try{R.start()}catch{S()}}function ge(){try{R?.stop()}catch{}}function S(){M&&(M=!1,C=!1,H(),u&&re(),O.trim()&&(T.value=O.trim()),T.style.display="",w.style.display="none",E.textContent="",z.textContent="",q())}async function P(){const F=++B,Y=Array.from(A.querySelectorAll("span"));try{const Q=await navigator.mediaDevices.getUserMedia({audio:!0});if(!C||F!==B){Q.getTracks().forEach(Je=>Je.stop());return}V=Q;const J=window,be=J.AudioContext??J.webkitAudioContext;if(!be)throw V=null,Q.getTracks().forEach(Je=>Je.stop()),new Error("AudioContext not supported");const We=new be;if(!C||F!==B){Q.getTracks().forEach(Je=>Je.stop()),We.close().catch(()=>{});return}x=We,N=We.createAnalyser(),N.fftSize=256,We.createMediaStreamSource(Q).connect(N);const Xe=new Uint8Array(N.frequencyBinCount),Ct=()=>{if(!C||F!==B||!N)return;N.getByteFrequencyData(Xe);const Je=Math.max(1,Math.floor(Xe.length/Y.length));Y.forEach((Uh,Oh)=>{Uh.style.height=`${4+Math.round((Xe[Oh*Je]??0)/255*8)}px`}),I=requestAnimationFrame(Ct)};Ct()}catch{if(!C||F!==B)return;I!==null&&(cancelAnimationFrame(I),I=null),N&&(N.disconnect(),N=null),x&&(x.close().catch(()=>{}),x=null),V&&(V.getTracks().forEach(Q=>Q.stop()),V=null),A.classList.add("is-css-animated")}}function H(){B+=1,A.classList.remove("is-css-animated"),I!==null&&(cancelAnimationFrame(I),I=null),N&&(N.disconnect(),N=null),x&&(x.close().catch(()=>{}),x=null),V&&(V.getTracks().forEach(F=>F.stop()),V=null),Array.from(A.querySelectorAll("span")).forEach(F=>{F.style.height="4px"})}function Z(){D.classList.add("is-active")}function re(){D.classList.remove("is-active")}$.addEventListener("click",G),K.addEventListener("click",F=>{F.preventDefault(),F.stopPropagation(),C?ge():se()}),ie.addEventListener("click",()=>{C&&(C=!1,ge(),M=!1,H(),u&&re(),O="",T.style.display="",w.style.display="none",E.textContent="",z.textContent="",q())}),oe.addEventListener("click",F=>{F.preventDefault(),F.stopPropagation(),e.onOpenChat()}),T.addEventListener("input",q),T.addEventListener("keydown",F=>{F.key==="Enter"&&G()}),q(),W();function ce(){U=!0,q()}function fe(){X(),H(),re(),C&&(C=!1,ge()),R&&(R.onresult=null,R.onend=null,R.onerror=null,R=null)}return{container:k,showOpenChatButton:ce,destroy:fe}}var Xa,Id=L((()=>{Xa="gengage-floating-launcher-style"}));function Nd(t){const e=t?.mobile;return{rowGap:t?.rowGap??le.rowGap,buttonHeight:t?.buttonHeight??le.buttonHeight,buttonPadding:t?.buttonPadding??le.buttonPadding,buttonGap:t?.buttonGap??le.buttonGap,fontSize:t?.fontSize??le.fontSize,iconSize:t?.iconSize??le.iconSize,iconImageSize:t?.iconImageSize??le.iconImageSize,sparkSize:t?.sparkSize??le.sparkSize,sparkIconSize:t?.sparkIconSize??le.sparkIconSize,mobile:{rowGap:e?.rowGap??le.mobile.rowGap,buttonPadding:e?.buttonPadding??le.mobile.buttonPadding,buttonGap:e?.buttonGap??le.mobile.buttonGap,fontSize:e?.fontSize??le.mobile.fontSize,iconSize:e?.iconSize??le.mobile.iconSize,iconImageSize:e?.iconImageSize??le.mobile.iconImageSize,sparkSize:e?.sparkSize??le.mobile.sparkSize,sparkIconSize:e?.sparkIconSize??le.mobile.sparkIconSize,hideTitle:e?.hideTitle??le.mobile.hideTitle,hideSpark:e?.hideSpark??le.mobile.hideSpark,hideLogo:e?.hideLogo??le.mobile.hideLogo}}}function Md(t){const e=`.${t.rowClassName}`,a=`#${CSS.escape(t.buttonId)}`,n=`.${_e}-icon`,i=`.${_e}-copy`,r=`.${_e}-title`,o=`.${_e}-spark`,s=`@media (max-width: ${t.compactBelowWidth-.02}px)`,{sizes:c}=t,l=c.mobile.hideTitle?"display:none;":"display:flex;flex:0 1 auto;min-width:0;",p=c.mobile.hideSpark?"display:none;":"display:inline-flex;",d=c.mobile.hideLogo?"display:none !important;width:0 !important;height:0 !important;flex:0 0 0 !important;overflow:hidden !important;":"display:inline-flex;";return`
343
343
  ${e}{
344
344
  display:flex;
345
345
  align-items:center;
@@ -464,7 +464,7 @@ ${s}{
464
464
  height:${c.mobile.sparkIconSize};
465
465
  }
466
466
  }
467
- `.trim()}function Bd(t){return new Promise(e=>window.setTimeout(e,t))}function Rd(t,e,a){const{hostSelector:n,rowClassName:i="gengage-inline-launcher-row",siblingSelector:r,siblingPlacement:o="before",rowPlacement:s="end",title:c="Ask",iconUrl:l,primaryColor:p="#6366f1",textColor:d="#222222",fontFamily:h="inherit",borderRadius:f="3px",showSparkIcon:b=!0,desktopMinWidth:m=0,enableOnMobile:u=!1,disabledPageTypes:g=["pdp"],hideFloatingLauncher:v=!0,mountPollFrames:_=90,debounceMs:y=90,buttonId:k=Ir}=t,P=t.ariaLabel??c,w=t.siblingRestoreParentSelector??n,E=u&&m>0?m:576,z=Nd(t.size),V=`${Lr}-${k}`;let W=!1,oe=!1,ie=null,A=null,D=null;const C=()=>{if(u&&m>0&&window.innerWidth<m&&t.mobileHost&&t.mobileHost){const T=t.mobileHost;return{hostSelector:T.hostSelector,siblingSelector:T.siblingSelector??r,siblingRestoreParentSelector:T.siblingRestoreParentSelector??T.hostSelector,rowPlacement:T.rowPlacement??s,siblingPlacement:T.siblingPlacement??o}}return{hostSelector:n,siblingSelector:r,siblingRestoreParentSelector:w,rowPlacement:s,siblingPlacement:o}},M=T=>[T.hostSelector,T.siblingSelector??"",T.siblingRestoreParentSelector].join("|"),O=()=>{if(document.getElementById(V))return;const T=document.createElement("style");T.id=V,T.textContent=Md({primaryColor:p,textColor:d,fontFamily:h,borderRadius:f,rowClassName:i,compactBelowWidth:E,buttonId:k,sizes:z}),document.head.appendChild(T)},U=T=>{if(!v||!a.shadowRoot)return;const H=a.shadowRoot.getElementById(Ja);if(!T){H?.remove();return}if(H)return;const Z=document.createElement("style");Z.id=Ja,Z.textContent=".gengage-chat-launcher-container,.gengage-fl{display:none!important;}",a.shadowRoot.appendChild(Z)},R=T=>{const H=document.querySelector(T);return H instanceof HTMLElement?H:null},ne=T=>{if(!T)return null;const H=document.querySelector(T);return H instanceof HTMLElement?H:null},ae=T=>{const H=document.querySelector(T);return H instanceof HTMLElement?H:null},G=T=>{if(T.hasAttribute(Qt))return;const H=T.parentElement;if(!H)return;const Z=Array.from(H.children).indexOf(T);Z>=0&&T.setAttribute(Qt,String(Z))},x=T=>{const H=ne(T.siblingSelector),Z=ae(T.siblingRestoreParentSelector);if(!H||!Z||(G(H),H.parentElement===Z))return;const re=H.getAttribute(Qt),ce=re?Number.parseInt(re,10):0,fe=Array.from(Z.children).filter(K=>!(K instanceof HTMLElement&&K.classList.contains(i))),F=Number.isFinite(ce)&&ce>=0?fe[ce]??null:null;if(F){Z.insertBefore(H,F);return}Z.appendChild(H)},N=T=>{T.querySelector(`.${i}`)?.remove()},I=()=>{const T=document.createElement("span");T.className=`${_e}-icon`;const H=document.createElement("img");return H.src=l,H.alt="",H.draggable=!1,T.appendChild(H),T},B=()=>window.innerWidth<E,q=T=>{if(!l)return;const H=T.querySelector(`.${_e}-icon`);if(B()&&z.mobile.hideLogo){H?.remove();return}H||T.insertBefore(I(),T.firstChild)},j=()=>{const T=document.createElement("button");T.type="button",T.id=k,T.className=_e,T.setAttribute("aria-label",P),l&&T.appendChild(I());const H=document.createElement("span");H.className=`${_e}-copy`;const Z=document.createElement("span");if(Z.className=`${_e}-title`,Z.textContent=c,H.appendChild(Z),T.appendChild(H),b){const re=document.createElement("span");re.className=`${_e}-spark`,re.innerHTML=Nr,T.appendChild(re)}return T.addEventListener("click",()=>e.onClick()),T},$=(T,H,Z)=>{if(G(H),H.setAttribute(en,"true"),o==="before"){(H.parentElement!==T||H.nextElementSibling!==Z)&&T.insertBefore(H,Z);return}(H.parentElement!==T||Z.nextElementSibling!==H)&&T.appendChild(H)},J=()=>{if(D){x(D);const T=R(D.hostSelector);T&&N(T),D=null}U(!1),W=!1},Y=T=>!(T&&g.includes(T)||m>0&&window.innerWidth<m&&!u),se=async T=>{const H=T??a.getPageType();if(!Y(H))return J(),!1;O();const Z=C();D&&M(D)!==M(Z)&&J();for(let re=0;re<_;re+=1){if(!Y(H))return J(),!1;const ce=C(),fe=R(ce.hostSelector),F=ne(ce.siblingSelector);if(fe&&(!ce.siblingSelector||F)){D&&M(D)!==M(ce)&&J(),F&&G(F);let K=fe.querySelector(`.${i}`);K instanceof HTMLElement||(K=document.createElement("div"),K.className=i,ce.rowPlacement==="start"?fe.insertBefore(K,fe.firstChild):fe.appendChild(K));let Q=K.querySelector(`#${CSS.escape(k)}`);return Q instanceof HTMLButtonElement?A=Q:(Q=j(),A=Q,K.appendChild(Q)),F&&$(K,F,Q),q(Q),oe?Q.classList.add(`${_e}--active`):Q.classList.remove(`${_e}--active`),U(!0),W=!0,D=ce,!0}await Bd(16)}return J(),!1},me=()=>{ie!==null&&window.clearTimeout(ie),ie=window.setTimeout(()=>{ie=null,se()},y)},S=()=>me();return window.addEventListener("resize",S,{passive:!0}),window.addEventListener("orientationchange",S),{get isMounted(){return W},sync(T){return se(T)},setActive(T){oe=T,A?.classList.toggle(`${_e}--active`,T)},destroy(){ie!==null&&(window.clearTimeout(ie),ie=null),window.removeEventListener("resize",S),window.removeEventListener("orientationchange",S),J(),document.getElementById(V)?.remove(),A=null}}}var Lr,Ja,_e,Ir,en,Qt,Nr,le,zd=L((()=>{Lr="gengage-inline-launcher-style",Ja="gengage-inline-launcher-hide-floating",_e="gengage-inline-launcher",Ir="gengage-inline-launcher",en="data-gengage-inline-sibling",Qt="data-gengage-inline-sibling-restore-index",Nr='<svg viewBox="0 0 20 20" fill="none" aria-hidden="true"><path d="M8.85 2.4c.23 0 .43.16.48.39l.9 3.77a3.8 3.8 0 0 0 2.8 2.8l3.77.9a.5.5 0 0 1 0 .98l-3.77.9a3.8 3.8 0 0 0-2.8 2.8l-.9 3.77a.5.5 0 0 1-.98 0l-.9-3.77a3.8 3.8 0 0 0-2.8-2.8l-3.77-.9a.5.5 0 0 1 0-.98l3.77-.9a3.8 3.8 0 0 0 2.8-2.8l.9-3.77c.05-.23.25-.39.48-.39Z" fill="currentColor"/><path d="M15.95 1.1c.12 0 .23.08.26.2l.32 1.34c.16.68.7 1.21 1.37 1.37l1.34.32a.27.27 0 0 1 0 .53l-1.34.32a1.87 1.87 0 0 0-1.37 1.37l-.32 1.34a.27.27 0 0 1-.53 0l-.32-1.34A1.87 1.87 0 0 0 14 5.18l-1.34-.32a.27.27 0 0 1 0-.53L14 4a1.87 1.87 0 0 0 1.37-1.37l.32-1.34c.03-.12.14-.2.26-.2Z" fill="currentColor" opacity=".72"/></svg>',le={rowGap:"14px",buttonHeight:"46px",buttonPadding:"0 14px 0 10px",buttonGap:"10px",fontSize:"15px",iconSize:"30px",iconImageSize:"22px",sparkSize:"20px",sparkIconSize:"18px",mobile:{rowGap:"6px",buttonPadding:"0 8px 0 6px",buttonGap:"6px",fontSize:"12px",iconSize:"30px",iconImageSize:"22px",sparkSize:"14px",sparkIconSize:"12px",hideTitle:!1,hideSpark:!0,hideLogo:!1}}}));function tn(t){t.pause(),t.removeAttribute("src"),t.load(),an.delete(t)}function Hd(t,e="audio/ogg"){const a=e.split(";")[0].trim();if(!Mr.has(a))return null;try{const n=new Audio(`data:${e};base64,${t}`);return an.add(n),n.addEventListener("ended",()=>tn(n),{once:!0}),n.play().catch(()=>{tn(n)}),{stop:()=>tn(n)}}catch{return null}}var Mr,an,Fd=L((()=>{Mr=new Set(["audio/ogg","audio/mpeg","audio/mp3","audio/wav","audio/webm","audio/aac","audio/mp4"]),an=new Set}));function Dd(t){const e=[];let a=[];for(const n of t)n.nodeType===Node.ELEMENT_NODE&&Br.has(n.tagName)?(a.length>0&&(e.push(a),a=[]),e.push([n])):a.push(n);return a.length>0&&e.push(a),e}function Ud(t){for(const e of t)for(const a of e)if(a.nodeType===Node.ELEMENT_NODE&&(a.tagName==="TABLE"||a.querySelector?.("table")))return!0;return!1}function Od(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function qd(t){const{container:e,html:a,delayMs:n=30,onTick:i,onComplete:r}=t,o=document.createElement("template");o.innerHTML=a;const s=Dd(o.content.childNodes);if(Od()||s.length<=1||Ud(s))return e.innerHTML=a,r?.(),{complete(){},cancel(){},isRunning:!1};e.innerHTML="";let c=0,l=null,p=!0;function d(){if(!p||c>=s.length){p=!1,r?.();return}const h=s[c],f=document.createElement("span");f.className="gengage-chat-typewriter-block";for(const b of h)f.appendChild(b.cloneNode(!0));e.appendChild(f),c++,i?.(),c<s.length?l=setTimeout(d,n):(p=!1,r?.())}return d(),{complete(){p&&(l!==null&&clearTimeout(l),p=!1,e.innerHTML=a,r?.())},cancel(){l!==null&&clearTimeout(l),p=!1},get isRunning(){return p}}}var Br,jd=L((()=>{Br=new Set(["P","DIV","H1","H2","H3","H4","H5","H6","LI","UL","OL","BLOCKQUOTE","PRE","TABLE","SECTION","HR","FIGURE","FIGCAPTION","DL","DT","DD"])}));function Rr(t){return t!==void 0&&/[\p{L}\p{N}_]/u.test(t)}function $d(t){const{container:e,mentions:a,onProductClick:n}=t;if(a.length===0)return;const i=new Map;for(const r of a)typeof r?.short_name!="string"||r.short_name.length===0||i.set(r.short_name.toLowerCase(),r);if(i.size!==0)for(const[r,o]of i){const s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let c=s.nextNode(),l=!1;for(;c&&!l;){const p=c.textContent??"",d=p.toLowerCase().indexOf(r);if(d===-1){c=s.nextNode();continue}const h=d>0?p[d-1]:void 0,f=p[d+o.short_name.length];if(Rr(h)||Rr(f)){c=s.nextNode();continue}const b=p.slice(0,d),m=p.slice(d,d+o.short_name.length),u=p.slice(d+o.short_name.length),g=c.parentNode;if(!g){c=s.nextNode();continue}const v=document.createElement("a");v.className="gengage-product-mention",v.textContent=m,v.href="#",v.addEventListener("click",_=>{_.preventDefault(),n(o.sku)}),b&&g.insertBefore(document.createTextNode(b),c),g.insertBefore(v,c),u&&g.insertBefore(document.createTextNode(u),c),g.removeChild(c),l=!0}}}var Vd=L((()=>{}));function Gd(t){return!!(t.icon&&zr.has(t.icon)||t.action?.type&&Hr.has(t.action.type))}var zr,Hr,Wd=L((()=>{zr=new Set(["search","info","review","similar"]),Hr=new Set(["quickAnswer","reviewSummary","searchDiscovery","launchDiscovery","exploreTogetherV2"])}));function Kd(t){const e=document.createElement("div");e.className="gengage-chat-choice-prompter gds-card",e.dataset.gengagePart="choice-prompter";const a=document.createElement("div");a.className="gengage-chat-choice-prompter-copy";const n=document.createElement("div");n.className="gengage-chat-choice-prompter-heading",n.textContent=t.heading,a.appendChild(n);const i=document.createElement("div");i.className="gengage-chat-choice-prompter-suggestion",i.textContent=t.suggestion,a.appendChild(i),e.appendChild(a);const r=document.createElement("div");r.className="gengage-chat-choice-prompter-actions";const o=document.createElement("button");o.type="button",o.className="gengage-chat-choice-prompter-cta gds-btn gds-btn-primary",o.dataset.gengagePart="choice-prompter-cta",o.textContent=t.ctaLabel,o.addEventListener("click",()=>{nn(t.threadId),e.remove(),t.onCtaClick()}),r.appendChild(o);const s=document.createElement("button");return s.type="button",s.className="gengage-chat-choice-prompter-dismiss",s.dataset.gengagePart="choice-prompter-dismiss",s.textContent="×",s.setAttribute("aria-label",t.dismissAriaLabel??"Dismiss"),s.addEventListener("click",()=>{nn(t.threadId),e.remove(),t.onDismiss?.()}),r.appendChild(s),e.appendChild(r),e}function Fr(){try{sessionStorage.removeItem(_t),sessionStorage.removeItem(Dr)}catch{}}function Yd(t){try{const e=sessionStorage.getItem(_t);return e?JSON.parse(e).includes(t):!1}catch{return!1}}function nn(t){try{const e=sessionStorage.getItem(_t),a=e?JSON.parse(e):[];a.includes(t)||a.push(t),sessionStorage.setItem(_t,JSON.stringify(a))}catch{}}function Qd(t){t&&nn(t)}var _t,Dr,Zd=L((()=>{_t="gengage_choice_prompter_dismissed",Dr="gengage_choice_prompter_dismissed_global"}));function wt(t){return new Promise((e,a)=>{t.onsuccess=()=>e(t.result),t.onerror=()=>a(t.error)})}function gt(t){return new Promise((e,a)=>{t.oncomplete=()=>e(),t.onerror=()=>a(t.error),t.onabort=()=>a(t.error??new DOMException("Transaction aborted"))})}var Ur,Or,Ue,Pe,Ne,Te,qr,Xd=L((()=>{Ur="gengage_assistant",Or=3,Ue="sessions",Pe="context",Ne="payload",Te="favorites",qr=class{constructor(t=Ur,e=Or){this._db=null,this._dbName=t,this._version=e}async open(){return this._db?this._db:new Promise((t,e)=>{const a=indexedDB.open(this._dbName,this._version);a.onupgradeneeded=n=>{const i=a.result,r=n.oldVersion;r<1&&(i.createObjectStore(Ue,{keyPath:["userId","appId","sessionId"]}),i.createObjectStore(Pe,{keyPath:["sessionId","threadId"]}),i.createObjectStore(Ne,{keyPath:["threadId","messageId"]}).createIndex("threadId","threadId",{unique:!1}),i.createObjectStore(Te,{keyPath:["userId","appId","sku"]})),r>=1&&r<2&&(i.objectStoreNames.contains(Ue)&&i.deleteObjectStore(Ue),i.objectStoreNames.contains(Ne)&&i.deleteObjectStore(Ne),i.createObjectStore(Ue,{keyPath:["userId","appId","sessionId"]}),i.createObjectStore(Ne,{keyPath:["threadId","messageId"]}).createIndex("threadId","threadId",{unique:!1}),i.objectStoreNames.contains(Pe)||i.createObjectStore(Pe,{keyPath:["sessionId","threadId"]})),r<3&&(i.objectStoreNames.contains(Te)||i.createObjectStore(Te,{keyPath:["userId","appId","sku"]}))},a.onsuccess=()=>{this._db=a.result,t(this._db)},a.onerror=()=>e(a.error)})}close(){this._db?.close(),this._db=null}async saveSession(t){const e=this._requireDb().transaction(Ue,"readwrite");e.objectStore(Ue).put(t),await gt(e)}async loadSession(t,e,a){return await wt(this._requireDb().transaction(Ue,"readonly").objectStore(Ue).get([t,e,a]))??null}async saveContext(t){const e=this._requireDb().transaction(Pe,"readwrite");e.objectStore(Pe).put(t),await gt(e)}async loadContext(t,e){return await wt(this._requireDb().transaction(Pe,"readonly").objectStore(Pe).get([t,e]))??null}async deleteContextsAfterThread(t,e){const a=this._requireDb().transaction(Pe,"readwrite"),n=a.objectStore(Pe).openCursor();await new Promise((i,r)=>{n.onsuccess=()=>{const o=n.result;if(!o){i();return}const s=o.value;if(s.sessionId===t&&s.threadId>e)try{o.delete()}catch{}o.continue()},n.onerror=()=>r(n.error)}),await gt(a)}async loadLatestContext(t){const e=this._requireDb().transaction(Pe,"readonly").objectStore(Pe),a=IDBKeyRange.bound([t,""],[t,"￿"]);return new Promise((n,i)=>{const r=e.openCursor(a,"prev");r.onsuccess=()=>{const o=r.result;n(o?o.value:null)},r.onerror=()=>i(r.error)})}async savePayload(t){const e=this._requireDb().transaction(Ne,"readwrite");e.objectStore(Ne).put(t),await gt(e)}async loadPayload(t,e){return await wt(this._requireDb().transaction(Ne,"readonly").objectStore(Ne).get([t,e]))??null}async loadPayloadsByThread(t){const e=this._requireDb().transaction(Ne,"readonly").objectStore(Ne).index("threadId"),a=[];return new Promise((n,i)=>{const r=e.openCursor(IDBKeyRange.only(t));r.onsuccess=()=>{const o=r.result;if(!o){n(a);return}a.push(o.value),o.continue()},r.onerror=()=>i(r.error)})}async saveFavorite(t){const e=this._requireDb().transaction(Te,"readwrite");e.objectStore(Te).put(t),await gt(e)}async removeFavorite(t,e,a){const n=this._requireDb().transaction(Te,"readwrite");n.objectStore(Te).delete([t,e,a]),await gt(n)}async loadFavorites(t,e){return(await wt(this._requireDb().transaction(Te,"readonly").objectStore(Te).getAll())).filter(a=>a.userId===t&&a.appId===e)}async isFavorite(t,e,a){return await wt(this._requireDb().transaction(Te,"readonly").objectStore(Te).get([t,e,a]))!==void 0}_requireDb(){if(!this._db)throw new Error("GengageIndexedDB: database not open. Call open() first.");return this._db}}})),jr,$r,Jd=L((()=>{jr=["comparisonTable","groupList","productDetailsSimilars","productList"],$r=class{constructor(t){this._lockCount=1,this._hiddenByUser=!1,this._lastPanelContentType=null,this._chatShown=!1,this._isFavoritesMode=!1,this._lastExtended=!1,this._onChange=t.onChange;const e=new Set(jr);t.productDetailsInPanel&&e.add("productDetails"),this._panelContentTypes=e}get isExtended(){return this._lockCount===0&&!this._hiddenByUser&&!this._isFavoritesMode&&this._lastPanelContentType!==null&&this._panelContentTypes.has(this._lastPanelContentType)&&this._chatShown}unlock(){this._lockCount>0&&this._lockCount--,this._checkStateChange()}lock(){this._lockCount++,this._checkStateChange()}setHiddenByUser(t){this._hiddenByUser=t,this._checkStateChange()}setChatShown(t){this._chatShown=t,this._checkStateChange()}setFavoritesMode(t){this._isFavoritesMode=t,this._checkStateChange()}setPanelContentType(t){this._lastPanelContentType=t,this._checkStateChange()}_checkStateChange(){const t=this.isExtended;t!==this._lastExtended&&(this._lastExtended=t,this._onChange(t))}}}));function Vr(t){return t==="user_message"||t==="inputText"}function ep(t){return t.similarsAppend&&t.currentPanelType==="ProductDetailsPanel"&&t.hasPanelContent&&!t.isPanelLoading?"appendSimilars":t.componentType==="ProductGrid"&&!t.isFirstPanelContentInStream&&t.hasPanelContent&&!t.isPanelLoading?"append":"replace"}var Gr,tp=L((()=>{It(),Gr=class{constructor(t){this.deps=t,this.snapshots=new Map,this._snapshotRebuilders=new Map,this._snapshotSources=new Map,this._threadSources=new Map,this.snapshotTypes=new Map,this.activePanelMessageId=null,this.currentType=null,this.threads=[],this.lastActionType=null}_resolvePanelHistoryIdx(t){const e=this.threads.indexOf(t);if(e!==-1)return e;for(let a=this.threads.length-1;a>=0;a--)if(this.threads[a]<=t)return a;return-1}clearSnapshots(){this.snapshots.clear(),this._snapshotRebuilders.clear(),this._snapshotSources.clear(),this._threadSources.clear(),this.snapshotTypes.clear()}deleteSnapshotForMessage(t){this.snapshots.delete(t),this._snapshotRebuilders.delete(t),this._snapshotSources.delete(t),this.snapshotTypes.delete(t)}pruneThreadsAfter(t){this.threads=this.threads.filter(e=>{const a=e<=t;return a||this._threadSources.delete(e),a})}sourceForMessage(t){return this._snapshotSources.get(t)??null}sourceForThread(t){return this._threadSources.get(t)??null}componentTypeForSource(t){return t.kind==="spec"?t.spec.elements[t.spec.root]?.type??"":t.kind==="productDetailsWithSimilars"?"ProductDetailsPanel":t.kind==="favorites"?"favorites":t.kind==="history"?"history":""}snapshotForMessage(t,e){const a=this.deps.drawer();if(!a?.hasPanelContent()||a.isPanelLoading())return;const n=a.getPanelContentElement();if(!n)return;const i=typeof e=="function"?{rebuild:e}:e,r=n.cloneNode(!0);this.snapshots.set(t,r),i?.rebuild&&this._snapshotRebuilders.set(t,i.rebuild),i?.source&&(this._snapshotSources.set(t,i.source),i.threadId&&this._threadSources.set(i.threadId,i.source)),this.currentType&&this.snapshotTypes.set(t,this.currentType)}restoreForMessage(t,e=t){const a=this._snapshotRebuilders.get(t),n=this.snapshots.get(t);if(!a&&!n)return!1;const i=this.deps.shadow(),r=this.deps.drawer();this.activePanelMessageId&&i?.querySelector(`[data-message-id="${ve(this.activePanelMessageId)}"]`)?.classList.remove("gengage-chat-bubble--active"),i?.querySelector(`[data-message-id="${ve(e)}"]`)?.classList.add("gengage-chat-bubble--active"),this.activePanelMessageId=e;const o=a?a():n.cloneNode(!0);r?.setPanelContent(o);const s=this.snapshotTypes.get(t);if(s)if(this.currentType=s,o.querySelector(".gengage-chat-product-grid-head-title")&&s==="ProductGrid"){const c=this.deps.currentThreadId();if(c){const l=this._resolvePanelHistoryIdx(c),p=l>0,d=l>=0&&l<this.threads.length-1;this.deps.drawer()?.updatePanelTopBar(p,d,"")}}else this.updateTopBar(s);return!0}notifyExtension(t){const e=this.deps.bridge();t?setTimeout(()=>e?.send("maximize-pdp",{}),350):setTimeout(()=>e?.send("minify-pdp",{}),200)}titleForComponent(t,e){if(e)return e;const a=this.deps.i18n();switch(t){case"ProductDetailsPanel":return a.panelTitleProductDetails;case"ProductGrid":return Vr(this.lastActionType)?a.panelTitleSearchResults:a.panelTitleSimilarProducts;case"ComparisonTable":return a.panelTitleComparisonResults;case"AIGroupingCards":case"CategoriesContainer":return a.panelTitleCategories;default:return""}}updateTopBar(t,e,a){const n=this.deps.currentThreadId();if(!n)return;const i=this._resolvePanelHistoryIdx(n),r=i>0,o=i>=0&&i<this.threads.length-1,s=a!==void 0?a:this.titleForComponent(t,e);this.deps.drawer()?.updatePanelTopBar(r,o,s)}updateTopBarForLoading(t){const e=this.deps.i18n(),a={productDetails:e.panelTitleProductDetails,productList:Vr(this.lastActionType)?e.panelTitleSearchResults:e.panelTitleSimilarProducts,comparisonTable:e.panelTitleComparisonResults,groupList:e.panelTitleCategories}[t]??"";if(a){const n=this.deps.currentThreadId(),i=n?this._resolvePanelHistoryIdx(n):-1,r=i>0,o=i>=0&&i<this.threads.length-1;this.deps.drawer()?.updatePanelTopBar(r,o,a)}}updateExtendedMode(t){const e={ComparisonTable:"comparisonTable",AIGroupingCards:"groupList",CategoriesContainer:"groupList",ProductDetailsPanel:"productDetails",ProductGrid:"productList"}[t]??null;this.deps.extendedModeManager()?.setPanelContentType(e)}navigateBack(){const t=this.deps.currentThreadId();if(!t||this.threads.length===0)return;const e=this._resolvePanelHistoryIdx(t);if(e>0){const a=this.threads[e-1];a&&this.deps.rollbackToThread(a)}}navigateForward(){const t=this.deps.currentThreadId();if(!t||this.threads.length===0)return;const e=this._resolvePanelHistoryIdx(t);if(e>=0&&e<this.threads.length-1){const a=this.threads[e+1];a&&this.deps.rollbackToThread(a)}}toPanelSpec(t){const e=t.elements[t.root];if(!e||e.type!=="ProductCard")return t;const a={...e,type:"ProductDetailsPanel"};return{root:t.root,elements:{...t.elements,[t.root]:a}}}destroy(){this.snapshots.clear(),this._snapshotRebuilders.clear(),this.snapshotTypes.clear(),this.activePanelMessageId=null,this.currentType=null,this.threads=[]}}}));function Oe(t,e){const a=t.replace(/\s+/g," ").trim();return a.length<=e?a:`${a.slice(0,Math.max(0,e-1)).trimEnd()}…`}function Me(t){const e=t.trim();if(e.length===0)return"";if(typeof document<"u"){const a=document.createElement("div");return a.innerHTML=e,(a.textContent??a.innerText??"").replace(/\s+/g," ").trim()}return e.replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/&amp;/gi,"&").replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&#39;/gi,"'").replace(/&quot;/gi,'"').replace(/\s+/g," ").trim()}function Wr(t){if(!t)return null;try{return JSON.parse(t)}catch{return null}}function ap(t,e){return`${encodeURIComponent(t)}::${encodeURIComponent(e||"__guest__")}`}function rn(t){return`${Yr}:${t}`}function kt(t,e){return`${Qr}:${t}:${e}`}function Kr(t){if(t.silent)return!1;const e=typeof t.content=="string"?Me(t.content):"",a="attachment"in t&&t.attachment!==void 0;return e.length>0||t.uiSpec!==void 0||a}function np(t,e=Xr){return t.filter(a=>!(a.status==="streaming"&&!Kr(a))).map(a=>{const n={id:a.id,role:a.role,timestamp:a.timestamp,status:a.status==="error"?"error":"done"};return a.threadId!==void 0&&(n.threadId=a.threadId),a.content!==void 0&&(n.content=a.content),a.attachment!==void 0&&Me(n.content??"").length===0&&(n.content=e),a.uiSpec!==void 0&&(n.uiSpec=a.uiSpec),a.frontendOnly&&(n.frontendOnly=!0),a.silent&&(n.silent=!0),a.renderHint!==void 0&&(n.renderHint=a.renderHint),a.photoAnalysis!==void 0&&(n.photoAnalysis=a.photoAnalysis),n})}function ip(t){const e=t.find(n=>n.role==="user"&&!n.silent&&typeof n.content=="string"&&Me(n.content).length>0);if(e?.content)return Oe(Me(e.content),72);const a=t.find(n=>Kr(n));return a?.content?Oe(Me(a.content),72):"New chat"}function rp(t){for(let e=t.length-1;e>=0;e--){const a=t[e];if(!(!a||a.silent)){if(typeof a.content=="string"&&a.content.trim().length>0){const n=Me(a.content);if(n.length>0)return Oe(n,140)}if(a.uiSpec){const n=a.uiSpec.elements[a.uiSpec.root];if(n?.type==="PanelRestoreCard"){const i=n.props??{},r=typeof i.ctaLabel=="string"?i.ctaLabel.trim():"";if(r.length>0)return Oe(r,140)}if(n?.type)return Oe(n.type,140)}}}return""}function op(t){return t.filter(e=>!e.silent).length}function sp(t){return{...t,title:Oe(Me(t.title),72)||"New chat",preview:Oe(Me(t.preview),140)}}function cp(t){return{...t,title:Oe(Me(t.title),72)||"New chat",preview:Oe(Me(t.preview),140)}}var on,Yr,Qr,Zr,Xr,Jr,lp=L((()=>{on=1,Yr="gengage:chat-history:index",Qr="gengage:chat-history:session",Zr=12,Xr="Image attachment",Jr=class{constructor(t,e,a=typeof window<"u"?window.localStorage:null){this._appId=t,this._userId=e,this._storage=a,this._scope=ap(t,e)}createHistoryId(){return crypto.randomUUID()}findSessionId(t,e){return!t||!e?null:this.listSessions().find(a=>a.sourceSessionId===t&&a.createdAt===e)?.id??null}listSessions(){const t=Wr(this._storage?.getItem(rn(this._scope))??null);return t?t.map(sp).sort((e,a)=>a.updatedAt.localeCompare(e.updatedAt)):[]}loadSession(t){const e=Wr(this._storage?.getItem(kt(this._scope,t))??null);return!e||e.version!==on?null:cp(e)}saveSession(t){if(!this._storage)return null;const e=np(t.messages,t.attachmentPlaceholder);if(!e.some(p=>p.role==="user"&&!p.silent&&typeof p.content=="string"&&Me(p.content).length>0))return null;const a=new Date().toISOString(),n=ip(e),i=rp(e),r={};for(const[p,d]of t.panelSnapshots)d.querySelector(".gengage-chat-panel-skeleton")||(r[p]=d.innerHTML);const o={};for(const[p,d]of t.panelSnapshotTypes)o[p]=d;const s={};for(const[p,d]of t.panelAiSpecByThread??[])s[p]=d;const c={version:on,id:t.historyId,userId:t.userId,appId:t.appId,sourceSessionId:t.sourceSessionId,title:n,preview:i,createdAt:t.chatCreatedAt,updatedAt:a,messageCount:op(e),pageType:t.pageType,sku:t.sku,messages:e,currentThreadId:t.currentThreadId,lastThreadId:t.lastThreadId,panelThreads:t.panelThreads.length>0?t.panelThreads:void 0,panelSnapshotHtml:Object.keys(r).length>0?r:void 0,panelSnapshotTypes:Object.keys(o).length>0?o:void 0,panelAiSpecByThread:Object.keys(s).length>0?s:void 0,lastBackendContext:t.lastBackendContext},l=this.listSessions().filter(p=>p.id!==t.historyId);for(l.unshift({id:c.id,title:c.title,preview:c.preview,createdAt:c.createdAt,updatedAt:c.updatedAt,messageCount:c.messageCount,pageType:c.pageType,sku:c.sku,sourceSessionId:c.sourceSessionId});l.length>Zr;){const p=l.pop();p&&this._storage.removeItem(kt(this._scope,p.id))}return this._commitRecord(c,l)?c:null}deleteSession(t){if(!this._storage)return;const e=this.listSessions().filter(a=>a.id!==t);this._storage.removeItem(kt(this._scope,t));try{this._storage.setItem(rn(this._scope),JSON.stringify(e))}catch{}}_commitRecord(t,e){if(!this._storage)return!1;const a=[...e];for(;a.length>0;)try{return this._storage.setItem(kt(this._scope,t.id),JSON.stringify(t)),this._storage.setItem(rn(this._scope),JSON.stringify(a)),!0}catch{const n=a.pop();if(!n)break;if(n.id!==t.id){this._storage.removeItem(kt(this._scope,n.id));continue}break}return!1}}})),sn,gp=L((()=>{ge(),Jn(),sn=class{constructor(t){this.favoritedSkus=new Set,this._favoritesCache=new Map,this._persistLock=Promise.resolve(),this._db=t}get db(){return this._db}set db(t){this._db=t}async persist(t){if(!this._db)return;const e=this._persistLock;let a;this._persistLock=new Promise(n=>{a=n}),await e;try{await this._persistImpl(t)}finally{a()}}async _persistImpl(t){if(!this._db)return;const e=t.messages.map(r=>{const o={id:r.id,role:r.role,timestamp:r.timestamp,status:r.status==="streaming"?"done":r.status};return r.threadId!==void 0&&(o.threadId=r.threadId),r.content!==void 0&&(o.content=r.content),r.frontendOnly&&(o.frontendOnly=!0),r.silent&&(o.silent=!0),o}),a={};for(const[r,o]of t.panelSnapshots)o.querySelector(".gengage-chat-panel-skeleton")||(a[r]=o.innerHTML);const n={};for(const[r,o]of t.panelSnapshotTypes??[])n[r]=o;const i={};for(const[r,o]of t.panelAiSpecByThread??[])i[r]=o;await this._db.saveSession({userId:t.userId,appId:t.appId,sessionId:t.sessionId,messages:e,currentThreadId:t.currentThreadId,lastThreadId:t.lastThreadId,createdAt:t.chatCreatedAt,panelThreads:t.panelThreads.length>0?t.panelThreads:void 0,panelSnapshotHtml:Object.keys(a).length>0?a:void 0,panelSnapshotTypes:Object.keys(n).length>0?n:void 0,panelAiSpecByThread:Object.keys(i).length>0?i:void 0,sku:t.sku}),t.lastBackendContext&&t.currentThreadId&&await this._db.saveContext({sessionId:t.sessionId,threadId:t.currentThreadId,context:t.lastBackendContext});for(const r of t.messages)r.uiSpec&&r.threadId&&await this._db.savePayload({threadId:r.threadId,messageId:r.id,uiSpec:r.uiSpec})}async saveAndOpenURL(t,e,a,n=i=>{Xn(i)}){try{await e()}catch{}a?.send("openURLInNewTab",{url:t}),pe(t)&&n(t)}async loadPayload(t,e){if(!this._db)return null;for(let a=0;a<3;a++){try{const n=await this._db.loadPayload(t,e);if(n)return n.uiSpec}catch{}a<2&&await new Promise(n=>setTimeout(n,100))}return null}async loadFavorites(t,e){if(this._db)try{const a=await this._db.loadFavorites(t,e);for(const n of a)this.favoritedSkus.add(n.sku),this._favoritesCache.set(n.sku,n)}catch{}}getFavoriteProducts(){return[...this._favoritesCache.values()].sort((t,e)=>(e.savedAt??"").localeCompare(t.savedAt??""))}async toggleFavorite(t,e,a,n){if(this.favoritedSkus.has(a))this.favoritedSkus.delete(a),this._favoritesCache.delete(a),this._db&&await this._db.removeFavorite(t,e,a);else{const i={userId:t,appId:e,sku:a,name:n.name,imageUrl:n.imageUrl,price:n.price,savedAt:new Date().toISOString()};this.favoritedSkus.add(a),this._favoritesCache.set(a,i),this._db&&await this._db.saveFavorite(i)}}close(){this._db?.close(),this._db=null}}}));function dp(t,e){for(let a=t.length-1;a>=0;a--){const n=t[a],i=e.getAssistantReadState(n);if(i!==void 0&&i!=="seen")return n}return null}var Zt,cn,pp=L((()=>{Zt=t=>`${t}:assistant`,cn=class{constructor(){this.groups={},this.pinnedToBottom=!0,this.userInteracting=!1,this.focusedThreadId=null,this.shown=!1,this.lastAutoAnchoredGroupId=null,this.scrollRequest=null,this._nextScrollId=1}setShown(t){this.shown=t,t||(this.userInteracting=!1,this.pinnedToBottom=!0,this.focusedThreadId=null,this.scrollRequest=null)}reset(){this.groups={},this.pinnedToBottom=!0,this.userInteracting=!1,this.focusedThreadId=null,this.lastAutoAnchoredGroupId=null,this.scrollRequest=null}registerAssistantActivity(t){const e=Zt(t),a=this.groups[e],n=this.shown&&this.pinnedToBottom&&!this.userInteracting?"active_unread":"unseen";this.groups[e]={id:e,threadId:t,readState:a?.readState==="seen"?n:a?.readState??n,status:"streaming",updatedAt:Date.now()},a?.readState==="seen"&&this.lastAutoAnchoredGroupId===e&&(this.lastAutoAnchoredGroupId=null)}finalizeAssistantGroup(t){const e=Zt(t),a=this.groups[e];a&&(a.status="complete",a.updatedAt=Date.now())}setGroupReadStates(t){const e=Date.now();for(const{groupId:a,readState:n}of t){const i=this.groups[a];!i||i.readState===n||(i.readState=n,i.updatedAt=e)}}requestThreadFocus(t,e="smooth"){this.focusedThreadId=t,this.scrollRequest={id:this._nextScrollId++,type:"thread",threadId:t,behavior:e}}requestScrollToBottom(t="smooth"){this.scrollRequest={id:this._nextScrollId++,type:"bottom",behavior:t}}consumeScrollRequest(t){this.scrollRequest?.id===t&&(this.scrollRequest=null)}releaseFocusedThread(){this.focusedThreadId=null}setFocusedThreadId(t){this.focusedThreadId=t}markGroupAutoAnchored(t){this.lastAutoAnchoredGroupId=t}shouldBlockStreamAutoScroll(){return this.shown&&this.userInteracting&&!this.pinnedToBottom}getAssistantReadState(t){return this.groups[Zt(t)]?.readState}}}));function hp(t){const{label:e,avatarUrl:a,primaryColor:n,secondaryColor:i="#111827",fontFamily:r="inherit",labelClassName:o="gengage-pill-launcher-label",styleId:s="gengage-pill-launcher-style",mobileBreakpoint:c=768,desktopWidth:l="188px",desktopHeight:p="60px",iconSize:d="46px"}=t,h=`${parseInt(l,10)-14}px`,f=`${parseInt(p,10)-4}px`,b=`${parseInt(d,10)-4}px`,m=`
467
+ `.trim()}function Bd(t){return new Promise(e=>window.setTimeout(e,t))}function Rd(t,e,a){const{hostSelector:n,rowClassName:i="gengage-inline-launcher-row",siblingSelector:r,siblingPlacement:o="before",rowPlacement:s="end",title:c="Ask",iconUrl:l,primaryColor:p="#6366f1",textColor:d="#222222",fontFamily:h="inherit",borderRadius:f="3px",showSparkIcon:b=!0,desktopMinWidth:m=0,enableOnMobile:u=!1,disabledPageTypes:g=["pdp"],hideFloatingLauncher:v=!0,mountPollFrames:_=90,debounceMs:y=90,buttonId:k=Ir}=t,T=t.ariaLabel??c,w=t.siblingRestoreParentSelector??n,E=u&&m>0?m:576,z=Nd(t.size),$=`${Lr}-${k}`;let K=!1,oe=!1,ie=null,A=null,D=null;const C=()=>{if(u&&m>0&&window.innerWidth<m&&t.mobileHost&&t.mobileHost){const P=t.mobileHost;return{hostSelector:P.hostSelector,siblingSelector:P.siblingSelector??r,siblingRestoreParentSelector:P.siblingRestoreParentSelector??P.hostSelector,rowPlacement:P.rowPlacement??s,siblingPlacement:P.siblingPlacement??o}}return{hostSelector:n,siblingSelector:r,siblingRestoreParentSelector:w,rowPlacement:s,siblingPlacement:o}},M=P=>[P.hostSelector,P.siblingSelector??"",P.siblingRestoreParentSelector].join("|"),O=()=>{if(document.getElementById($))return;const P=document.createElement("style");P.id=$,P.textContent=Md({primaryColor:p,textColor:d,fontFamily:h,borderRadius:f,rowClassName:i,compactBelowWidth:E,buttonId:k,sizes:z}),document.head.appendChild(P)},U=P=>{if(!v||!a.shadowRoot)return;const H=a.shadowRoot.getElementById(Ja);if(!P){H?.remove();return}if(H)return;const Z=document.createElement("style");Z.id=Ja,Z.textContent=".gengage-chat-launcher-container,.gengage-fl{display:none!important;}",a.shadowRoot.appendChild(Z)},R=P=>{const H=document.querySelector(P);return H instanceof HTMLElement?H:null},ne=P=>{if(!P)return null;const H=document.querySelector(P);return H instanceof HTMLElement?H:null},ae=P=>{const H=document.querySelector(P);return H instanceof HTMLElement?H:null},V=P=>{if(P.hasAttribute(Qt))return;const H=P.parentElement;if(!H)return;const Z=Array.from(H.children).indexOf(P);Z>=0&&P.setAttribute(Qt,String(Z))},x=P=>{const H=ne(P.siblingSelector),Z=ae(P.siblingRestoreParentSelector);if(!H||!Z||(V(H),H.parentElement===Z))return;const re=H.getAttribute(Qt),ce=re?Number.parseInt(re,10):0,fe=Array.from(Z.children).filter(Y=>!(Y instanceof HTMLElement&&Y.classList.contains(i))),F=Number.isFinite(ce)&&ce>=0?fe[ce]??null:null;if(F){Z.insertBefore(H,F);return}Z.appendChild(H)},N=P=>{P.querySelector(`.${i}`)?.remove()},I=()=>{const P=document.createElement("span");P.className=`${_e}-icon`;const H=document.createElement("img");return H.src=l,H.alt="",H.draggable=!1,P.appendChild(H),P},B=()=>window.innerWidth<E,q=P=>{if(!l)return;const H=P.querySelector(`.${_e}-icon`);if(B()&&z.mobile.hideLogo){H?.remove();return}H||P.insertBefore(I(),P.firstChild)},j=()=>{const P=document.createElement("button");P.type="button",P.id=k,P.className=_e,P.setAttribute("aria-label",T),l&&P.appendChild(I());const H=document.createElement("span");H.className=`${_e}-copy`;const Z=document.createElement("span");if(Z.className=`${_e}-title`,Z.textContent=c,H.appendChild(Z),P.appendChild(H),b){const re=document.createElement("span");re.className=`${_e}-spark`,re.innerHTML=Nr,P.appendChild(re)}return P.addEventListener("click",()=>e.onClick()),P},W=(P,H,Z)=>{if(V(H),H.setAttribute(en,"true"),o==="before"){(H.parentElement!==P||H.nextElementSibling!==Z)&&P.insertBefore(H,Z);return}(H.parentElement!==P||Z.nextElementSibling!==H)&&P.appendChild(H)},X=()=>{if(D){x(D);const P=R(D.hostSelector);P&&N(P),D=null}U(!1),K=!1},G=P=>!(P&&g.includes(P)||m>0&&window.innerWidth<m&&!u),se=async P=>{const H=P??a.getPageType();if(!G(H))return X(),!1;O();const Z=C();D&&M(D)!==M(Z)&&X();for(let re=0;re<_;re+=1){if(!G(H))return X(),!1;const ce=C(),fe=R(ce.hostSelector),F=ne(ce.siblingSelector);if(fe&&(!ce.siblingSelector||F)){D&&M(D)!==M(ce)&&X(),F&&V(F);let Y=fe.querySelector(`.${i}`);Y instanceof HTMLElement||(Y=document.createElement("div"),Y.className=i,ce.rowPlacement==="start"?fe.insertBefore(Y,fe.firstChild):fe.appendChild(Y));let Q=Y.querySelector(`#${CSS.escape(k)}`);return Q instanceof HTMLButtonElement?A=Q:(Q=j(),A=Q,Y.appendChild(Q)),F&&W(Y,F,Q),q(Q),oe?Q.classList.add(`${_e}--active`):Q.classList.remove(`${_e}--active`),U(!0),K=!0,D=ce,!0}await Bd(16)}return X(),!1},ge=()=>{ie!==null&&window.clearTimeout(ie),ie=window.setTimeout(()=>{ie=null,se()},y)},S=()=>ge();return window.addEventListener("resize",S,{passive:!0}),window.addEventListener("orientationchange",S),{get isMounted(){return K},sync(P){return se(P)},setActive(P){oe=P,A?.classList.toggle(`${_e}--active`,P)},destroy(){ie!==null&&(window.clearTimeout(ie),ie=null),window.removeEventListener("resize",S),window.removeEventListener("orientationchange",S),X(),document.getElementById($)?.remove(),A=null}}}var Lr,Ja,_e,Ir,en,Qt,Nr,le,zd=L((()=>{Lr="gengage-inline-launcher-style",Ja="gengage-inline-launcher-hide-floating",_e="gengage-inline-launcher",Ir="gengage-inline-launcher",en="data-gengage-inline-sibling",Qt="data-gengage-inline-sibling-restore-index",Nr='<svg viewBox="0 0 20 20" fill="none" aria-hidden="true"><path d="M8.85 2.4c.23 0 .43.16.48.39l.9 3.77a3.8 3.8 0 0 0 2.8 2.8l3.77.9a.5.5 0 0 1 0 .98l-3.77.9a3.8 3.8 0 0 0-2.8 2.8l-.9 3.77a.5.5 0 0 1-.98 0l-.9-3.77a3.8 3.8 0 0 0-2.8-2.8l-3.77-.9a.5.5 0 0 1 0-.98l3.77-.9a3.8 3.8 0 0 0 2.8-2.8l.9-3.77c.05-.23.25-.39.48-.39Z" fill="currentColor"/><path d="M15.95 1.1c.12 0 .23.08.26.2l.32 1.34c.16.68.7 1.21 1.37 1.37l1.34.32a.27.27 0 0 1 0 .53l-1.34.32a1.87 1.87 0 0 0-1.37 1.37l-.32 1.34a.27.27 0 0 1-.53 0l-.32-1.34A1.87 1.87 0 0 0 14 5.18l-1.34-.32a.27.27 0 0 1 0-.53L14 4a1.87 1.87 0 0 0 1.37-1.37l.32-1.34c.03-.12.14-.2.26-.2Z" fill="currentColor" opacity=".72"/></svg>',le={rowGap:"14px",buttonHeight:"46px",buttonPadding:"0 14px 0 10px",buttonGap:"10px",fontSize:"15px",iconSize:"30px",iconImageSize:"22px",sparkSize:"20px",sparkIconSize:"18px",mobile:{rowGap:"6px",buttonPadding:"0 8px 0 6px",buttonGap:"6px",fontSize:"12px",iconSize:"30px",iconImageSize:"22px",sparkSize:"14px",sparkIconSize:"12px",hideTitle:!1,hideSpark:!0,hideLogo:!1}}}));function tn(t){t.pause(),t.removeAttribute("src"),t.load(),an.delete(t)}function Hd(t,e="audio/ogg"){const a=e.split(";")[0].trim();if(!Mr.has(a))return null;try{const n=new Audio(`data:${e};base64,${t}`);return an.add(n),n.addEventListener("ended",()=>tn(n),{once:!0}),n.play().catch(()=>{tn(n)}),{stop:()=>tn(n)}}catch{return null}}var Mr,an,Fd=L((()=>{Mr=new Set(["audio/ogg","audio/mpeg","audio/mp3","audio/wav","audio/webm","audio/aac","audio/mp4"]),an=new Set}));function Dd(t){const e=[];let a=[];for(const n of t)n.nodeType===Node.ELEMENT_NODE&&Br.has(n.tagName)?(a.length>0&&(e.push(a),a=[]),e.push([n])):a.push(n);return a.length>0&&e.push(a),e}function Ud(t){for(const e of t)for(const a of e)if(a.nodeType===Node.ELEMENT_NODE&&(a.tagName==="TABLE"||a.querySelector?.("table")))return!0;return!1}function Od(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function qd(t){const{container:e,html:a,delayMs:n=30,onTick:i,onComplete:r}=t,o=document.createElement("template");o.innerHTML=a;const s=Dd(o.content.childNodes);if(Od()||s.length<=1||Ud(s))return e.innerHTML=a,r?.(),{complete(){},cancel(){},isRunning:!1};e.innerHTML="";let c=0,l=null,p=!0;function d(){if(!p||c>=s.length){p=!1,r?.();return}const h=s[c],f=document.createElement("span");f.className="gengage-chat-typewriter-block";for(const b of h)f.appendChild(b.cloneNode(!0));e.appendChild(f),c++,i?.(),c<s.length?l=setTimeout(d,n):(p=!1,r?.())}return d(),{complete(){p&&(l!==null&&clearTimeout(l),p=!1,e.innerHTML=a,r?.())},cancel(){l!==null&&clearTimeout(l),p=!1},get isRunning(){return p}}}var Br,jd=L((()=>{Br=new Set(["P","DIV","H1","H2","H3","H4","H5","H6","LI","UL","OL","BLOCKQUOTE","PRE","TABLE","SECTION","HR","FIGURE","FIGCAPTION","DL","DT","DD"])}));function Rr(t){return t!==void 0&&/[\p{L}\p{N}_]/u.test(t)}function $d(t){const{container:e,mentions:a,onProductClick:n}=t;if(a.length===0)return;const i=new Map;for(const r of a)typeof r?.short_name!="string"||r.short_name.length===0||i.set(r.short_name.toLowerCase(),r);if(i.size!==0)for(const[r,o]of i){const s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let c=s.nextNode(),l=!1;for(;c&&!l;){const p=c.textContent??"",d=p.toLowerCase().indexOf(r);if(d===-1){c=s.nextNode();continue}const h=d>0?p[d-1]:void 0,f=p[d+o.short_name.length];if(Rr(h)||Rr(f)){c=s.nextNode();continue}const b=p.slice(0,d),m=p.slice(d,d+o.short_name.length),u=p.slice(d+o.short_name.length),g=c.parentNode;if(!g){c=s.nextNode();continue}const v=document.createElement("a");v.className="gengage-product-mention",v.textContent=m,v.href="#",v.addEventListener("click",_=>{_.preventDefault(),n(o.sku)}),b&&g.insertBefore(document.createTextNode(b),c),g.insertBefore(v,c),u&&g.insertBefore(document.createTextNode(u),c),g.removeChild(c),l=!0}}}var Vd=L((()=>{}));function Gd(t){return!!(t.icon&&zr.has(t.icon)||t.action?.type&&Hr.has(t.action.type))}var zr,Hr,Wd=L((()=>{zr=new Set(["search","info","review","similar"]),Hr=new Set(["quickAnswer","reviewSummary","searchDiscovery","launchDiscovery","exploreTogetherV2"])}));function Kd(t){const e=document.createElement("div");e.className="gengage-chat-choice-prompter gds-card",e.dataset.gengagePart="choice-prompter";const a=document.createElement("div");a.className="gengage-chat-choice-prompter-copy";const n=document.createElement("div");n.className="gengage-chat-choice-prompter-heading",n.textContent=t.heading,a.appendChild(n);const i=document.createElement("div");i.className="gengage-chat-choice-prompter-suggestion",i.textContent=t.suggestion,a.appendChild(i),e.appendChild(a);const r=document.createElement("div");r.className="gengage-chat-choice-prompter-actions";const o=document.createElement("button");o.type="button",o.className="gengage-chat-choice-prompter-cta gds-btn gds-btn-primary",o.dataset.gengagePart="choice-prompter-cta",o.textContent=t.ctaLabel,o.addEventListener("click",()=>{nn(t.threadId),e.remove(),t.onCtaClick()}),r.appendChild(o);const s=document.createElement("button");return s.type="button",s.className="gengage-chat-choice-prompter-dismiss",s.dataset.gengagePart="choice-prompter-dismiss",s.textContent="×",s.setAttribute("aria-label",t.dismissAriaLabel??"Dismiss"),s.addEventListener("click",()=>{nn(t.threadId),e.remove(),t.onDismiss?.()}),r.appendChild(s),e.appendChild(r),e}function Fr(){try{sessionStorage.removeItem(_t),sessionStorage.removeItem(Dr)}catch{}}function Yd(t){try{const e=sessionStorage.getItem(_t);return e?JSON.parse(e).includes(t):!1}catch{return!1}}function nn(t){try{const e=sessionStorage.getItem(_t),a=e?JSON.parse(e):[];a.includes(t)||a.push(t),sessionStorage.setItem(_t,JSON.stringify(a))}catch{}}function Qd(t){t&&nn(t)}var _t,Dr,Zd=L((()=>{_t="gengage_choice_prompter_dismissed",Dr="gengage_choice_prompter_dismissed_global"}));function wt(t){return new Promise((e,a)=>{t.onsuccess=()=>e(t.result),t.onerror=()=>a(t.error)})}function gt(t){return new Promise((e,a)=>{t.oncomplete=()=>e(),t.onerror=()=>a(t.error),t.onabort=()=>a(t.error??new DOMException("Transaction aborted"))})}var Ur,Or,Ue,Te,Ne,Pe,qr,Xd=L((()=>{Ur="gengage_assistant",Or=3,Ue="sessions",Te="context",Ne="payload",Pe="favorites",qr=class{constructor(t=Ur,e=Or){this._db=null,this._dbName=t,this._version=e}async open(){return this._db?this._db:new Promise((t,e)=>{const a=indexedDB.open(this._dbName,this._version);a.onupgradeneeded=n=>{const i=a.result,r=n.oldVersion;r<1&&(i.createObjectStore(Ue,{keyPath:["userId","appId","sessionId"]}),i.createObjectStore(Te,{keyPath:["sessionId","threadId"]}),i.createObjectStore(Ne,{keyPath:["threadId","messageId"]}).createIndex("threadId","threadId",{unique:!1}),i.createObjectStore(Pe,{keyPath:["userId","appId","sku"]})),r>=1&&r<2&&(i.objectStoreNames.contains(Ue)&&i.deleteObjectStore(Ue),i.objectStoreNames.contains(Ne)&&i.deleteObjectStore(Ne),i.createObjectStore(Ue,{keyPath:["userId","appId","sessionId"]}),i.createObjectStore(Ne,{keyPath:["threadId","messageId"]}).createIndex("threadId","threadId",{unique:!1}),i.objectStoreNames.contains(Te)||i.createObjectStore(Te,{keyPath:["sessionId","threadId"]})),r<3&&(i.objectStoreNames.contains(Pe)||i.createObjectStore(Pe,{keyPath:["userId","appId","sku"]}))},a.onsuccess=()=>{this._db=a.result,t(this._db)},a.onerror=()=>e(a.error)})}close(){this._db?.close(),this._db=null}async saveSession(t){const e=this._requireDb().transaction(Ue,"readwrite");e.objectStore(Ue).put(t),await gt(e)}async loadSession(t,e,a){return await wt(this._requireDb().transaction(Ue,"readonly").objectStore(Ue).get([t,e,a]))??null}async saveContext(t){const e=this._requireDb().transaction(Te,"readwrite");e.objectStore(Te).put(t),await gt(e)}async loadContext(t,e){return await wt(this._requireDb().transaction(Te,"readonly").objectStore(Te).get([t,e]))??null}async deleteContextsAfterThread(t,e){const a=this._requireDb().transaction(Te,"readwrite"),n=a.objectStore(Te).openCursor();await new Promise((i,r)=>{n.onsuccess=()=>{const o=n.result;if(!o){i();return}const s=o.value;if(s.sessionId===t&&s.threadId>e)try{o.delete()}catch{}o.continue()},n.onerror=()=>r(n.error)}),await gt(a)}async loadLatestContext(t){const e=this._requireDb().transaction(Te,"readonly").objectStore(Te),a=IDBKeyRange.bound([t,""],[t,"￿"]);return new Promise((n,i)=>{const r=e.openCursor(a,"prev");r.onsuccess=()=>{const o=r.result;n(o?o.value:null)},r.onerror=()=>i(r.error)})}async savePayload(t){const e=this._requireDb().transaction(Ne,"readwrite");e.objectStore(Ne).put(t),await gt(e)}async loadPayload(t,e){return await wt(this._requireDb().transaction(Ne,"readonly").objectStore(Ne).get([t,e]))??null}async loadPayloadsByThread(t){const e=this._requireDb().transaction(Ne,"readonly").objectStore(Ne).index("threadId"),a=[];return new Promise((n,i)=>{const r=e.openCursor(IDBKeyRange.only(t));r.onsuccess=()=>{const o=r.result;if(!o){n(a);return}a.push(o.value),o.continue()},r.onerror=()=>i(r.error)})}async saveFavorite(t){const e=this._requireDb().transaction(Pe,"readwrite");e.objectStore(Pe).put(t),await gt(e)}async removeFavorite(t,e,a){const n=this._requireDb().transaction(Pe,"readwrite");n.objectStore(Pe).delete([t,e,a]),await gt(n)}async loadFavorites(t,e){return(await wt(this._requireDb().transaction(Pe,"readonly").objectStore(Pe).getAll())).filter(a=>a.userId===t&&a.appId===e)}async isFavorite(t,e,a){return await wt(this._requireDb().transaction(Pe,"readonly").objectStore(Pe).get([t,e,a]))!==void 0}_requireDb(){if(!this._db)throw new Error("GengageIndexedDB: database not open. Call open() first.");return this._db}}})),jr,$r,Jd=L((()=>{jr=["comparisonTable","groupList","productDetailsSimilars","productList"],$r=class{constructor(t){this._lockCount=1,this._hiddenByUser=!1,this._lastPanelContentType=null,this._chatShown=!1,this._isFavoritesMode=!1,this._lastExtended=!1,this._onChange=t.onChange;const e=new Set(jr);t.productDetailsInPanel&&e.add("productDetails"),this._panelContentTypes=e}get isExtended(){return this._lockCount===0&&!this._hiddenByUser&&!this._isFavoritesMode&&this._lastPanelContentType!==null&&this._panelContentTypes.has(this._lastPanelContentType)&&this._chatShown}unlock(){this._lockCount>0&&this._lockCount--,this._checkStateChange()}lock(){this._lockCount++,this._checkStateChange()}setHiddenByUser(t){this._hiddenByUser=t,this._checkStateChange()}setChatShown(t){this._chatShown=t,this._checkStateChange()}setFavoritesMode(t){this._isFavoritesMode=t,this._checkStateChange()}setPanelContentType(t){this._lastPanelContentType=t,this._checkStateChange()}_checkStateChange(){const t=this.isExtended;t!==this._lastExtended&&(this._lastExtended=t,this._onChange(t))}}}));function Vr(t){return t==="user_message"||t==="inputText"}function ep(t){return t.similarsAppend&&t.currentPanelType==="ProductDetailsPanel"&&t.hasPanelContent&&!t.isPanelLoading?"appendSimilars":t.componentType==="ProductGrid"&&!t.isFirstPanelContentInStream&&t.hasPanelContent&&!t.isPanelLoading?"append":"replace"}var Gr,tp=L((()=>{It(),Gr=class{constructor(t){this.deps=t,this.snapshots=new Map,this._snapshotRebuilders=new Map,this._snapshotSources=new Map,this._threadSources=new Map,this.snapshotTypes=new Map,this.activePanelMessageId=null,this.currentType=null,this.threads=[],this.lastActionType=null}_resolvePanelHistoryIdx(t){const e=this.threads.indexOf(t);if(e!==-1)return e;for(let a=this.threads.length-1;a>=0;a--)if(this.threads[a]<=t)return a;return-1}clearSnapshots(){this.snapshots.clear(),this._snapshotRebuilders.clear(),this._snapshotSources.clear(),this._threadSources.clear(),this.snapshotTypes.clear()}deleteSnapshotForMessage(t){this.snapshots.delete(t),this._snapshotRebuilders.delete(t),this._snapshotSources.delete(t),this.snapshotTypes.delete(t)}pruneThreadsAfter(t){this.threads=this.threads.filter(e=>{const a=e<=t;return a||this._threadSources.delete(e),a})}sourceForMessage(t){return this._snapshotSources.get(t)??null}sourceForThread(t){return this._threadSources.get(t)??null}componentTypeForSource(t){return t.kind==="spec"?t.spec.elements[t.spec.root]?.type??"":t.kind==="productDetailsWithSimilars"?"ProductDetailsPanel":t.kind==="favorites"?"favorites":t.kind==="history"?"history":""}snapshotForMessage(t,e){const a=this.deps.drawer();if(!a?.hasPanelContent()||a.isPanelLoading())return;const n=a.getPanelContentElement();if(!n)return;const i=typeof e=="function"?{rebuild:e}:e,r=n.cloneNode(!0);this.snapshots.set(t,r),i?.rebuild&&this._snapshotRebuilders.set(t,i.rebuild),i?.source&&(this._snapshotSources.set(t,i.source),i.threadId&&this._threadSources.set(i.threadId,i.source)),this.currentType&&this.snapshotTypes.set(t,this.currentType)}restoreForMessage(t,e=t){const a=this._snapshotRebuilders.get(t),n=this.snapshots.get(t);if(!a&&!n)return!1;const i=this.deps.shadow(),r=this.deps.drawer();this.activePanelMessageId&&i?.querySelector(`[data-message-id="${ve(this.activePanelMessageId)}"]`)?.classList.remove("gengage-chat-bubble--active"),i?.querySelector(`[data-message-id="${ve(e)}"]`)?.classList.add("gengage-chat-bubble--active"),this.activePanelMessageId=e;const o=a?a():n.cloneNode(!0);r?.setPanelContent(o);const s=this.snapshotTypes.get(t);if(s)if(this.currentType=s,o.querySelector(".gengage-chat-product-grid-head-title")&&s==="ProductGrid"){const c=this.deps.currentThreadId();if(c){const l=this._resolvePanelHistoryIdx(c),p=l>0,d=l>=0&&l<this.threads.length-1;this.deps.drawer()?.updatePanelTopBar(p,d,"")}}else this.updateTopBar(s);return!0}notifyExtension(t){const e=this.deps.bridge();t?setTimeout(()=>e?.send("maximize-pdp",{}),350):setTimeout(()=>e?.send("minify-pdp",{}),200)}titleForComponent(t,e){if(e)return e;const a=this.deps.i18n();switch(t){case"ProductDetailsPanel":return a.panelTitleProductDetails;case"ProductGrid":return Vr(this.lastActionType)?a.panelTitleSearchResults:a.panelTitleSimilarProducts;case"ComparisonTable":return a.panelTitleComparisonResults;case"AIGroupingCards":case"CategoriesContainer":return a.panelTitleCategories;default:return""}}updateTopBar(t,e,a){const n=this.deps.currentThreadId();if(!n)return;const i=this._resolvePanelHistoryIdx(n),r=i>0,o=i>=0&&i<this.threads.length-1,s=a!==void 0?a:this.titleForComponent(t,e);this.deps.drawer()?.updatePanelTopBar(r,o,s)}updateTopBarForLoading(t){const e=this.deps.i18n(),a={productDetails:e.panelTitleProductDetails,productList:Vr(this.lastActionType)?e.panelTitleSearchResults:e.panelTitleSimilarProducts,comparisonTable:e.panelTitleComparisonResults,groupList:e.panelTitleCategories}[t]??"";if(a){const n=this.deps.currentThreadId(),i=n?this._resolvePanelHistoryIdx(n):-1,r=i>0,o=i>=0&&i<this.threads.length-1;this.deps.drawer()?.updatePanelTopBar(r,o,a)}}updateExtendedMode(t){const e={ComparisonTable:"comparisonTable",AIGroupingCards:"groupList",CategoriesContainer:"groupList",ProductDetailsPanel:"productDetails",ProductGrid:"productList"}[t]??null;this.deps.extendedModeManager()?.setPanelContentType(e)}navigateBack(){const t=this.deps.currentThreadId();if(!t||this.threads.length===0)return;const e=this._resolvePanelHistoryIdx(t);if(e>0){const a=this.threads[e-1];a&&this.deps.rollbackToThread(a)}}navigateForward(){const t=this.deps.currentThreadId();if(!t||this.threads.length===0)return;const e=this._resolvePanelHistoryIdx(t);if(e>=0&&e<this.threads.length-1){const a=this.threads[e+1];a&&this.deps.rollbackToThread(a)}}toPanelSpec(t){const e=t.elements[t.root];if(!e||e.type!=="ProductCard")return t;const a={...e,type:"ProductDetailsPanel"};return{root:t.root,elements:{...t.elements,[t.root]:a}}}destroy(){this.snapshots.clear(),this._snapshotRebuilders.clear(),this.snapshotTypes.clear(),this.activePanelMessageId=null,this.currentType=null,this.threads=[]}}}));function Oe(t,e){const a=t.replace(/\s+/g," ").trim();return a.length<=e?a:`${a.slice(0,Math.max(0,e-1)).trimEnd()}…`}function Me(t){const e=t.trim();if(e.length===0)return"";if(typeof document<"u"){const a=document.createElement("div");return a.innerHTML=e,(a.textContent??a.innerText??"").replace(/\s+/g," ").trim()}return e.replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/&amp;/gi,"&").replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&#39;/gi,"'").replace(/&quot;/gi,'"').replace(/\s+/g," ").trim()}function Wr(t){if(!t)return null;try{return JSON.parse(t)}catch{return null}}function ap(t,e){return`${encodeURIComponent(t)}::${encodeURIComponent(e||"__guest__")}`}function rn(t){return`${Yr}:${t}`}function kt(t,e){return`${Qr}:${t}:${e}`}function Kr(t){if(t.silent)return!1;const e=typeof t.content=="string"?Me(t.content):"",a="attachment"in t&&t.attachment!==void 0;return e.length>0||t.uiSpec!==void 0||a}function np(t,e=Xr){return t.filter(a=>!(a.status==="streaming"&&!Kr(a))).map(a=>{const n={id:a.id,role:a.role,timestamp:a.timestamp,status:a.status==="error"?"error":"done"};return a.threadId!==void 0&&(n.threadId=a.threadId),a.content!==void 0&&(n.content=a.content),a.attachment!==void 0&&Me(n.content??"").length===0&&(n.content=e),a.uiSpec!==void 0&&(n.uiSpec=a.uiSpec),a.frontendOnly&&(n.frontendOnly=!0),a.silent&&(n.silent=!0),a.renderHint!==void 0&&(n.renderHint=a.renderHint),a.photoAnalysis!==void 0&&(n.photoAnalysis=a.photoAnalysis),n})}function ip(t){const e=t.find(n=>n.role==="user"&&!n.silent&&typeof n.content=="string"&&Me(n.content).length>0);if(e?.content)return Oe(Me(e.content),72);const a=t.find(n=>Kr(n));return a?.content?Oe(Me(a.content),72):"New chat"}function rp(t){for(let e=t.length-1;e>=0;e--){const a=t[e];if(!(!a||a.silent)){if(typeof a.content=="string"&&a.content.trim().length>0){const n=Me(a.content);if(n.length>0)return Oe(n,140)}if(a.uiSpec){const n=a.uiSpec.elements[a.uiSpec.root];if(n?.type==="PanelRestoreCard"){const i=n.props??{},r=typeof i.ctaLabel=="string"?i.ctaLabel.trim():"";if(r.length>0)return Oe(r,140)}if(n?.type)return Oe(n.type,140)}}}return""}function op(t){return t.filter(e=>!e.silent).length}function sp(t){return{...t,title:Oe(Me(t.title),72)||"New chat",preview:Oe(Me(t.preview),140)}}function cp(t){return{...t,title:Oe(Me(t.title),72)||"New chat",preview:Oe(Me(t.preview),140)}}var on,Yr,Qr,Zr,Xr,Jr,lp=L((()=>{on=1,Yr="gengage:chat-history:index",Qr="gengage:chat-history:session",Zr=12,Xr="Image attachment",Jr=class{constructor(t,e,a=typeof window<"u"?window.localStorage:null){this._appId=t,this._userId=e,this._storage=a,this._scope=ap(t,e)}createHistoryId(){return crypto.randomUUID()}findSessionId(t,e){return!t||!e?null:this.listSessions().find(a=>a.sourceSessionId===t&&a.createdAt===e)?.id??null}listSessions(){const t=Wr(this._storage?.getItem(rn(this._scope))??null);return t?t.map(sp).sort((e,a)=>a.updatedAt.localeCompare(e.updatedAt)):[]}loadSession(t){const e=Wr(this._storage?.getItem(kt(this._scope,t))??null);return!e||e.version!==on?null:cp(e)}saveSession(t){if(!this._storage)return null;const e=np(t.messages,t.attachmentPlaceholder);if(!e.some(p=>p.role==="user"&&!p.silent&&typeof p.content=="string"&&Me(p.content).length>0))return null;const a=new Date().toISOString(),n=ip(e),i=rp(e),r={};for(const[p,d]of t.panelSnapshots)d.querySelector(".gengage-chat-panel-skeleton")||(r[p]=d.innerHTML);const o={};for(const[p,d]of t.panelSnapshotTypes)o[p]=d;const s={};for(const[p,d]of t.panelAiSpecByThread??[])s[p]=d;const c={version:on,id:t.historyId,userId:t.userId,appId:t.appId,sourceSessionId:t.sourceSessionId,title:n,preview:i,createdAt:t.chatCreatedAt,updatedAt:a,messageCount:op(e),pageType:t.pageType,sku:t.sku,messages:e,currentThreadId:t.currentThreadId,lastThreadId:t.lastThreadId,panelThreads:t.panelThreads.length>0?t.panelThreads:void 0,panelSnapshotHtml:Object.keys(r).length>0?r:void 0,panelSnapshotTypes:Object.keys(o).length>0?o:void 0,panelAiSpecByThread:Object.keys(s).length>0?s:void 0,lastBackendContext:t.lastBackendContext},l=this.listSessions().filter(p=>p.id!==t.historyId);for(l.unshift({id:c.id,title:c.title,preview:c.preview,createdAt:c.createdAt,updatedAt:c.updatedAt,messageCount:c.messageCount,pageType:c.pageType,sku:c.sku,sourceSessionId:c.sourceSessionId});l.length>Zr;){const p=l.pop();p&&this._storage.removeItem(kt(this._scope,p.id))}return this._commitRecord(c,l)?c:null}deleteSession(t){if(!this._storage)return;const e=this.listSessions().filter(a=>a.id!==t);this._storage.removeItem(kt(this._scope,t));try{this._storage.setItem(rn(this._scope),JSON.stringify(e))}catch{}}_commitRecord(t,e){if(!this._storage)return!1;const a=[...e];for(;a.length>0;)try{return this._storage.setItem(kt(this._scope,t.id),JSON.stringify(t)),this._storage.setItem(rn(this._scope),JSON.stringify(a)),!0}catch{const n=a.pop();if(!n)break;if(n.id!==t.id){this._storage.removeItem(kt(this._scope,n.id));continue}break}return!1}}})),sn,gp=L((()=>{de(),Jn(),sn=class{constructor(t){this.favoritedSkus=new Set,this._favoritesCache=new Map,this._persistLock=Promise.resolve(),this._db=t}get db(){return this._db}set db(t){this._db=t}async persist(t){if(!this._db)return;const e=this._persistLock;let a;this._persistLock=new Promise(n=>{a=n}),await e;try{await this._persistImpl(t)}finally{a()}}async _persistImpl(t){if(!this._db)return;const e=t.messages.map(r=>{const o={id:r.id,role:r.role,timestamp:r.timestamp,status:r.status==="streaming"?"done":r.status};return r.threadId!==void 0&&(o.threadId=r.threadId),r.content!==void 0&&(o.content=r.content),r.frontendOnly&&(o.frontendOnly=!0),r.silent&&(o.silent=!0),o}),a={};for(const[r,o]of t.panelSnapshots)o.querySelector(".gengage-chat-panel-skeleton")||(a[r]=o.innerHTML);const n={};for(const[r,o]of t.panelSnapshotTypes??[])n[r]=o;const i={};for(const[r,o]of t.panelAiSpecByThread??[])i[r]=o;await this._db.saveSession({userId:t.userId,appId:t.appId,sessionId:t.sessionId,messages:e,currentThreadId:t.currentThreadId,lastThreadId:t.lastThreadId,createdAt:t.chatCreatedAt,panelThreads:t.panelThreads.length>0?t.panelThreads:void 0,panelSnapshotHtml:Object.keys(a).length>0?a:void 0,panelSnapshotTypes:Object.keys(n).length>0?n:void 0,panelAiSpecByThread:Object.keys(i).length>0?i:void 0,sku:t.sku}),t.lastBackendContext&&t.currentThreadId&&await this._db.saveContext({sessionId:t.sessionId,threadId:t.currentThreadId,context:t.lastBackendContext});for(const r of t.messages)r.uiSpec&&r.threadId&&await this._db.savePayload({threadId:r.threadId,messageId:r.id,uiSpec:r.uiSpec})}async saveAndOpenURL(t,e,a,n=i=>{Xn(i)}){try{await e()}catch{}a?.send("openURLInNewTab",{url:t}),he(t)&&n(t)}async loadPayload(t,e){if(!this._db)return null;for(let a=0;a<3;a++){try{const n=await this._db.loadPayload(t,e);if(n)return n.uiSpec}catch{}a<2&&await new Promise(n=>setTimeout(n,100))}return null}async loadFavorites(t,e){if(this._db)try{const a=await this._db.loadFavorites(t,e);for(const n of a)this.favoritedSkus.add(n.sku),this._favoritesCache.set(n.sku,n)}catch{}}getFavoriteProducts(){return[...this._favoritesCache.values()].sort((t,e)=>(e.savedAt??"").localeCompare(t.savedAt??""))}async toggleFavorite(t,e,a,n){if(this.favoritedSkus.has(a))this.favoritedSkus.delete(a),this._favoritesCache.delete(a),this._db&&await this._db.removeFavorite(t,e,a);else{const i={userId:t,appId:e,sku:a,name:n.name,imageUrl:n.imageUrl,price:n.price,savedAt:new Date().toISOString()};this.favoritedSkus.add(a),this._favoritesCache.set(a,i),this._db&&await this._db.saveFavorite(i)}}close(){this._db?.close(),this._db=null}}}));function dp(t,e){for(let a=t.length-1;a>=0;a--){const n=t[a],i=e.getAssistantReadState(n);if(i!==void 0&&i!=="seen")return n}return null}var Zt,cn,pp=L((()=>{Zt=t=>`${t}:assistant`,cn=class{constructor(){this.groups={},this.pinnedToBottom=!0,this.userInteracting=!1,this.focusedThreadId=null,this.shown=!1,this.lastAutoAnchoredGroupId=null,this.scrollRequest=null,this._nextScrollId=1}setShown(t){this.shown=t,t||(this.userInteracting=!1,this.pinnedToBottom=!0,this.focusedThreadId=null,this.scrollRequest=null)}reset(){this.groups={},this.pinnedToBottom=!0,this.userInteracting=!1,this.focusedThreadId=null,this.lastAutoAnchoredGroupId=null,this.scrollRequest=null}registerAssistantActivity(t){const e=Zt(t),a=this.groups[e],n=this.shown&&this.pinnedToBottom&&!this.userInteracting?"active_unread":"unseen";this.groups[e]={id:e,threadId:t,readState:a?.readState==="seen"?n:a?.readState??n,status:"streaming",updatedAt:Date.now()},a?.readState==="seen"&&this.lastAutoAnchoredGroupId===e&&(this.lastAutoAnchoredGroupId=null)}finalizeAssistantGroup(t){const e=Zt(t),a=this.groups[e];a&&(a.status="complete",a.updatedAt=Date.now())}setGroupReadStates(t){const e=Date.now();for(const{groupId:a,readState:n}of t){const i=this.groups[a];!i||i.readState===n||(i.readState=n,i.updatedAt=e)}}requestThreadFocus(t,e="smooth"){this.focusedThreadId=t,this.scrollRequest={id:this._nextScrollId++,type:"thread",threadId:t,behavior:e}}requestScrollToBottom(t="smooth"){this.scrollRequest={id:this._nextScrollId++,type:"bottom",behavior:t}}consumeScrollRequest(t){this.scrollRequest?.id===t&&(this.scrollRequest=null)}releaseFocusedThread(){this.focusedThreadId=null}setFocusedThreadId(t){this.focusedThreadId=t}markGroupAutoAnchored(t){this.lastAutoAnchoredGroupId=t}shouldBlockStreamAutoScroll(){return this.shown&&this.userInteracting&&!this.pinnedToBottom}getAssistantReadState(t){return this.groups[Zt(t)]?.readState}}}));function hp(t){const{label:e,avatarUrl:a,primaryColor:n,secondaryColor:i="#111827",fontFamily:r="inherit",labelClassName:o="gengage-pill-launcher-label",styleId:s="gengage-pill-launcher-style",mobileBreakpoint:c=768,desktopWidth:l="188px",desktopHeight:p="60px",iconSize:d="46px"}=t,h=`${parseInt(l,10)-14}px`,f=`${parseInt(p,10)-4}px`,b=`${parseInt(d,10)-4}px`,m=`
468
468
  :host {
469
469
  --pill-primary: ${n};
470
470
  --pill-secondary: ${i};
@@ -543,6 +543,6 @@ button[data-gengage-part="chat-launcher-button"] img {
543
543
  flex-basis: ${b} !important;
544
544
  }
545
545
  }
546
- `.trim(),u=()=>{for(const k of document.querySelectorAll("[data-gengage-widget]")){if(!(k instanceof HTMLElement))continue;const P=k.shadowRoot;if(P&&(P.querySelector('[data-gengage-part="chat-launcher-button"]')||P.querySelector(".gengage-chat-root")))return k}return null},g=k=>{if(k.getElementById(s))return;const P=document.createElement("style");P.id=s,P.textContent=m,k.appendChild(P)},v=ve(o),_=k=>{g(k);const P=k.querySelector('[data-gengage-part="chat-launcher-button"]');if(!(P instanceof HTMLButtonElement))return!1;const w=k.querySelector('[data-gengage-part="chat-header-avatar"]');if(w instanceof HTMLImageElement){const z=k.querySelector('[data-gengage-part="chat-launcher-button"] img');(!z||w.src===z.src)&&w.classList.remove("gengage-chat-header-avatar--logo")}if(P.querySelector(`.${v}`))return!0;P.setAttribute("aria-label",e);const E=document.createElement("span");return E.className=o,E.textContent=e,P.appendChild(E),!0};return{launcherImageUrl:a,apply:async k=>{if(k){g(k),await Promise.resolve();for(let w=0;w<90;w++){if(_(k))return;await new Promise(E=>requestAnimationFrame(()=>E()))}return}const P=u();P?.shadowRoot&&g(P.shadowRoot),await Promise.resolve();for(let w=0;w<90;w++){const E=u()?.shadowRoot??null;if(E&&(g(E),_(E)))return;await new Promise(z=>requestAnimationFrame(()=>z()))}}}}var up=L((()=>{It()}));function mp(t){return t.toLocaleLowerCase("tr-TR").replace(/ç/g,"c").replace(/ğ/g,"g").replace(/ı/g,"i").replace(/ö/g,"o").replace(/ş/g,"s").replace(/ü/g,"u").replace(/[^a-z0-9]+/g," ").trim().replace(/\s+/g," ")}function fp(t){if(!t.trim()||t.length>to||/[??]/.test(t))return!1;const e=mp(t);if(!e||Ve.negativePattern.test(e))return!1;const a=e.split(" ");for(;a.length>0&&ao.has(a[0]);)a.shift();for(;a.length>0&&no.has(a[a.length-1]);)a.pop();return a.length===1?so.has(a[0]):a.length!==2?!1:io.has(a[0])&&ro.has(a[1])?!0:a[0]==="satin"&&oo.has(a[1])}function eo(t){return fp(t)?"directAddToCart":null}var to,Ve,ao,no,io,ro,oo,so,bp=L((()=>{to=96,Ve={leadingTokens:["bana","beni","bi","bir","bu","bunu","da","de","hemen","lutfen","su","sunu","urun","urunu"],trailingTokens:["artik","da","de","lutfen","misin","misiniz","ya"],negativePattern:/\b(?:ekleyem|ekleyemed|eklenem|eklenm|satin aldiktan|satin aldim|iade|iptal|olmuyor|olmadi|olmedi|sorun|problem)\b/,cartTargets:["sepete","sepetime"],cartVerbs:["at","atar","atsana","ekle","ekler","eklesene"],buyVerbs:["al","alir","alsana"],compactBuyVerbs:["satinal","satinalsana"]},ao=new Set(Ve.leadingTokens),no=new Set(Ve.trailingTokens),io=new Set(Ve.cartTargets),ro=new Set(Ve.cartVerbs),oo=new Set(Ve.buyVerbs),so=new Set(Ve.compactBuyVerbs)}));function vp(t,e){if(ua(t))return!0;const a=t.message.trim();if(co.test(a)||lo.some(r=>r.test(a)))return!0;const n=e.trim();if(n.length>po)return!0;const i=n.split(/\n/).length;return!!(i>=6||go.some(r=>r.test(n))||i>=3&&/\bat\s+/.test(n))}var co,lo,go,po,yp=L((()=>{it(),co=/^HTTP\s+\d{3}\b/i,lo=[/response body is null/i,/streaming not supported/i,/ECONNREFUSED/i,/ECONNRESET/i,/ETIMEDOUT/i,/socket hang up/i,/net::ERR_/i,/502\s+bad gateway/i,/503\s+service unavailable/i,/504\s+gateway timeout/i],go=[/Traceback\s*\(/i,/\bSyntaxError\b/,/\bReferenceError\b/,/\bTypeError\s*:/,/\bat\s+[\w./()[\]<>-]+:\d+:\d+/,/\n\s+at\s+\w/,/undefined is not/i,/is not a function/i,/<anonymous>/i,/ChunkLoadError/i,/UnhandledPromiseRejection/i],po=720}));function ln(t){const e=t.toLowerCase();return uo.some(a=>e.includes(a))||mo.test(e)}function ho(t){try{return localStorage.getItem(`${dn}_${t}`)==="1"}catch{return!1}}function gn(t){try{localStorage.setItem(`${dn}_${t}`,"1")}catch{}}function xp(t){const e=new DOMParser().parseFromString(t,"text/html").body,a=Array.from(e.children);for(const n of a)if(ln(n.textContent??"")){n.remove();break}return e.innerHTML.trim()}function _p(t){const e=new DOMParser().parseFromString(t,"text/html");for(const a of Array.from(e.body.children))if(ln(a.textContent??""))return a.outerHTML;return null}function wp(t){return t?fo[t.toLowerCase().slice(0,2)]??"TURKISH":"TURKISH"}var dn,uo,mo,fo,kp=L((()=>{dn="gengage_kvkk_shown",uo=["kvkk","kişisel veri","kisisel veri"],mo=/\b6698\b/,fo={tr:"TURKISH",en:"ENGLISH",de:"GERMAN",fr:"FRENCH"}})),bo,Cp=L((()=>{bo=':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;min-height:44px;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:0 16px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;min-height:48px;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;align-self:center;font-size:13px;line-height:1.35;display:block}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;min-height:20px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}:host{all:initial;font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px)}.gengage-chat-root button,.gengage-chat-root [role=button],.gengage-chat-root a{cursor:pointer}.gengage-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-root{z-index:var(--gengage-z-index,2147480000);--_gengage-chat-offset:var(--gengage-chat-offset,20px);--_gengage-chat-launcher-bottom:var(--gengage-chat-launcher-bottom,20px);--_gengage-chat-launcher-right:var(--gengage-chat-launcher-right,20px);--_gengage-chat-launcher-width:var(--gengage-chat-launcher-width,56px);--_gengage-chat-launcher-height:var(--gengage-chat-launcher-height,56px);--_gengage-chat-launcher-mobile-width:var(--gengage-chat-launcher-mobile-width,var(--_gengage-chat-launcher-width));--_gengage-chat-launcher-mobile-height:var(--gengage-chat-launcher-mobile-height,var(--_gengage-chat-launcher-height));--_gengage-chat-drawer-width:var(--gengage-chat-width,400px);--_gengage-chat-radius:var(--gengage-chat-shell-radius,1rem);--_gengage-chat-header-height:var(--gengage-chat-header-height,72px);--_gengage-chat-conversation-width:var(--gengage-chat-conversation-width,396px);--_gengage-chat-panel-min-width:var(--gengage-chat-panel-min-width,320px);--_gengage-chat-panel-max-width:var(--gengage-chat-panel-max-width,1200px);--_gengage-chat-input-height:var(--gengage-chat-input-height,48px);--_gengage-chat-shadow:var(--gengage-chat-shadow,var(--shadow-3));--_gengage-border-color:var(--border-default);--_gengage-discount-color:var(--gengage-discount-color,var(--client-primary));--_gengage-campaign-reason-start:var(--gengage-campaign-reason-color,var(--client-primary));--_gengage-campaign-reason-end:var(--gengage-campaign-reason-color-end,var(--gengage-campaign-reason-color,var(--client-primary)));--_gengage-success-color:var(--success);--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-surface-secondary:var(--surface-card-soft);--_gengage-surface-muted:var(--surface-card-soft);--_gengage-surface-dark:var(--surface-shell);--_gengage-rating-color:var(--rating);--_gengage-error:var(--error);--_gengage-danger-color:var(--error);--_gengage-ghost-border:var(--gengage-ghost-border,color-mix(in srgb, var(--client-primary) 16%, transparent));position:fixed}.gengage-chat-backdrop{z-index:0;pointer-events:none;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;display:none;position:fixed;inset:0}.gengage-chat-root--open:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:none;background:var(--gengage-chat-float-backdrop,transparent);display:block}.gengage-chat-root--open.gengage-chat-root--maximized-host-chrome:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:auto;background:var(--gengage-chat-float-backdrop,color-mix(in srgb, var(--surface-overlay) 72%, transparent))}.gengage-chat-root.gengage-chat--overlay.gengage-chat-root--open .gengage-chat-backdrop{background:var(--gengage-chat-overlay-backdrop,var(--surface-overlay));pointer-events:auto}.gengage-chat-launcher-container{bottom:var(--gengage-chat-launcher-anchor-bottom,var(--_gengage-chat-launcher-bottom));right:var(--gengage-chat-launcher-anchor-right,var(--_gengage-chat-launcher-right));z-index:var(--gengage-z-index,2147480000);transition:bottom var(--gengage-chat-launcher-anchor-transition,0s) ease, right var(--gengage-chat-launcher-anchor-transition,0s) ease;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.gengage-chat-launcher-content-area,.gengage-chat-launcher-content-area-bottom{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.gengage-chat-launcher-content-area:empty,.gengage-chat-launcher-content-area-bottom:empty,.gengage-chat-root--open .gengage-chat-launcher-content-area,.gengage-chat-root--open .gengage-chat-launcher-content-area-bottom{display:none}.gengage-chat-root--open .gengage-chat-launcher-container{pointer-events:none;opacity:0;transition:opacity .2s}.gengage-chat-launcher{width:var(--_gengage-chat-launcher-width);height:var(--_gengage-chat-launcher-height);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:var(--shadow-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;display:flex;position:relative}.gengage-chat-launcher:hover{box-shadow:var(--shadow-3);transform:none}.gengage-chat-launcher svg{width:28px;height:28px}.gengage-chat-launcher--image-mode{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;overflow:hidden}.gengage-chat-launcher--image-mode:hover{box-shadow:none}.gengage-chat-launcher--image-mode img{object-fit:contain;width:100%;height:100%}.gengage-chat-launcher-img--mobile,.gengage-chat-root--mobile .gengage-chat-launcher-img--desktop{display:none}.gengage-chat-root--mobile .gengage-chat-launcher-img--mobile{display:block}.gengage-chat-launcher--hidden-mobile{display:none!important}.gengage-chat-launcher-tooltip{border-radius:var(--radius-control);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-2);padding:6px 12px;font-size:13px;font-weight:500;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.gengage-chat-launcher-tooltip:after{content:"";border:5px solid #0000;border-left-color:var(--surface-shell);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.gengage-chat-launcher:hover .gengage-chat-launcher-tooltip{opacity:1}.gengage-chat-root--open .gengage-chat-launcher-tooltip{display:none}.gengage-chat-drawer{width:var(--_gengage-chat-drawer-width);background:var(--surface-elevated,var(--surface-card));border-left:1px solid var(--border-default);max-height:100dvh;box-shadow:var(--_gengage-chat-shadow);z-index:var(--gengage-z-index,2147480000);opacity:1;border-radius:0;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-launcher-container{right:var(--gengage-chat-launcher-anchor-right,var(--gengage-chat-launcher-mobile-right,16px));bottom:calc(var(--gengage-chat-launcher-anchor-bottom,var(--gengage-chat-launcher-mobile-bottom,16px)) + env(safe-area-inset-bottom,0px))}.gengage-chat-root--mobile .gengage-chat-launcher{width:var(--_gengage-chat-launcher-mobile-width);height:var(--_gengage-chat-launcher-mobile-height)}.gengage-chat-root--mobile .gengage-chat-drawer{border:1px solid var(--border-default);width:100%;max-width:none;max-height:100dvh;box-shadow:var(--shadow-3);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-elevated,var(--surface-card));border-bottom:none;border-radius:16px 16px 0 0;bottom:0;left:0;right:0}.gengage-chat-drawer-handle{display:none}.gengage-chat-root--mobile .gengage-chat-drawer-handle{pointer-events:none;z-index:1;justify-content:center;align-items:center;height:14px;display:flex;position:absolute;top:6px;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gengage-chat-root--mobile .gengage-chat-header button,.gengage-chat-root--mobile .gengage-chat-header a{cursor:pointer;touch-action:auto;-webkit-user-select:auto;user-select:auto}.gengage-chat-root--mobile .gengage-chat-drawer-handle:before{content:"";background:var(--border-strong);pointer-events:none;border-radius:999px;width:36px;height:4px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-drawer{height:min(72dvh,620px);max-height:min(72dvh,620px);top:auto}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-drawer{top:var(--gengage-chat-visual-top,0px);height:var(--gengage-chat-visual-vh,100dvh);max-height:var(--gengage-chat-visual-vh,100dvh);border-radius:0;bottom:auto}.gengage-chat-root--mobile .gengage-chat-input-area{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-default)}.gengage-chat-header{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--gengage-chat-header-bg,var(--ds-header-bg));color:var(--gengage-chat-header-foreground,var(--ds-header-fg));box-shadow:none;border-bottom:1px solid var(--gengage-chat-header-border-bottom,var(--ds-header-border));z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.gengage-chat-header-left{align-items:center;gap:10px;min-width:0;display:flex}.gengage-chat-header-avatar{background:var(--surface-card-soft);border:1px solid var(--border-default);object-fit:contain;border-radius:999px;flex-shrink:0;width:44px;height:44px}.gengage-chat-header-avatar--logo{object-fit:contain;background:0 0;border:none;border-radius:0;width:auto;max-width:92px;height:45px}.gengage-chat-header-info{flex-direction:column;gap:2px;min-width:0;display:flex}.gengage-chat-header-title-row{align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-header-title{letter-spacing:.01em;color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.gengage-chat-header-badge{border-radius:var(--radius-pill);background:var(--ds-badge-brand-bg);min-height:26px;color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 10px;font-size:10px;font-weight:800;line-height:1.5;display:inline-flex}.gengage-chat-header-powered{color:var(--ds-header-muted);align-items:center;gap:4px;font-size:11px;line-height:1.2;text-decoration:none;transition:color .15s;display:flex}.gengage-chat-header-powered:hover{color:var(--client-primary)}.gengage-chat-header-powered svg{opacity:.6;flex-shrink:0;width:12px;height:12px}.gengage-chat-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.gengage-chat-header-btn{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}@media (width<=374px){.gengage-chat-header{gap:8px;padding:10px}.gengage-chat-header-right{flex-shrink:1;gap:4px;min-width:0}.gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.gengage-chat-header-btn:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-header-btn--fav{position:relative}.gengage-chat-header-btn--reopen-panel,.gengage-chat-root--mobile .gengage-chat-new-chat{display:none}.gengage-chat-header-fav-badge{background:var(--error);min-width:16px;height:16px;color:var(--text-inverse);text-align:center;pointer-events:none;border-radius:999px;padding:0 3px;font-size:9px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.gengage-chat-close{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-close:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.gengage-chat-panel{width:0;transition:width .22s cubic-bezier(.2,.72,.2,1);display:none;overflow:hidden}.gengage-chat-panel--visible{box-sizing:border-box;background:var(--gengage-chat-panel-bg,var(--surface-card));border-right:1px solid var(--border-default);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 24%, transparent) transparent;flex-direction:column;width:440px;min-width:440px;padding:16px;display:flex;position:relative;overflow-y:auto}.gengage-chat-panel--visible::-webkit-scrollbar{width:6px}.gengage-chat-panel--visible::-webkit-scrollbar-track{background:0 0}.gengage-chat-panel--visible::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 24%, transparent);border-radius:3px}.gengage-chat-panel--visible::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-panel-ai-zone{box-sizing:border-box;border-bottom:1px solid var(--border-subtle);flex-shrink:0;width:100%;max-height:min(42vh,320px);margin-bottom:4px;padding:8px 0 12px;overflow:auto}.gengage-chat-panel-ai-zone:has(.gengage-chat-grouping-cards){max-height:min(52vh,520px)}.gengage-chat-panel-ai-zone:has(.gengage-chat-ai-top-picks){max-height:none;overflow:visible}.gengage-chat-panel-ai-zone[hidden]{display:none!important}.gengage-chat-panel-ai-zone-inner{align-items:center;gap:10px;display:flex}.gengage-chat-panel-ai-zone-text{color:var(--text-muted);font-size:13px}.gengage-chat-grouping-section-title{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-section-title{width:100%;color:var(--text-primary);letter-spacing:-.01em;flex-shrink:0;align-self:stretch;margin:0 0 10px;font-size:15px;font-weight:700;display:block}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards{flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;max-height:none;display:flex}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;align-items:stretch;gap:10px;width:100%;min-width:0;margin:0 -2px;padding:2px 2px 10px;display:flex;overflow:auto hidden}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card{box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);width:136px;min-width:136px;max-width:150px;box-shadow:var(--shadow-1);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:12px 10px 14px}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-arrow{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-img{object-fit:cover;border-radius:8px;width:100%;min-width:0;max-width:88px;height:72px;min-height:72px;margin:0 auto}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-body{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-name{font-size:13px;font-weight:700;line-height:1.25}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:11px;line-height:1.3}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-labels{white-space:normal;text-overflow:unset;justify-content:center;margin-top:2px;line-height:1.35;overflow:visible}.gengage-chat-panel-divider{cursor:pointer;background:var(--_gengage-border-color);z-index:2;flex-shrink:0;align-items:center;width:4px;transition:background .15s;display:flex;position:relative}.gengage-chat-panel-divider:hover{background:var(--border-strong)}.gengage-chat-panel-divider--hidden{display:none}.gengage-chat-panel-divider-toggle{border:1px solid var(--_gengage-border-color);background:var(--surface-card);cursor:pointer;width:28px;height:48px;color:var(--text-secondary);box-shadow:var(--shadow-1);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-toggle:hover{background:var(--surface-card-muted);color:var(--client-primary)}.gengage-chat-panel.gengage-chat-panel--collapsed{border-right:none;flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider .gengage-chat-panel-divider-toggle{left:50%;transform:translate(-50%,-50%)}.gengage-chat-conversation{background:var(--surface-card);z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.gengage-chat-drawer--with-panel{width:auto;box-shadow:none;background:0 0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-header{border-radius:0;flex-shrink:0}.gengage-chat-drawer--with-panel .gengage-chat-body{flex:1 1 0;align-items:stretch;gap:0;min-height:0;padding:0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(var(--_gengage-chat-panel-min-width), 56vw, var(--_gengage-chat-panel-max-width));min-width:var(--_gengage-chat-panel-min-width);max-width:var(--_gengage-chat-panel-max-width);background:var(--gengage-chat-panel-bg,var(--surface-card));box-shadow:none;border-right:none;border-radius:0;flex:none;max-height:100dvh;margin:0;padding:0 16px 16px;overflow-y:auto}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle{background:var(--surface-card);width:20px;height:48px;color:var(--client-primary);border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));box-shadow:var(--shadow-1);z-index:10;border-radius:10px;font-size:12px}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle);color:var(--client-primary)}.gengage-chat-drawer--with-panel .gengage-chat-conversation{flex:0 0 var(--_gengage-chat-conversation-width);width:var(--_gengage-chat-conversation-width);background:var(--surface-card);box-shadow:var(--shadow-2);border-left:none}.gengage-chat-drawer--with-panel .gengage-chat-messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 22%, transparent) transparent;padding-right:6px}.gengage-chat-drawer--with-panel .gengage-chat-messages::-webkit-scrollbar{width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel.gengage-chat-panel--collapsed{flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-drawer--with-panel:has(.gengage-chat-panel--collapsed){width:var(--_gengage-chat-conversation-width);background:var(--surface-elevated,var(--surface-card));box-shadow:var(--_gengage-chat-shadow)}.gengage-chat-drawer--with-panel .gengage-chat-footer{display:none}.gengage-chat-messages{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.gengage-chat-messages::-webkit-scrollbar{width:6px}.gengage-chat-messages::-webkit-scrollbar-track{background:0 0}.gengage-chat-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 22%, transparent);border-radius:3px}.gengage-chat-messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-bubble--presentation-collapsed{display:none!important}.gengage-chat-former-messages-btn{z-index:2;border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:color-mix(in srgb, var(--surface-card) 96%, transparent);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);flex-shrink:0;align-self:center;margin-bottom:4px;padding:8px 14px;font-size:13px;font-weight:600;position:sticky;top:0}.gengage-chat-former-messages-btn:hover{background:var(--surface-card-muted)}.gengage-chat-bubble--panel-bookmark{max-width:72%;margin-top:-6px}.gengage-chat-inline-panel-bookmark-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:700}.gengage-chat-inline-panel-bookmark-card{border:1px solid color-mix(in srgb, var(--client-primary) 38%, var(--border-default));background:color-mix(in srgb, var(--surface-card) 94%, transparent);text-align:left;width:100%;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;transition:transform .16s,border-color .16s,box-shadow .16s,background-color .16s;display:flex}.gengage-chat-inline-panel-bookmark-card:hover{border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-inline-panel-bookmark-card--active{background:color-mix(in srgb, var(--client-primary-subtle) 42%, var(--surface-card))}.gengage-chat-inline-panel-bookmark-previews{gap:8px;display:flex}.gengage-chat-inline-panel-bookmark-preview{background:color-mix(in srgb, var(--surface-card-muted) 70%, var(--surface-card));border:1px solid color-mix(in srgb, var(--border-default) 74%, transparent);border-radius:14px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;overflow:hidden}.gengage-chat-inline-panel-bookmark-preview-img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-inline-panel-bookmark-preview-fallback{color:var(--text-primary);font-size:13px;font-weight:700}.gengage-chat-inline-panel-bookmark-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-inline-panel-bookmark-cta{color:var(--client-primary);font-size:13px;font-weight:700}@media (width<=768px){.gengage-chat-bubble--panel-bookmark{display:none!important}}.gengage-chat-bubble{position:relative}@keyframes gengage-chat-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-bubble--user{max-width:85%}.gengage-chat-bubble--assistant{max-width:85%;margin-left:2px}.gengage-chat-bubble--ui-spec{box-shadow:none;background:0 0;border:none;min-width:0;padding:0}.gengage-chat-bubble--ui-spec-only{max-width:min(85%,420px)}.gengage-chat-bubble-ui-spec{width:100%}.gengage-chat-bubble--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.gengage-chat-bubble--panel-restore.gengage-chat-bubble--active{outline:none}.gengage-chat-bubble--assistant:empty{display:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a{color:var(--client-primary);text-decoration:underline}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a:hover{text-decoration:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p{margin:0 0 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p:last-child{margin-bottom:0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text ul,.gengage-chat-bubble--assistant .gengage-chat-bubble-text ol{margin:6px 0;padding-left:20px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text li{margin-bottom:6px;line-height:1.5}.gengage-chat-bubble--assistant .gengage-chat-bubble-text code{background:color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:6px;padding:1px 4px;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text pre{background:color-mix(in srgb, var(--surface-card) 78%, var(--surface-card-soft));border:1px solid var(--border-subtle);border-radius:12px;margin:4px 0;padding:10px 12px;overflow-x:auto}.gengage-chat-bubble--assistant .gengage-chat-bubble-text table{border-collapse:collapse;margin:4px 0;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text th,.gengage-chat-bubble--assistant .gengage-chat-bubble-text td{border:1px solid var(--border-default);padding:4px 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text img{border-radius:12px;max-width:100%;height:auto;margin:4px 0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text h1,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h2,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h3,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h4,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h5,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h6{color:var(--text-primary);margin:8px 0 4px;line-height:1.3}.gengage-chat-bubble--assistant .gengage-chat-bubble-text blockquote{border-left:3px solid var(--border-default);color:var(--text-secondary);margin:4px 0;padding-left:12px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text{overflow-wrap:break-word}.gengage-chat-bubble--photo-analysis{border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card-soft) 80%, white), var(--surface-card))}.gengage-chat-photo-analysis-card{flex-direction:column;gap:10px;display:flex}.gengage-chat-photo-analysis-badge{letter-spacing:.02em;color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 14%, white);border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:800}.gengage-chat-photo-analysis-body{flex-direction:column;gap:12px;display:flex}.gengage-chat-photo-analysis-summary{color:var(--text-primary);margin:0;font-size:14px;line-height:1.55}.gengage-chat-photo-analysis-highlights{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-photo-analysis-section{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:color-mix(in srgb, var(--surface-card-soft) 78%, white);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-photo-analysis-section--celeb{gap:6px}.gengage-chat-photo-analysis-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:12px;font-weight:800}.gengage-chat-photo-analysis-section-list{color:var(--text-primary);gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.gengage-chat-photo-analysis-section-item{margin:0}.gengage-chat-photo-analysis-celeb-name{color:var(--text-primary);margin:0;font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-photo-analysis-celeb-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-photo-analysis-next{background:color-mix(in srgb, var(--client-primary) 9%, white);color:var(--text-primary);border-radius:12px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.45}.gengage-chat-bubble--first{border-left:1px solid var(--ds-message-assistant-border)}.gengage-chat-bubble--first .gengage-chat-bubble-text{font-size:inherit}@media (width<=768px){.gengage-chat-bubble--assistant .gengage-chat-bubble-text{line-height:1.5}.gengage-chat-bubble--user{word-break:break-word;max-width:calc(100% - 16px)}}.gengage-chat-typing{align-self:flex-start;max-width:85%}.gengage-chat-typing-dots{flex-shrink:0}.gengage-chat-typing-text{flex:1;min-width:0}.gengage-chat-typing--presence{justify-content:flex-start;width:fit-content;max-width:100%}.gengage-chat-panel-loading-status{margin-bottom:16px}.gengage-chat-panel-loading-status.gds-progress-loader-panel{box-sizing:border-box;min-width:0;max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status.gds-progress-loader-panel{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status .gengage-chat-panel-loading-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-offline-bar{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 22%, var(--border-default));align-items:center;gap:6px;padding:6px 12px;font-size:12px;line-height:1.4;display:none}.gengage-chat-offline-bar--visible{display:flex}.gengage-chat-offline-bar:before{content:"";background:var(--_gengage-rating-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.gengage-chat-thinking-steps{flex-direction:column;gap:4px;padding:4px 0;display:flex}.gengage-chat-thinking-step{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.gengage-chat-thinking-step-marker{text-align:center;flex-shrink:0;width:16px;font-size:12px}.gengage-chat-thinking-step-marker--done{color:var(--_gengage-success-color)}.gengage-chat-thinking-step-marker--active{color:var(--ai-accent-start);animation:1.5s ease-in-out infinite gengage-thinking-pulse}@keyframes gengage-thinking-pulse{0%,to{opacity:1}50%{opacity:.4}}.gengage-chat-thinking-step-text{line-height:1.4}.gengage-chat-error{border-radius:var(--radius-control);background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));text-align:center;border:1px solid color-mix(in srgb, var(--error) 22%, var(--border-default));justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.gengage-chat-error-retry{border:1px solid color-mix(in srgb, var(--error) 24%, var(--border-default));border-radius:var(--radius-control);background:var(--surface-card);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));cursor:pointer;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.gengage-chat-error-retry:hover{background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 32%, var(--border-default))}.gengage-chat-input-area{border-top:1px solid var(--border-subtle);background:var(--surface-card);z-index:2;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:0;padding:10px 12px 12px;display:flex;position:relative}.gengage-chat-input-pill{--gengage-chat-input-control-size:40px;--gengage-chat-input-shell-pad:6px;--gengage-chat-input-shell-radius:18px;--gengage-chat-input-control-radius:12px;min-width:0;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2));background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--gengage-chat-input-shell-radius);padding:var(--gengage-chat-input-shell-pad);box-sizing:border-box;box-shadow:none;flex:1;align-items:center;gap:10px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:visible}.gengage-chat-input-pill:focus-within{border-color:color-mix(in srgb, var(--client-primary) 28%, white);box-shadow:0 0 0 4px var(--client-focus-ring)}.gengage-chat-input{box-sizing:border-box;min-width:0;min-height:40px;max-height:120px;color:var(--_gengage-text-primary);resize:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:11px 0 9px;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{--gengage-chat-input-control-size:44px;--gengage-chat-input-shell-radius:20px;--gengage-chat-input-control-radius:14px;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2))}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;padding:12px 0 10px;font-size:16px;line-height:1.4;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:inherit}.gengage-chat-send{width:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);min-width:var(--gengage-chat-input-control-size,40px);border:1px solid var(--ds-button-primary-border);border-radius:var(--gengage-chat-input-control-radius,12px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;font-weight:700;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s,transform .15s;display:flex;position:relative}.gengage-chat-send:hover{background:var(--ds-button-primary-bg-hover);box-shadow:none;transform:none}.gengage-chat-send:active{box-shadow:none;transform:translateY(0)}.gengage-chat-send svg{width:18px;height:18px}.gengage-chat-send--stop{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--text-primary)}.gengage-chat-send--stop:hover{background:color-mix(in srgb, var(--surface-card-soft) 86%, var(--client-primary-subtle));border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-send-stop-icon{background:currentColor;border-radius:4px;width:12px;height:12px;display:inline-block}.gengage-chat-send--stop:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.2;transition:opacity .16s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.gengage-chat-send--stop:hover:after,.gengage-chat-send--stop:focus-visible:after{opacity:1}}.gengage-chat-send:disabled{background:var(--ds-neutral-200);border-color:var(--ds-neutral-200);opacity:.5;box-shadow:none;cursor:not-allowed}.gengage-chat-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:4px 10px;font-size:10px}.gengage-chat-uispec{width:100%}.gengage-chat-uispec:empty{display:none}.gengage-chat-uispec>*{animation:.16s cubic-bezier(.2,.7,.2,1) both gengage-chat-widget-enter}@keyframes gengage-chat-widget-enter{0%{opacity:0;transform:translateY(5px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.gengage-chat-action-buttons{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:6px 0 4px;display:flex}.gengage-chat-action-buttons:after{content:"";flex:1 0 auto}.gengage-chat-action-btn{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-pill,999px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;white-space:nowrap;flex:none;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.25;transition:filter .15s,transform .1s}.gengage-chat-action-btn:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-action-btn:active{transform:scale(.97)}.gengage-chat-product-card{border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);background:var(--ds-card-bg);width:160px;min-width:160px;max-width:160px;box-shadow:var(--ds-card-shadow);flex-direction:column;transition:transform .1s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.gengage-chat-product-card:hover{box-shadow:var(--ds-card-shadow-hover);transform:translateY(-2px)}.gengage-chat-product-card-img{object-fit:contain;background:var(--surface-card);box-sizing:border-box;width:100%;height:120px;padding:8px;display:block}.gengage-chat-product-card-body{text-align:center;flex-direction:column;flex:1;gap:4px;padding:8px 10px 10px;display:flex}.gengage-chat-product-card-name{color:var(--_gengage-text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:2.7em;margin-bottom:0;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-card-brand{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-star-half{display:inline-block;position:relative}.gengage-star-half>span{width:.5em;position:absolute;top:0;left:0;overflow:hidden}.gengage-chat-product-card-review-count{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-price,.gengage-chat-product-card-price-block{color:var(--text-primary);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 6px;font-size:16px;font-weight:800;display:flex}.gengage-chat-product-card-current-price{font:inherit;color:var(--gengage-discounted-price-color,var(--text-primary));font-weight:800}.gengage-chat-product-card-original-price{color:var(--_gengage-text-secondary);margin-right:0;font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-campaign-reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0 0 4px;font-size:11px;font-weight:700;line-height:1.25}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.gengage-chat-campaign-reason,.gengage-chat-campaign-price-badge__reason{color:var(--_gengage-campaign-reason-start);background:0 0}}.gengage-chat-product-card-price-stack{flex-direction:column;align-items:flex-start;width:100%;min-width:0;display:flex}.gengage-chat-product-card-price-row{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-card-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.95em;margin:0 1px;display:inline-block}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-original-price{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:16px;font-weight:500;text-decoration:none}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:16px;font-weight:800}.gengage-chat-product-card-meta-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;min-height:34px;display:flex}.gengage-chat-product-card-meta-row--empty{visibility:hidden}.gengage-chat-product-card-rating-compact{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-product-card-rating-compact-value{font-variant-numeric:tabular-nums;color:var(--text-primary)}.gengage-chat-product-card-img-actions{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-product-card-img-actions>*{pointer-events:auto}.gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{position:static}.gengage-chat-price-skeleton{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);vertical-align:middle;background-size:200% 100%;border-radius:4px;width:80px;height:16px;animation:1.5s ease-in-out infinite gengage-skeleton-price-pulse;display:inline-block}@keyframes gengage-skeleton-price-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-product-card-cta{text-align:center;color:var(--client-primary);letter-spacing:.01em;border-top:1px solid var(--border-default);cursor:pointer;background:0 0;margin-top:auto;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:block}.gengage-chat-product-card-cta:hover{color:var(--client-primary-hover);background:var(--surface-card-soft)}.gengage-chat-product-card-cta:active{background:var(--surface-card-soft)}button.gengage-chat-product-card-cta{appearance:none;font:inherit;box-sizing:border-box;border-bottom:none;border-left:none;border-right:none;width:100%;margin:0}.gengage-chat-panel-restore-card{appearance:none;box-sizing:border-box;font:inherit;border:1px solid color-mix(in srgb, var(--client-primary) 34%, var(--border-default));border-radius:calc(var(--radius-control) + 6px);background:var(--surface-card);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:16px 18px;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s;display:flex}.gengage-chat-panel-restore-card--minimal{gap:10px;padding:14px 16px}.gengage-chat-panel-restore-card:hover{background:color-mix(in srgb, var(--surface-card) 92%, var(--client-primary-subtle) 8%);box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));transform:translateY(-1px)}.gengage-chat-panel-restore-card:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:3px}.gengage-chat-panel-restore-card__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:800}.gengage-chat-panel-restore-card__previews{gap:10px;display:flex}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__previews{gap:8px}.gengage-chat-panel-restore-card__thumb{border:1px solid var(--border-default);background:var(--surface-card);border-radius:16px;width:58px;height:58px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8a}.gengage-chat-panel-restore-card__thumb img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-panel-restore-card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:18px;font-weight:700;line-height:1.24;display:-webkit-box;overflow:hidden}.gengage-chat-panel-restore-card__cta{color:var(--client-primary);font-size:15px;font-weight:700}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__cta{letter-spacing:.01em;font-size:14px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card{-webkit-tap-highlight-color:transparent;padding:14px 16px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card__thumb{border-radius:14px;width:52px;height:52px}.gengage-chat-root--mobile .gengage-chat-bubble--active{outline:none}.gengage-chat-product-summary{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0;padding:10px 12px;transition:background .15s,box-shadow .15s,border-color .15s;display:flex}.gengage-chat-product-summary:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-product-summary__image{border-radius:var(--radius-control);border:1px solid var(--border-subtle);background:var(--surface-card-soft);flex-shrink:0;width:64px;height:64px;overflow:hidden}.gengage-chat-product-summary__image img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-product-summary__content{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.gengage-chat-product-summary__name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-product-summary__rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-chat-product-summary__review-count{color:var(--text-secondary);font-size:11px}.gengage-chat-product-summary__price{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:600;line-height:1}.gengage-chat-product-summary__price-original{color:var(--_gengage-text-secondary);font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-product-summary__price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:2px;display:flex}.gengage-chat-product-summary__price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-product-summary__price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-summary__price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.9em;margin:0 1px;display:inline-block}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-original{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:13px;font-weight:500;text-decoration:none}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:13px;font-weight:700}.gengage-chat-product-summary__cta{color:var(--client-primary);border-radius:var(--radius-pill);background:var(--client-primary-subtle);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.gengage-chat-product-summary__cta:hover{background:var(--client-primary-soft)}.gengage-chat-product-summary__cta:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}button.gengage-chat-product-summary__cta{cursor:pointer;font:inherit;border:none}.gengage-chat-product-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:12px;min-height:180px;padding:8px 16px 8px 0;display:flex;overflow-x:auto}.gengage-chat-product-grid>*{scroll-snap-align:start;flex:none}.gengage-chat-product-grid::-webkit-scrollbar{display:none}.gengage-chat-product-grid--pending{filter:blur(3px)saturate(.85);opacity:.75;pointer-events:none;transition:filter .16s ease-out,opacity .16s ease-out;position:relative}.gengage-chat-product-grid--pending:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff59 50%,#0000 100%);animation:1.2s ease-in-out infinite gengage-chat-product-grid-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes gengage-chat-product-grid-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.gengage-chat-product-grid--pending:after{animation:none}}.gengage-chat-review-highlights{padding:4px 0 8px}.gengage-chat-review-empty{color:var(--_gengage-text-secondary);font-size:12px}.gengage-chat-review-subjects-heading{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.gengage-chat-review-subjects{margin-bottom:12px}.gengage-chat-review-subject{color:var(--text-primary);box-shadow:none;gap:6px;padding:7px 11px;font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-review-subject--active{border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}.gengage-chat-review-subject-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.gengage-chat-review-subject-icon svg{width:14px;height:14px;display:block}.gengage-chat-review-subject[data-tone=positive] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-review-subject[data-tone=negative] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--error) 84%, var(--text-primary))}.gengage-chat-review-subject[data-tone=neutral] .gengage-chat-review-subject-icon{color:var(--text-secondary)}.gengage-chat-review-subject-label{color:inherit}.gengage-chat-review-subject-count{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-review-detail{padding:12px}.gengage-chat-review-detail-meta{flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:10px;display:flex}.gengage-chat-review-detail-mentions{color:var(--_gengage-text-primary);font-size:13px;font-weight:700}.gengage-chat-review-detail-positive{color:var(--_gengage-success-color);font-size:13px;font-weight:700}.gengage-chat-review-detail-negative{color:var(--error);font-size:13px;font-weight:700}.gengage-chat-review-snippets{gap:10px;display:grid}.gengage-chat-review-snippet{border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card-soft);padding:8px 10px}.gengage-chat-review-snippet[data-tone=positive]{border-left-color:color-mix(in srgb, var(--success) 40%, var(--border-default))}.gengage-chat-review-snippet[data-tone=negative]{border-left-color:color-mix(in srgb, var(--error) 40%, var(--border-default))}.gengage-chat-review-snippet-text{color:var(--_gengage-text-primary);font-size:13px;line-height:1.4}.gengage-chat-review-snippet-rating{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:700}.gengage-chat-favorites-page{padding:12px}.gengage-chat-favorites-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-favorites-empty-icon{opacity:.25;color:var(--error)}.gengage-chat-favorites-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-favorites-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-favorites-card{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:center;gap:12px;padding:10px 12px;transition:opacity .2s,transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.gengage-chat-favorites-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-favorites-card--removing{opacity:0;transform:translate(8px)}.gengage-chat-favorites-card__image{border-radius:var(--radius-control);background:var(--surface-card-muted);flex-shrink:0;width:56px;height:56px;overflow:hidden}.gengage-chat-favorites-card__image img{object-fit:contain;width:100%;height:100%}.gengage-chat-favorites-card__info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gengage-chat-favorites-card__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.gengage-chat-favorites-card__price{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-favorites-remove{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--error);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex}.gengage-chat-favorites-remove:hover{opacity:1;background:color-mix(in srgb, var(--error) 10%, white)}.gengage-chat-history-page{flex-direction:column;gap:12px;padding:12px;display:flex}.gengage-chat-history-actions{display:flex}.gengage-chat-history-new-chat{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));border-radius:var(--radius-control);background:color-mix(in srgb, var(--client-primary) 9%, white);width:100%;min-height:42px;color:var(--client-primary);cursor:pointer;padding:0 14px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.gengage-chat-history-new-chat:hover{background:color-mix(in srgb, var(--client-primary) 14%, white);border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default))}.gengage-chat-history-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-history-item{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:stretch;gap:8px;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-history-item:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-history-item--active{border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card))}.gengage-chat-history-open{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:12px 14px}.gengage-chat-history-item-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.gengage-chat-history-item-title{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.gengage-chat-history-item-meta{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:600}.gengage-chat-history-item-preview{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-history-delete{border:none;border-left:1px solid color-mix(in srgb, var(--border-default) 84%, transparent);border-top-right-radius:inherit;border-bottom-right-radius:inherit;width:38px;min-width:38px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.gengage-chat-history-delete:hover{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-history-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-history-empty-icon{opacity:.25;color:var(--client-primary)}.gengage-chat-history-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-divider{border:none;border-top:1px solid var(--_gengage-border-color);margin:8px 0}.gengage-chat-divider-wrapper{align-items:center;gap:8px;margin:8px 0;display:flex}.gengage-chat-divider-wrapper hr{border:none;border-top:1px solid var(--_gengage-border-color);flex:1;margin:0}.gengage-chat-divider-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.gengage-chat--overlay .gengage-chat-drawer{border-radius:0;width:100%;max-width:480px;max-height:100%;margin:0 auto;animation:.24s cubic-bezier(.2,.72,.2,1) gengage-chat-overlay-in;position:fixed;inset:0}@keyframes gengage-chat-overlay-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-panel-skeleton{box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:6px 0;display:flex}.gengage-chat-panel-skeleton-block{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;border-radius:10px;height:110px;animation:1.4s infinite gengage-panel-shimmer}@keyframes gengage-panel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-panel-skeleton-block--image{border-radius:8px;height:200px;margin-bottom:12px}.gengage-chat-panel-skeleton-block--text{border-radius:4px;height:16px;margin-bottom:8px}.gengage-chat-panel-skeleton-block--text:nth-child(3){width:80%}.gengage-chat-panel-skeleton-block--text:nth-child(4){width:60%}.gengage-chat-panel-skeleton-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gengage-chat-panel-skeleton-block--card{border-radius:8px;height:120px}.gengage-chat-panel-skeleton--comparison{gap:0;padding:0}.gengage-chat-panel-skeleton--comparison .gengage-chat-panel-loading-status{margin:0;padding:16px 16px 0}.gengage-chat-comparison--skeleton{pointer-events:none;box-sizing:border-box;width:100%}.gengage-chat-comparison-skeleton-shimmer{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;animation:1.4s infinite gengage-panel-shimmer}.gengage-chat-comparison-skeleton-rec-label{border-radius:4px;width:132px;height:12px;margin-bottom:12px}.gengage-chat-comparison-skeleton-rec-img{border-radius:8px;flex-shrink:0;width:80px;height:80px}.gengage-chat-comparison-skeleton-rec-title{border-radius:4px;max-width:100%;height:14px;margin-bottom:6px}.gengage-chat-comparison-skeleton-rec-title--short{width:72%;margin-bottom:8px}.gengage-chat-comparison-skeleton-rec-price{border-radius:4px;width:112px;height:18px}.gengage-chat-comparison-skeleton-hl-label{border-radius:4px;width:96px;height:12px;margin-bottom:6px}.gengage-chat-comparison-skeleton-hl-list{margin:0;padding-left:18px;list-style:none}.gengage-chat-comparison-skeleton-hl-list li{margin-bottom:8px}.gengage-chat-comparison-skeleton-hl-list li:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-hl-line{border-radius:4px;width:100%;height:13px}.gengage-chat-comparison-skeleton-hl-line--medium{width:92%}.gengage-chat-comparison-skeleton-hl-line--short{width:78%}.gengage-chat-comparison-skeleton-kd-heading{border-radius:4px;width:42%;height:14px;margin:0 0 8px}.gengage-chat-comparison-skeleton-kd-line{border-radius:4px;max-width:100%;height:13px;margin-bottom:8px}.gengage-chat-comparison-skeleton-kd-line:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-kd-line:nth-child(odd){width:100%}.gengage-chat-comparison-skeleton-kd-line:nth-child(2n){width:90%}.gengage-chat-comparison-special--skeleton{cursor:default;align-items:center;min-height:44px;display:flex}.gengage-chat-comparison-skeleton-special-line{border-radius:4px;width:56%;max-width:280px;height:14px}.gengage-chat-comparison-skeleton-table-wrap{border:1px solid var(--border-default);background:var(--surface-card);-webkit-overflow-scrolling:touch;border-radius:8px;margin-top:12px;overflow-x:auto}.gengage-chat-comparison-skeleton-table-head,.gengage-chat-comparison-skeleton-table-row{grid-template-columns:72px repeat(3,minmax(0,1fr));align-items:start;gap:8px;padding:10px 12px;display:grid}.gengage-chat-comparison-skeleton-table-head{border-bottom:1px solid var(--_gengage-surface-muted);background:var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-corner{min-height:92px}.gengage-chat-comparison-skeleton-table-col{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-comparison-skeleton-table-th-img{border-radius:6px;flex-shrink:0;width:60px;height:60px}.gengage-chat-comparison-skeleton-table-th-name{border-radius:3px;width:100%;max-width:100%;height:11px}.gengage-chat-comparison-skeleton-table-th-price{border-radius:3px;width:64%;height:13px}.gengage-chat-comparison-skeleton-table-row{border-bottom:1px solid var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-row:last-child{border-bottom:none}.gengage-chat-comparison-skeleton-table-label{border-radius:3px;align-self:center;width:100%;max-width:56px;height:12px}.gengage-chat-comparison-skeleton-table-cell{border-radius:3px;width:100%;height:14px}.gengage-chat-panel-skeleton-block--row{border-radius:4px;height:32px;margin-bottom:4px}.gengage-chat-panel .gengage-chat-product-card{border-radius:var(--radius-card);border:1px solid var(--border-default);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-1);background:var(--surface-card);flex-direction:column;padding:0;display:flex;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.gengage-chat-panel .gengage-chat-product-card-img-actions{gap:6px;top:10px;right:10px}.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{border-radius:8px;width:28px;height:28px}.gengage-chat-panel .gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--client-primary);min-width:36px;height:36px;color:var(--client-on-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;top:10px;left:10px}.gengage-chat-panel .gengage-chat-product-card-brand{display:none}.gengage-chat-panel .gengage-chat-product-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;min-height:auto;padding:4px 0;display:grid;overflow-x:visible}.gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups{grid-template-columns:repeat(auto-fit,minmax(200px,240px));justify-content:start}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups.gengage-chat-product-grid--mobile{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:auto;padding:6px 0 10px;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile .gengage-chat-product-card{box-sizing:border-box;width:100%;min-width:0;max-width:none}.gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;background:var(--surface-card-muted);border-radius:var(--radius-card) var(--radius-card) 0 0;flex-shrink:0;width:100%;position:relative;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card-img{border-radius:inherit;object-fit:cover;object-position:center;box-sizing:border-box;background:0 0;width:100%;height:100%;min-height:0;padding:0;display:block}.gengage-chat-panel .gengage-chat-product-card-body{text-align:left;gap:8px;padding:12px 14px 10px}.gengage-chat-panel .gengage-chat-product-card-meta-row{align-items:center;min-height:38px;margin-bottom:0}.gengage-chat-panel .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-product-card-price-block{color:var(--text-primary);justify-content:flex-start;font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-original-price{color:var(--text-muted);font-size:12px;font-weight:400}.gengage-chat-panel .gengage-chat-product-card-rating-compact{font-size:11px;font-weight:700}.gengage-chat-panel .gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 58%, var(--text-primary))}.gengage-chat-panel .gengage-chat-product-card-name{min-height:0;color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;margin:0 0 2px;font-size:14px;font-weight:600;line-height:1.35}.gengage-chat-panel .gengage-chat-product-card-buy-footer{flex-shrink:0;min-width:0;margin-top:auto;padding:0 14px 16px;display:flex;position:relative}.gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;border:1.5px solid var(--client-primary);background:var(--surface-card);width:100%;min-width:0;min-height:42px;color:var(--client-primary);white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;transition:background .15s,box-shadow .15s;display:flex}.gengage-chat-panel .gengage-chat-product-card-buy-trigger:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);box-shadow:var(--shadow-1)}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{border:1.5px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 28px);min-width:0;color:var(--client-primary);box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;min-height:42px;margin:0 14px 16px;padding:9px 14px;font-size:13px;font-weight:600;display:flex}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta:hover{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-product-card--selected{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, transparent);box-shadow:0 0 0 1px var(--client-primary)}.gengage-chat-panel--visible{min-height:0}.gengage-chat-panel--visible>*{flex-shrink:0}.gengage-chat-load-more-btn{border:1px solid var(--border-default);color:var(--client-primary);cursor:pointer;background:0 0;border-radius:8px;margin:12px auto;padding:8px 24px;font-size:14px;display:block}.gengage-chat-load-more-btn:hover{background:var(--surface-card-muted)}.gengage-chat-product-details-panel{background:var(--surface-card);border:1px solid var(--border-default);box-sizing:border-box;border-radius:16px;flex-direction:column;gap:12px;width:100%;padding:14px;display:flex}.gengage-chat-product-details-media{border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;flex-direction:column;align-items:center;padding:12px;display:flex}.gengage-chat-product-details-img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:300px}.gengage-chat-product-details-content{flex-direction:column;gap:8px;min-width:0;display:flex}.gengage-chat-product-details-title{color:var(--text-primary);margin:0;font-size:17px;font-weight:700;line-height:1.3}.gengage-chat-product-details-rating{background:color-mix(in srgb, var(--warning) 10%, white);width:fit-content;color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-product-details-review-count{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));font-weight:600}.gengage-chat-product-details-price{align-items:baseline;gap:6px;display:flex}.gengage-chat-product-details-original-price{color:var(--text-secondary);font-size:14px;text-decoration:line-through}.gengage-chat-product-details-price-stack{flex-direction:column;align-items:flex-start;gap:2px;width:100%;display:flex}.gengage-chat-product-details-price-stack .gengage-chat-campaign-reason{margin-bottom:2px;font-size:13px;font-weight:600}.gengage-chat-product-details-price--inline{flex-wrap:nowrap;align-items:baseline}.gengage-chat-product-details-price--inline .gengage-chat-product-details-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:1em;margin:0 4px;display:inline-block}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{color:var(--text-secondary);order:0;font-size:22px;font-weight:500;text-decoration:none}.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));order:0;font-size:22px;font-weight:800}.gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:22px;font-weight:800;line-height:1.1}.gengage-chat-product-details-stock{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700}.gengage-chat-product-details-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-details-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-product-details-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.gengage-chat-product-details-cta{border-radius:var(--radius-control,12px);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .14s,transform .12s;display:inline-flex}.gengage-chat-product-details-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-product-details-cta:active{background:var(--ds-button-primary-bg-active)}.gengage-chat-product-details-atc{border-radius:var(--radius-control);background:var(--_gengage-success-color);color:var(--client-on-primary);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:filter .12s,transform .12s;display:inline-flex}.gengage-chat-product-details-atc:hover{filter:brightness(1.08);transform:translateY(-1px)}.gengage-chat-product-details-atc:active{transform:translateY(1px)}.gengage-chat-product-detail-tabs{border-top:1px solid var(--border-default);margin-top:4px;padding-top:12px}.gengage-chat-product-detail-tab-bar{border-bottom:1px solid var(--border-default);gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.gengage-chat-product-detail-tab{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.gengage-chat-product-detail-tab:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-card-soft) 82%, transparent)}.gengage-chat-product-detail-tab--active{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-product-detail-tab-panel{color:var(--text-secondary);font-size:13px;line-height:1.6}.gengage-chat-product-description{color:var(--text-primary);flex-direction:column;gap:10px;display:flex}.gengage-chat-product-description p,.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4,.gengage-chat-product-description ul,.gengage-chat-product-description ol{margin:0}.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-product-description ul,.gengage-chat-product-description ol{padding-left:20px}.gengage-chat-product-description li+li{margin-top:6px}.gengage-chat-product-description strong,.gengage-chat-product-description b{font-weight:800}.gengage-chat-product-specs-table{border-collapse:collapse;width:100%;font-size:13px}.gengage-chat-product-specs-table tr:nth-child(2n){background:var(--surface-card-muted)}.gengage-chat-product-specs-key{color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border-subtle);width:40%;padding:6px 10px;font-weight:600}.gengage-chat-product-specs-value{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:6px 10px}.gengage-chat-product-card-atc{opacity:0;z-index:1;transition:opacity .15s;position:absolute;bottom:42px;right:6px}.gengage-chat-product-card:hover .gengage-chat-product-card-atc{opacity:1}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-atc{opacity:1;width:100%;margin:0;display:flex;position:relative;bottom:auto;right:auto}}.gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translateY(100%)}@media (width<=900px){.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(280px, calc(100vw - var(--_gengage-chat-conversation-width)), 560px);max-width:560px}}.gengage-chat-attachment-preview{background:var(--surface-card-muted);border:1px solid var(--border-default);box-sizing:border-box;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.gengage-chat-attachment-preview--hidden{display:none}.gengage-chat-attachment-preview-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:40px;height:40px}.gengage-chat-attachment-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.gengage-chat-attachment-remove{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.gengage-chat-attachment-remove:hover{color:var(--error)}.gengage-chat-attach-btn{background:var(--surface-card-soft);border:1px solid var(--border-default);cursor:pointer;width:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);border-radius:var(--gengage-chat-input-control-radius,12px);color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s,border-color .15s;display:flex}.gengage-chat-attach-btn:hover{color:var(--client-primary);background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-attach-btn svg{width:20px;height:20px}.gengage-chat-attach-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.gengage-chat-attach-menu{z-index:50;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-card);min-width:196px;box-shadow:var(--shadow-3);margin:0;padding:4px 0;list-style:none;position:absolute;bottom:calc(100% + 8px);left:0}.gengage-chat-attach-menu[hidden]{display:none!important}.gengage-chat-attach-menu-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s;display:flex}.gengage-chat-attach-menu-item:hover{background:var(--surface-card-muted)}.gengage-chat-attach-menu-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-attach-menu-label{flex:1;min-width:0}.gengage-chat-attach-menu-sep{background:var(--border-default);height:1px;margin:4px 10px}.gengage-chat-mic-btn{cursor:pointer;border-radius:var(--radius-control);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s;display:flex}.gengage-chat-mic-btn:hover{color:var(--text-primary);background:var(--surface-card-muted);border-color:var(--border-default)}.gengage-chat-mic-btn svg{width:20px;height:20px}.gengage-chat-mic-btn--active{color:var(--error);animation:1.2s ease-in-out infinite gengage-mic-pulse}.gengage-chat-mic-btn--active:hover{color:color-mix(in srgb, var(--error) 84%, black)}@keyframes gengage-mic-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.gengage-chat-input-area--dragover{outline:2px dashed var(--client-primary);outline-offset:-2px;background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-attachment-thumb{border-radius:8px;width:120px;max-width:100%;height:auto;margin-bottom:6px;display:block}.gengage-chat-root--mobile .gengage-chat-header-btn,.gengage-chat-root--mobile .gengage-chat-close{border-radius:12px;width:44px;height:44px}@media (width<=374px){.gengage-chat-root--mobile .gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:var(--gengage-chat-input-control-size,44px);height:var(--gengage-chat-input-control-size,44px);min-width:var(--gengage-chat-input-control-size,44px);border-radius:var(--gengage-chat-input-control-radius,14px)}.gengage-chat-root--mobile .gengage-chat-attach-btn svg,.gengage-chat-root--mobile .gengage-chat-mic-btn svg{width:22px;height:22px}.gengage-chat-root--mobile .gengage-chat-panel-divider{cursor:ns-resize;touch-action:pan-y;background:0 0;justify-content:center;align-items:center;width:100%;height:20px;display:flex;position:relative;overflow:visible}.gengage-chat-root--mobile .gengage-chat-panel-divider--hidden{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel{border-radius:0;width:100%;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-panel{z-index:10;width:100%;min-width:0;max-width:none;max-height:none;box-shadow:none;background:var(--gengage-chat-panel-bg,var(--surface-card));pointer-events:none;border:none;border-radius:0;flex-direction:column;padding:0 12px 16px;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0;overflow-y:auto;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-panel--visible{pointer-events:auto;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-panel-divider,.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-panel-divider{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-body{flex-direction:row}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-conversation{border-left:none;flex:1;width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-cta{box-sizing:border-box;width:100%;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-panel{gap:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:0;padding:8px}.gengage-chat-root--mobile .gengage-chat-product-details-content{gap:6px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:14px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-product-details-rating{padding:2px 6px;font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-original-price{font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{gap:6px;margin-top:2px}.gengage-chat-root--mobile .gengage-chat-product-details-cta{min-height:38px;padding:0 14px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-product-grid:not(.gengage-chat-product-grid--mobile){scroll-snap-type:x mandatory}.gengage-chat-root--mobile .gengage-chat-product-grid.gengage-chat-product-grid--mobile{scroll-snap-type:none}.gengage-chat-root--mobile .gengage-chat-product-card{box-sizing:border-box;scroll-snap-align:center;width:280px;min-width:280px;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-grid--mobile .gengage-chat-product-card{scroll-snap-align:start;width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-product-card-img-wrapper{justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:180px;display:block}.gengage-chat-root--mobile .gengage-chat-product-card-discount-badge{padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-drawer{border-radius:0;width:100%;max-height:100%;position:fixed;inset:0}.gengage-chat-root--mobile .gengage-chat-bubble{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:min(200px,72%)}.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{flex-shrink:0;width:28px;min-width:28px;height:28px;min-height:28px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-discount-badge{min-width:28px;height:28px;padding:0 6px;font-size:10px;font-weight:700}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer{padding:0 12px 14px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;white-space:normal;text-align:center;-webkit-hyphens:auto;hyphens:auto;min-width:0;max-width:100%;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{box-sizing:border-box;white-space:normal;width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);margin-left:12px;margin-right:12px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-rating-compact{gap:3px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-stock{padding:2px 5px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-messages{scrollbar-width:none;padding:12px 16px}.gengage-chat-root--mobile .gengage-chat-messages::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-drawer{border-top:none}.gengage-chat-root--mobile .gengage-chat-header{border-radius:16px 16px 0 0;min-height:72px;padding-top:22px;padding-bottom:8px}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-header{border-radius:0}.gengage-chat-root--mobile .gengage-chat-conversation{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-product-details-img{object-fit:contain;min-height:0;max-height:200px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{flex-wrap:wrap;gap:8px}.gengage-chat-root--mobile .gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px}.gengage-chat-root--mobile .gengage-chat-input::placeholder{font-size:13px;line-height:inherit}.gengage-chat-kvkk-banner{background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));align-items:flex-start;gap:8px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.gengage-chat-kvkk-content{flex:1;min-width:0}.gengage-chat-kvkk-content a{color:color-mix(in srgb, var(--warning) 82%, var(--text-primary));text-decoration:underline}.gengage-chat-kvkk-dismiss{width:20px;height:20px;color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:18px;line-height:1}.gengage-chat-comparison{box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-comparison-heading{letter-spacing:.05em;color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:700}.gengage-chat-comparison-recommended{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);padding:16px}.gengage-chat-comparison-recommended-label{color:var(--client-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.gengage-chat-comparison-recommended-body{grid-template-columns:minmax(108px,148px) minmax(0,1fr);align-items:flex-start;gap:16px;display:grid}.gengage-chat-comparison-recommended-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;justify-content:center;align-items:center;display:flex;overflow:hidden}.gengage-chat-comparison-recommended-body img,.gengage-chat-comparison-recommended-placeholder{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:8px}.gengage-chat-comparison-recommended-placeholder{background:var(--surface-card-muted)}.gengage-chat-comparison-recommended-info{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.gengage-chat-comparison-recommended-title{color:var(--text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.2}.gengage-chat-comparison-recommended-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gengage-chat-comparison-recommended-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:color-mix(in srgb, var(--warning) 78%, var(--text-primary));border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-comparison-recommended-rating-value{color:var(--text-primary)}.gengage-chat-comparison-recommended-price{color:var(--text-primary);font-size:20px;font-weight:700}.gengage-chat-comparison-highlights{border-top:1px solid var(--border-subtle);padding-top:12px}.gengage-chat-comparison-highlights-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-comparison-highlights ul{color:var(--text-primary);margin:0;padding-left:18px;font-size:14px;line-height:1.55}.gengage-chat-comparison-special{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));border-radius:var(--radius-card);color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin-bottom:12px;padding:12px 16px;font-size:13px}.gengage-chat-comparison-special summary{cursor:pointer;font-weight:600}.gengage-chat-comparison-special ul{margin:8px 0 0;padding-left:18px;line-height:1.6}.gengage-chat-comparison-table{border-collapse:collapse;background:var(--surface-card);width:100%;font-size:13px}.gengage-chat-comparison-table th,.gengage-chat-comparison-table td{text-align:center;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:10px 12px}.gengage-chat-comparison-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.gengage-chat-comparison-table td ul,.gengage-chat-comparison-table td ol{text-align:left;margin:0;padding-left:18px}.gengage-chat-comparison-table td li+li{margin-top:4px}.gengage-chat-comparison-table thead th:not(:first-child){vertical-align:top}.gengage-chat-comparison-table-header-cell{box-sizing:border-box;grid-template-rows:auto 1fr auto;place-items:start center;gap:6px;height:100%;min-height:0;display:grid}.gengage-chat-comparison-table-header-cell--clickable{cursor:pointer;border-radius:var(--radius-control);padding:6px;transition:background .16s,box-shadow .16s,transform .16s}.gengage-chat-comparison-table-header-cell--clickable:hover{background:var(--surface-card-soft);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-comparison-table-header-cell--clickable:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-comparison-table-header-cell img{object-fit:contain;border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-header-img-placeholder{border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-product-name{width:100%;min-width:0;color:var(--text-secondary);text-align:center;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;align-self:start;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-comparison-table-price{color:var(--text-primary);text-align:center;width:100%;font-weight:700}.gengage-chat-comparison-label{text-align:left;color:var(--text-secondary);white-space:nowrap;font-weight:600}.gengage-chat-comparison-selected{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-comparison-recommended-text{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.gengage-chat-comparison-key-differences{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-muted)}.gengage-chat-comparison-key-differences-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.gengage-chat-comparison-key-differences-summary::-webkit-details-marker{display:none}.gengage-chat-comparison-key-differences-summary-label{color:var(--text-primary)}.gengage-chat-comparison-key-differences-summary-meta{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-comparison-key-differences[open] .gengage-chat-comparison-key-differences-summary-meta{opacity:0}.gengage-chat-comparison-key-differences-content{color:var(--text-primary);padding:0 16px 16px;font-size:14px;line-height:1.7}.gengage-chat-comparison-key-differences-content ul,.gengage-chat-comparison-key-differences-content ol{margin:0;padding-left:20px}.gengage-chat-comparison-key-differences-content li+li{margin-top:8px}@media (width<=960px){.gengage-chat-comparison-recommended-body{grid-template-columns:1fr}.gengage-chat-comparison-recommended-title{font-size:20px}}.gengage-chat-pills{border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:8px 12px 6px;position:relative}.gengage-chat-pills-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding-right:28px;display:flex;overflow-x:auto}.gengage-chat-pills-scroll::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-pills-scroll{flex-wrap:wrap;gap:6px}.gengage-chat-root--mobile .gengage-chat-pill{white-space:normal;max-width:100%}.gengage-chat-pill{border:1px solid var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.gengage-chat-pill:hover{background:color-mix(in srgb, var(--client-primary) 12%, white);border-color:color-mix(in srgb, var(--client-primary) 36%, white)}.gengage-chat-pill:active{transform:none}.gengage-chat-pill--rich{border-radius:18px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.gengage-chat-pill-img{object-fit:cover;background:var(--surface-card);border-radius:12px;flex-shrink:0;width:32px;height:32px}.gengage-chat-pill-text{font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-pill-desc{display:none}.gengage-chat-pill--rich .gengage-chat-pill-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;font-weight:500;display:block;overflow:hidden}.gengage-chat-pills-arrow{border:1px solid var(--border-default);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-1);z-index:1;border-radius:12px;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.gengage-chat-pills-arrow:hover{background:var(--surface-card-soft);color:var(--client-primary)}@media (prefers-reduced-motion:reduce){.gengage-chat-uispec>*,.gengage-chat-action-btn,.gengage-chat-product-card,.gengage-chat-product-card-cta,.gengage-chat-send,.gengage-chat-launcher-container,.gengage-chat-launcher,.gengage-chat-pill,.gengage-chat-drawer,.gengage-chat-typing-dots span,.gengage-chat-thinking-step-marker--active,.gengage-chat-bubble,.gengage-chat-panel-skeleton-block,.gengage-chat-ai-toppick-card,.gengage-chat-mic-btn--active,.gengage-chat-ai-toppick-spinner:after,.gengage-chat-cart-toast,.gengage-chat-header-btn--cart-flash{transition:none!important;animation:none!important;transform:none!important}}.gengage-chat-bubble--user{position:relative}.gengage-chat-rollback-btn{border-radius:var(--radius-pill);background:var(--surface-card-muted);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.gengage-chat-bubble--user:hover .gengage-chat-rollback-btn{opacity:1}.gengage-chat-rollback-btn:hover{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-bubble--hidden{display:none}.gengage-chat-ai-top-picks{flex-direction:column;gap:12px;padding:8px 0;scroll-margin-top:60px;display:flex}.gengage-chat-ai-top-picks-title{color:var(--text-primary);margin:0 0 4px;font-size:15px;font-weight:600}.gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:10px;min-width:0;display:flex}.gengage-chat-ai-top-picks-rest,.gengage-chat-ai-toppick-top-row{display:contents}.gengage-chat-ai-toppick-detail{width:100%;min-width:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks{gap:0;padding-top:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-title{flex-shrink:0;width:100%;margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,auto);align-items:stretch;gap:12px;margin:0;padding:12px 0;display:grid;overflow:visible}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex:initial;scroll-snap-align:none;width:100%;min-width:0;max-width:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child{grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:12px 18px;display:grid}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail){grid-template-rows:auto auto auto}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex-direction:column;align-items:stretch}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{max-height:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-media{aspect-ratio:4/3;grid-area:1/1/span 2;max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-media{grid-row:1/span 3}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-detail{grid-area:2/2;min-width:0;padding-top:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{object-fit:contain;width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-height:0;padding:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-body{grid-area:1/2;padding-top:6px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-cta{grid-row:3}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:calc(100% - 24px);color:var(--ds-button-secondary-fg);align-self:stretch;margin:14px 12px 12px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:auto;min-width:180px;color:var(--ds-button-secondary-fg);grid-area:2/2;place-self:end start;margin:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-secondary-bg-hover);filter:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.gengage-chat-ai-toppick-rating-icon{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-ai-toppick-rating-value{color:var(--text-primary)}.gengage-chat-ai-toppick-media .gengage-chat-ai-toppick-discount-badge{background:var(--client-primary);color:var(--client-on-primary);z-index:1;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.2;position:absolute;top:4px;left:4px;right:auto}.gengage-chat-ai-toppick-card--winner,.gengage-chat-ai-toppick-card--compact{--_badge-inset-top:12px;--_badge-height:30px;box-sizing:border-box;padding:calc(var(--_badge-inset-top) + var(--_badge-height) + 6px) 12px 12px;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;transition:box-shadow .2s,background .15s,transform .15s;display:flex;position:relative;overflow:visible}.gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-card--winner:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default)}.gengage-chat-ai-toppick-card--compact:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-ai-toppick-badge{top:var(--_badge-inset-top,12px);z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.04em;pointer-events:none;white-space:normal;border-radius:999px;align-items:center;max-width:calc(100% - 28px);margin:0;padding:8px 14px;font-size:11px;font-weight:800;line-height:1.25;display:inline-flex;position:absolute;left:14px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary);box-shadow:0 10px 18px color-mix(in srgb, var(--client-primary) 20%, transparent)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card);color:color-mix(in srgb, var(--client-primary) 72%, var(--text-primary));border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin-top:4px;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.gengage-chat-ai-toppick-img{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:4px}.gengage-chat-ai-toppick-body{flex-direction:column;flex:1;gap:0;min-width:0;padding:0;display:flex}.gengage-chat-ai-toppick-name{color:var(--text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.375;display:-webkit-box;overflow:hidden}.gengage-chat-ai-toppick-role{color:var(--client-primary);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.gengage-chat-ai-toppick-labels{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.gengage-chat-ai-toppick-label{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.gengage-chat-ai-toppick-label[data-sentiment=positive]{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=negative]{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=neutral]{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-reason{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.5}.gengage-chat-ai-toppick-review{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-primary);border-radius:14px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-snippet{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-price{color:var(--text-primary);margin-top:4px;font-size:14px;font-weight:700}.gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-ai-toppick-original-price{color:var(--text-secondary);font-size:12px;font-weight:400;text-decoration:line-through}.gengage-chat-ai-toppick-price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:4px;display:flex}.gengage-chat-ai-toppick-price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-campaign-price-badge{box-sizing:border-box;border-radius:var(--radius-control,10px);background-image:linear-gradient(var(--gengage-campaign-price-badge-fill,#fff) 0 0), linear-gradient(135deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;flex-direction:row;align-items:center;gap:8px;max-width:100%;padding:7px 9px;display:inline-flex}.gengage-chat-campaign-price-badge__logo{flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-campaign-price-badge__logo img{object-fit:contain;width:auto;max-width:64px;height:auto;max-height:26px;display:block}.gengage-chat-campaign-price-badge__body{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;min-width:0;display:flex}.gengage-chat-campaign-price-badge__reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-campaign-price-badge__sale{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800;line-height:1.15}.gengage-chat-product-card-price-row .gengage-chat-campaign-price-badge__sale{font-size:13px}.gengage-chat-product-summary__price .gengage-chat-campaign-price-badge__sale{font-size:12px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge{border-radius:var(--radius-control,12px);padding:9px 11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__reason{font-size:11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__sale{font-size:18px}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge)){align-items:last baseline}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-ai-toppick-price-sep,.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-card-price-sep,.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-summary__price-sep,.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-details-price-sep){align-self:last baseline}.gengage-chat-ai-toppick-price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-ai-toppick-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.85em;margin:0 1px;display:inline-block}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-original-price{font-size:14px;font-weight:500;text-decoration:none}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800}.gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control,12px);background:var(--ds-button-primary-bg);width:calc(100% - 24px);color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;box-sizing:border-box;opacity:0;pointer-events:none;flex-shrink:0;align-self:stretch;margin:14px 12px 12px;padding:8px 0;font-size:13px;font-weight:700;transition:opacity .18s,transform .18s,background .15s;display:block;transform:translateY(6px)}.gengage-chat-ai-toppick-card--winner:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--winner:focus-within .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:focus-within .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;transform:translateY(0)}.gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-ai-toppick-spinner{background:color-mix(in srgb, var(--surface-card) 78%, transparent);z-index:6;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gengage-chat-ai-toppick-spinner:after{content:"";border:3px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite gengage-spin}@keyframes gengage-spin{to{transform:rotate(360deg)}}.gengage-chat-root--mobile .gengage-chat-ai-top-picks{gap:8px;padding:4px 0}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-title{margin:0 0 2px;font-size:14px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:8px;min-width:0;padding:6px 0 2px;display:flex;overflow:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child{flex-direction:column;align-items:stretch;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child.gengage-chat-ai-toppick-card--winner{flex-direction:column}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex-flow:row;gap:8px;min-width:0;margin:0 -2px;padding:2px 2px 8px;display:flex;overflow:auto visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest--uniform-mobile{scroll-snap-type:none;flex-direction:column;margin:0;padding:0;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest::-webkit-scrollbar{width:0;height:0;display:none}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest .gengage-chat-ai-toppick-card--compact{scroll-snap-align:start;flex:0 0 min(82vw,272px);width:min(82vw,272px);min-width:0;max-width:272px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest--uniform-mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex:none;width:100%;max-width:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:6px 8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 28%, var(--border-default));margin-bottom:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default);box-shadow:none;flex-direction:column;align-items:stretch}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform{margin-top:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-top-row,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:10px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:10px;flex:0 0 clamp(96px,30vw,124px);width:clamp(96px,30vw,124px);height:clamp(96px,30vw,124px);max-height:none;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-body{flex:1;min-width:0;padding-top:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-detail{width:100%;margin-top:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-reason{color:var(--text-primary);margin:0;font-size:12px;line-height:1.45;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-review{color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;margin-top:8px;padding:8px 10px;font-size:12px;font-style:italic;line-height:1.4;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:8px;flex:0 0 64px;width:64px;height:64px;max-height:64px;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;max-height:100%;padding:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-width:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-rating{display:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-detail{width:100%;margin-top:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-role-line{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:9px;font-weight:600;line-height:1.15}.gengage-chat-root--mobile .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:3px;right:5px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:5px;right:6px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-badge{letter-spacing:.04em;background:var(--client-primary);max-width:calc(100% - 18px);color:var(--client-on-primary);box-shadow:none;border:none;padding:2px 6px;font-size:8px;font-weight:700;line-height:1.15;top:-14px;left:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-name{margin-bottom:1px;font-size:12px;line-height:1.22}.gengage-chat-root--mobile .gengage-chat-ai-toppick-name{margin-bottom:2px;font-size:13px;line-height:1.28}.gengage-chat-root--mobile .gengage-chat-ai-toppick-rating{gap:3px;margin-top:2px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-price{margin-top:1px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-price{margin-top:2px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-original-price{font-size:11px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-labels,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{display:none!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;border:1px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 16px);color:var(--client-primary);box-shadow:none;filter:none;align-self:stretch;margin:8px 8px 6px;padding:6px 0;font-size:12px;font-weight:600;transform:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta{display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta:hover{background:color-mix(in srgb, var(--client-primary) 10%, var(--surface-card));color:var(--client-primary);border-color:var(--client-primary);filter:none}.gengage-chat-root--mobile .gengage-chat-rollback-btn{left:-24px}.gengage-chat-grounding-review{align-items:center;gap:12px;padding:12px 16px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-grounding-review:hover{background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}.gengage-chat-grounding-review-icon{background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));width:32px;height:32px;color:var(--client-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gengage-chat-grounding-review-icon svg{width:18px;height:18px;display:block}.gengage-chat-grounding-review-body{flex:1;min-width:0}.gengage-chat-grounding-review-title{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grounding-review-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.gengage-chat-grounding-review-cta{color:var(--client-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.gengage-chat-grounding-review-cta-icon{align-items:center;display:inline-flex}.gengage-chat-grounding-review-cta-icon svg{width:14px;height:14px;display:block}.gengage-chat-grouping-cards{flex-direction:column;gap:6px;display:flex}.gengage-chat-grouping-cards-scroll{flex-direction:column;gap:6px;min-width:0;display:flex}.gengage-chat-grouping-card{background:var(--surface-card-soft);border:1px solid var(--border-default);border-radius:var(--radius-control);align-items:center;gap:10px;padding:8px 12px;transition:background .15s,border-color .15s;display:flex}.gengage-chat-grouping-card:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-grouping-card-arrow{color:var(--client-primary);flex-shrink:0;font-size:14px;display:none}.gengage-chat-grouping-card-img{border-radius:calc(var(--radius-control) - 4px);object-fit:cover;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px}.gengage-chat-grouping-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.gengage-chat-grouping-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:12px}.gengage-chat-grouping-card-labels{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-grouping-card-label{color:var(--text-secondary);background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-grouping-card-img{display:none}.gengage-chat-root--mobile .gengage-chat-grouping-card-arrow{display:inline}.gengage-chat-suggested-search-cards{flex-direction:column;gap:8px;display:flex}.gengage-chat-suggested-search-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-1);align-items:center;gap:14px;padding:14px 16px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-suggested-search-card:hover{background:var(--surface-card);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-suggested-search-card-img{object-fit:contain;background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:14px;flex-shrink:0;width:64px;height:64px;padding:4px}.gengage-chat-suggested-search-card-body{flex:1;min-width:0}.gengage-chat-suggested-search-card-name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-details-gallery{position:relative}.gengage-chat-product-details-gallery .gengage-chat-product-details-img{touch-action:pan-y}.gengage-chat-product-gallery-nav{z-index:3;border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;background:color-mix(in srgb, var(--surface-card) 92%, transparent);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0;transition:background .15s,opacity .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gengage-chat-product-gallery-nav:hover:not(:disabled){background:var(--surface-card);color:var(--client-primary)}.gengage-chat-product-gallery-nav:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-gallery-nav:disabled{opacity:.35;cursor:not-allowed}.gengage-chat-product-gallery-nav--prev{left:8px}.gengage-chat-product-gallery-nav--next{right:8px}.gengage-chat-product-gallery-thumbs{scrollbar-width:thin;justify-content:center;gap:8px;width:100%;padding:10px 0 4px;display:flex;overflow-x:auto}.gengage-chat-product-gallery-thumb{object-fit:cover;cursor:pointer;background:var(--surface-card);border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;transition:border-color .15s}.gengage-chat-product-gallery-thumb:hover{border-color:var(--border-strong)}.gengage-chat-product-gallery-thumb--active{border-color:var(--client-primary)}.gengage-chat-product-gallery-thumb-more{background:var(--surface-card-muted);width:56px;height:56px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.gengage-chat-product-variants-label{color:var(--text-muted);text-transform:none;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-product-variants-list{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-product-variant-btn{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:6px 12px;font-size:12px;transition:background .15s,border-color .15s}.gengage-chat-product-variant-btn:hover{background:var(--surface-card-muted);border-color:color-mix(in srgb, var(--client-primary) 20%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-details-panel{border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);gap:16px;padding:16px}.gengage-chat-product-details-media{border-color:var(--border-default);border-radius:var(--radius-card);background:var(--surface-card-soft);justify-content:center;min-height:320px}.gengage-chat-product-details-img{max-height:420px}.gengage-chat-product-details-content{gap:12px}.gengage-chat-product-details-brand{color:var(--client-primary);font-size:12px;font-weight:800;line-height:1.2}.gengage-chat-product-details-title{font-size:22px;line-height:1.2}.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));background:color-mix(in srgb, var(--warning) 10%, var(--surface-card));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));gap:6px;padding:6px 10px;font-family:inherit}button.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));cursor:pointer}.gengage-chat-product-details-rating--clickable:hover{border-color:color-mix(in srgb, var(--warning) 42%, var(--border-default));background:color-mix(in srgb, var(--warning) 14%, var(--surface-card))}.gengage-chat-product-details-rating .gengage-star-rating{line-height:1}.gengage-chat-product-details-rating-value{color:var(--text-primary)}.gengage-chat-product-details-price{flex-wrap:wrap;gap:10px}.gengage-chat-product-details-original-price{order:2}.gengage-chat-product-details-current-price{order:1;font-size:30px}.gengage-chat-product-details-discount-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--error) 12%, white);min-height:24px;color:color-mix(in srgb, var(--error) 84%, var(--text-primary));order:3;align-items:center;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{order:0;font-size:30px}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{font-weight:500}.gengage-chat-product-details-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.gengage-chat-product-details-fact{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-card-soft);min-width:0;padding:8px 10px}.gengage-chat-product-details-fact dt,.gengage-chat-product-details-fact dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.gengage-chat-product-details-fact dt{color:var(--text-muted);font-size:11px;font-weight:700}.gengage-chat-product-details-fact dd{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:700}.gengage-chat-product-variants{margin-top:4px}.gengage-chat-product-variants-label{color:var(--text-primary);letter-spacing:normal;margin-bottom:8px;font-size:14px;font-weight:800}.gengage-chat-product-variants-list{gap:8px}.gengage-chat-product-variant-btn{border-radius:var(--radius-control);min-height:44px;color:var(--text-primary);gap:8px;padding:7px 10px;font-size:13px;font-weight:700}.gengage-chat-product-variant-btn--active{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--client-primary) 36%, transparent);color:var(--client-primary)}.gengage-chat-product-variant-btn--out{opacity:.48;cursor:not-allowed}.gengage-chat-product-variant-swatch{border:1px solid var(--border-default);background:var(--surface-card-muted);width:22px;height:22px;box-shadow:inset 0 0 0 2px var(--surface-card);border-radius:50%;flex:0 0 22px}.gengage-chat-product-variant-swatch--image{object-fit:cover;box-shadow:none}.gengage-chat-product-variant-label,.gengage-chat-product-variant-price{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gengage-chat-product-variant-price{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-product-details-actions{gap:10px;margin-top:6px}.gengage-chat-product-details-atc,.gengage-chat-product-details-cta{border-radius:var(--radius-control);min-height:44px}.gengage-chat-product-details-atc{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg)}.gengage-chat-product-details-atc:hover{background:var(--ds-button-primary-bg-hover);filter:none}.gengage-chat-product-details-cta.gds-btn-secondary{border-color:var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg)}.gengage-chat-product-details-cta.gds-btn-secondary:hover{background:var(--ds-button-secondary-bg-hover)}@media (width>=960px){.gengage-chat-product-details-panel{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;display:grid}.gengage-chat-product-details-media{position:sticky;top:0}.gengage-chat-product-detail-tabs{grid-column:1/-1}}.gengage-chat-root--mobile .gengage-chat-product-details-panel{box-shadow:none;gap:10px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:220px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price{font-size:24px}.gengage-chat-root--mobile .gengage-chat-product-details-facts{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-product-details-actions{grid-template-columns:1fr 1fr 44px;align-items:stretch;display:grid}.gengage-chat-root--mobile .gengage-chat-product-details-actions>.gengage-chat-product-details-share{width:44px;min-width:44px}.gengage-chat-root--mobile .gengage-chat-product-details-atc,.gengage-chat-root--mobile .gengage-chat-product-details-cta{width:100%;padding-inline:10px}.gengage-chat-product-grid-wrapper{flex-direction:column;gap:6px;display:flex}.gengage-chat-product-grid-wrapper--grouped{gap:12px}.gengage-chat-product-grid-sections{flex-direction:column;gap:20px;display:flex}.gengage-chat-product-grid-section{border-top:1px solid color-mix(in srgb, var(--border-default) 70%, transparent);flex-direction:column;gap:10px;padding:14px 0 18px;display:flex}.gengage-chat-product-grid-section:first-child{border-top:0;padding-top:4px}.gengage-chat-product-grid-section:last-child{padding-bottom:4px}.gengage-chat-product-grid-section-head{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:0 2px;display:flex}.gengage-chat-product-grid-section-title{letter-spacing:0;min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:15px;font-weight:700;line-height:1.25}.gengage-chat-product-grid-section-count{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card-soft);min-height:22px;color:var(--text-secondary);letter-spacing:0;white-space:nowrap;flex:none;justify-content:center;align-items:center;padding:1px 8px;font-family:inherit;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.gengage-chat-panel .gengage-chat-product-grid--section{padding-top:0;padding-bottom:2px}.gengage-chat-root--mobile .gengage-chat-product-grid-sections{gap:16px}.gengage-chat-root--mobile .gengage-chat-product-grid-section{gap:8px;padding:12px 0 14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-title{font-size:14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-count{min-height:20px;padding-inline:8px;font-size:10.5px}.gengage-chat-consulting-style-picker{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));background:linear-gradient(160deg, color-mix(in srgb, var(--surface-card) 80%, white), color-mix(in srgb, var(--surface-card-soft) 84%, white));border-radius:20px;padding:12px}.gengage-chat-consulting-style-picker-title{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:800}.gengage-chat-consulting-style-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-consulting-style-btn{border:1px solid var(--border-default);background:var(--surface-card);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:0;padding:6px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-consulting-style-btn:hover{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));transform:translateY(-1px)}.gengage-chat-consulting-style-btn--active{border-color:color-mix(in srgb, var(--client-primary) 40%, var(--border-default));box-shadow:0 0 0 2px color-mix(in srgb, var(--client-primary) 16%, transparent), var(--shadow-1)}.gengage-chat-consulting-style-btn--loading{border-style:dashed}.gengage-chat-consulting-style-btn--muted{opacity:.78}.gengage-chat-consulting-style-media{border-radius:12px;position:relative;overflow:hidden}.gengage-chat-consulting-style-image{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border-subtle);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%}.gengage-chat-consulting-style-caption{color:#fff;background:#0000008c;border-radius:12px;padding:8px 10px;font-size:15px;font-weight:800;line-height:1.2;position:absolute;bottom:10px;left:10px;right:10px}.gengage-chat-consulting-style-status{color:var(--text-primary);background:color-mix(in srgb, white 88%, var(--client-primary) 12%);border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;position:absolute;top:10px;right:10px}.gengage-chat-consulting-loading-panel{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:linear-gradient(180deg, var(--surface-card-soft), var(--surface-card));border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-consulting-loading-panel-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:800}.gengage-chat-consulting-loading-panel-copy{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.gengage-chat-consulting-loading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.gengage-chat-consulting-loading-card{border:1px solid var(--border-default);background:linear-gradient(90deg, color-mix(in srgb, var(--surface-card-soft) 94%, white) 20%, color-mix(in srgb, white 86%, var(--surface-card-soft) 14%) 50%, color-mix(in srgb, var(--surface-card-soft) 94%, white) 80%);background-size:220% 100%;border-radius:18px;min-height:240px;animation:1.2s linear infinite gengage-chat-consulting-loading-shimmer}@keyframes gengage-chat-consulting-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.gengage-chat-consulting-group{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:linear-gradient(180deg, var(--surface-card-soft), var(--surface-card));border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex}.gengage-chat-consulting-group-header{flex-direction:column;gap:4px;min-height:112px;display:flex}.gengage-chat-consulting-group-label{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:0;font-size:16px;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-reason{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-grid{grid-template-columns:repeat(var(--consulting-group-columns,4), minmax(0, 1fr));justify-content:stretch;align-items:stretch;gap:14px;margin-bottom:2px;display:grid}.gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none;height:100%}.gengage-chat-beauty-photo-step{padding:0 12px}.gengage-chat-beauty-photo-step-card{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card) 85%, white), var(--surface-card-soft));box-shadow:var(--shadow-1);border-radius:18px;gap:10px;padding:12px;display:flex}.gengage-chat-beauty-photo-step-icon{background:color-mix(in srgb, var(--client-primary) 16%, white);width:34px;height:34px;color:var(--client-primary);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:inline-flex}.gengage-chat-beauty-photo-step-content{flex:auto;min-width:0}.gengage-chat-beauty-photo-step-title{color:var(--text-primary);font-size:15px;font-weight:800}.gengage-chat-beauty-photo-step-desc{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.45}.gengage-chat-beauty-photo-step-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.gengage-chat-beauty-photo-step-upload{border-radius:999px;min-height:34px;padding-inline:14px;font-size:12px;font-weight:800}.gengage-chat-beauty-photo-step-skip{border-radius:999px;min-height:34px;padding-inline:12px;font-size:12px;font-weight:700}.gengage-chat-panel .gengage-chat-consulting-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gengage-chat-panel .gengage-chat-consulting-style-image{min-height:250px}.gengage-chat-panel .gengage-chat-consulting-style-caption{padding:10px 12px;font-size:16px}.gengage-chat-panel .gengage-chat-consulting-group{border-radius:18px;min-width:0;padding:14px}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:100%;margin-inline:0}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-img-wrapper{flex-shrink:1;align-self:stretch;min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-body{min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-name,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price-block{overflow-wrap:anywhere;word-break:break-word}.gengage-chat-root--mobile .gengage-chat-consulting-style-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-style-image{min-height:220px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid.gengage-chat-consulting-group-grid--single-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-consulting-loading-grid{grid-template-columns:1fr}.gengage-chat-product-grid-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:2px;display:flex}.gengage-chat-product-grid-head-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:18px;font-weight:700;line-height:1.2;overflow:hidden}.gengage-chat-product-grid-head-actions{flex-shrink:0;align-items:center;gap:6px;max-width:52%;display:flex}.gengage-chat-product-sort-toolbar{box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:0;display:flex}.gengage-chat-product-sort-toolbar--inline{flex-wrap:nowrap;justify-content:flex-end}.gengage-chat-product-sort-dropdown{z-index:5;flex:0 auto;width:auto;min-width:0;max-width:200px;position:relative}.gengage-chat-product-sort-toolbar:not(.gengage-chat-product-sort-toolbar--inline) .gengage-chat-product-sort-dropdown{flex:auto;max-width:min(200px,100%)}.gengage-chat-product-sort-dropdown--open{z-index:25}.gengage-chat-product-sort-trigger{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:100%;min-height:32px;color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.2;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.gengage-chat-product-sort-trigger:hover{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:var(--surface-card-soft)}.gengage-chat-product-sort-trigger:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger{border-color:color-mix(in srgb, var(--client-primary) 32%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-product-sort-trigger-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-product-sort-dropdown[data-sort-icon=related] .gengage-chat-product-sort-trigger-icon{color:var(--client-primary)}.gengage-chat-product-sort-trigger-icon svg{display:block}.gengage-chat-product-sort-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-product-sort-trigger-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s;display:flex}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger-chevron{transform:rotate(180deg)}.gengage-chat-product-sort-menu{width:max-content;min-width:100%;max-width:min(260px,100vw - 48px);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:auto}.gengage-chat-product-sort-option{border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background .12s;display:flex}.gengage-chat-product-sort-option:hover{background:var(--surface-card-muted)}.gengage-chat-product-sort-option--active{color:var(--client-primary);background:var(--client-primary-subtle);font-weight:600}.gengage-chat-product-sort-option-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-product-sort-option--active .gengage-chat-product-sort-option-icon,.gengage-chat-product-sort-option--active[data-sort-key=related] .gengage-chat-product-sort-option-icon{color:var(--client-primary)}.gengage-chat-product-sort-option-icon svg{display:block}.gengage-chat-product-sort-option-label{flex:auto;min-width:0}.gengage-chat-product-sort-option-check{width:22px;color:var(--client-primary);flex-shrink:0;justify-content:flex-end;display:flex}.gengage-chat-product-sort-option-check--hidden{visibility:hidden}.gengage-chat-product-sort-separator{background:var(--border-default);width:1px;margin:2px}.gengage-chat-comparison-toggle-btn{border:1px solid var(--border-default);border-radius:var(--radius-control,12px);background:var(--surface-card);min-height:32px;color:var(--text-primary);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gengage-chat-comparison-toggle-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-comparison-toggle-icon svg{display:block}.gengage-chat-comparison-toggle-btn:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, white);color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active{border-color:color-mix(in srgb, var(--client-primary) 26%, white);color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-comparison-toggle-btn--active .gengage-chat-comparison-toggle-icon{color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active:hover{background:var(--client-primary-hover);color:var(--client-on-primary);border-color:var(--client-primary-hover)}.gengage-chat-comparison-toggle-btn--active:hover .gengage-chat-comparison-toggle-icon{color:var(--client-on-primary)}.gengage-chat-comparison-select-wrapper{cursor:pointer;border-radius:var(--radius-control);transition:box-shadow .2s,transform .2s;position:relative}.gengage-chat-comparison-select-wrapper:hover{box-shadow:0 0 0 2px var(--client-focus-ring)}.gengage-chat-comparison-select-wrapper--selected,.gengage-chat-comparison-select-wrapper--selected:hover{box-shadow:none}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-select-wrapper{transition:none}}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card{pointer-events:none;transition:opacity .2s,transform .2s,filter .2s}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-img-actions,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-discount-badge,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-buy-footer,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-cta{opacity:0}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:.82}.gengage-chat-comparison-select-wrapper:hover>.gengage-chat-product-card,.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{opacity:1;transform:translateY(-1px)}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{box-shadow:0 0 0 2px color-mix(in srgb, var(--client-primary) 26%, white), var(--shadow-1);filter:saturate(1.02);border-color:#0000;outline:none}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:1}.gengage-chat-comparison-card-hint{display:none}.gengage-chat-comparison-checkbox{z-index:4;cursor:pointer;pointer-events:auto;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 94%, white);min-height:40px;color:var(--text-primary);box-shadow:var(--shadow-2);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:absolute;bottom:16px;left:16px;right:16px}.gengage-chat-comparison-checkbox[data-selected=true]{background:color-mix(in srgb, var(--client-primary) 10%, white);border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));color:var(--client-primary)}.gengage-chat-comparison-checkbox-icon{background:var(--surface-card-soft);color:currentColor;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.gengage-chat-comparison-checkbox[data-selected=true] .gengage-chat-comparison-checkbox-icon{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-comparison-checkbox-dot{background:color-mix(in srgb, currentColor 75%, white);border-radius:999px;width:8px;height:8px}.gengage-chat-comparison-checkbox-label{font-size:12px;font-weight:700;line-height:1.2}.gengage-chat-comparison-toggle-btn--hidden{opacity:0;pointer-events:none}@keyframes gengage-comparison-fade-in{0%{opacity:0}to{opacity:1}}.gengage-chat-comparison-toggle-btn--reveal{animation:.5s forwards gengage-comparison-fade-in}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-toggle-btn--reveal{opacity:1;animation:none}}.gengage-chat-comparison-floating-btn{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 92%, white);width:min(100%,520px);color:var(--text-primary);z-index:5;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin:16px auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px}.gengage-chat-comparison-dock-slot{display:none}.gengage-chat-root--mobile .gengage-chat-panel.gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot:not(:empty){left:0;right:0;bottom:calc(var(--gengage-chat-input-control-size,44px) + 8px + env(safe-area-inset-bottom,0px));z-index:30;box-sizing:border-box;pointer-events:none;max-width:100%;padding:0 10px;display:block;position:absolute}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot>*{pointer-events:auto}.gengage-chat-comparison-floating-summary{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.gengage-chat-comparison-floating-count{background:var(--client-primary-subtle);min-width:32px;height:32px;color:var(--client-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.gengage-chat-comparison-floating-copy{min-width:0}.gengage-chat-comparison-floating-title{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.2}.gengage-chat-comparison-floating-warning{color:var(--error);margin-top:4px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-action{flex:none;min-width:132px}.gengage-chat-comparison-floating-close{border-radius:14px;flex:none;width:40px;height:40px;padding:0}.gengage-chat-comparison-floating-action--disabled{opacity:.6}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-3);border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;margin:0;padding:10px;position:relative;bottom:auto}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-summary{align-items:center;gap:8px;min-height:26px;padding-right:34px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-count{flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-title{margin:0;font-size:13px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-warning{margin-top:2px;font-size:11px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-action{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 12px;font-size:13px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close{box-sizing:border-box;align-self:unset;z-index:10;touch-action:manipulation;border-radius:8px;flex:none;width:26px;min-width:26px;max-width:26px;height:26px;min-height:26px;max-height:26px;padding:0;line-height:0;position:absolute;top:9px;right:9px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close svg{width:11px;height:11px;display:block}.gengage-chat-panel-topbar{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--surface-card);z-index:3;border-bottom:none;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.gengage-chat-panel-topbar-title-wrap{flex:1 1 0;align-items:center;min-width:0;display:flex}.gengage-chat-panel-topbar-back,.gengage-chat-panel-topbar-forward{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;transition:background .15s,border-color .15s,opacity .15s;display:flex}.gengage-chat-panel-topbar-back[hidden],.gengage-chat-panel-topbar-forward[hidden]{display:none}.gengage-chat-panel-topbar-back:hover:not(:disabled),.gengage-chat-panel-topbar-forward:hover:not(:disabled){background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-panel-topbar-back:disabled,.gengage-chat-panel-topbar-forward:disabled{opacity:.3;cursor:default}.gengage-chat-panel-topbar-title{width:100%;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;text-align:left;letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.gengage-chat-panel-topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.gengage-chat-panel-topbar-actions:empty{display:none}.gengage-chat-panel-topbar-toolbar-host{justify-content:flex-end;align-items:center;width:100%;display:flex}.gengage-chat-panel-topbar-toolbar-host .gengage-chat-product-sort-toolbar{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.gengage-chat-panel-topbar-close{display:none}@keyframes gengage-typewriter-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-typewriter-block{animation:.15s both gengage-typewriter-fade-in;display:block}@media (prefers-reduced-motion:reduce){.gengage-chat-typewriter-block{animation:none}}.gengage-product-mention{color:var(--client-primary);cursor:pointer;border-bottom:1px dashed var(--client-primary);font-weight:500;text-decoration:none;transition:border-color .15s}.gengage-product-mention:hover{border-bottom-style:solid}@keyframes gengage-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.gengage-chat-panel-skeleton-block{animation:1.5s ease-in-out infinite gengage-skeleton-pulse}@media (prefers-reduced-motion:reduce){.gengage-chat-panel-skeleton-block{animation:none}}.gengage-chat-input-chips{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:6px;padding:4px 12px 2px;display:flex;overflow-x:auto}.gengage-chat-input-chips::-webkit-scrollbar{display:none}.gengage-chat-input-chip{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.gengage-chat-input-chip:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-icon{flex-shrink:0;width:14px;height:14px}.gengage-chat-input-chip-icon,.gengage-chat-pill-icon{align-items:center;margin-right:4px;display:inline-flex}.gengage-chat-product-card-img-wrapper,.gengage-chat-product-details-img-wrap{position:relative;overflow:hidden}.gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--_gengage-discount-color);color:var(--text-inverse);z-index:1;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.3;position:absolute;top:8px;left:8px}.gengage-chat-product-card-stock{border-radius:var(--radius-pill);width:fit-content;margin-top:2px;padding:2px 6px;font-size:11px;font-weight:600}.gengage-chat-product-card-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-card-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-find-similar-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:28px;height:28px;color:var(--text-primary);box-shadow:var(--shadow-1);cursor:pointer;z-index:2;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:opacity .2s,box-shadow .15s;display:inline-flex;position:relative}.gengage-chat-find-similar-pill:hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}@media (hover:hover) and (pointer:fine){.gengage-chat-find-similar-pill:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity .14s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.gengage-chat-find-similar-pill:hover:after,.gengage-chat-find-similar-pill:focus-visible:after{opacity:1}}.gengage-chat-find-similar-pill-icon{justify-content:center;align-items:center;display:flex}.gengage-chat-find-similar-pill-icon svg{display:block}.gengage-chat-find-similar-pill-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{transition:opacity .2s}@media (hover:hover) and (pointer:fine){.gengage-chat-product-card-img-wrapper:not(:hover) .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:not(:hover) .gengage-chat-product-card-img-actions{opacity:0;pointer-events:none}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:hover .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-shell) 88%, transparent);width:auto;height:auto;color:var(--text-inverse);box-shadow:none;opacity:0;pointer-events:none;padding:4px 10px;position:absolute;top:40px;right:8px}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-icon{display:none}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-text{clip:auto;white-space:nowrap;width:auto;height:auto;margin:0;position:static;overflow:visible}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-find-similar-pill,.gengage-chat-ai-toppick-media:hover .gengage-chat-find-similar-pill,.gengage-chat-product-details-img-wrap:hover .gengage-chat-find-similar-pill{opacity:1;pointer-events:auto}.gengage-chat-favorite-btn{background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-control);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);box-shadow:var(--shadow-1);z-index:3;justify-content:center;align-items:center;padding:0;transition:color .2s,box-shadow .15s;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-favorite-btn:hover{box-shadow:var(--shadow-2);color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}.gengage-chat-favorite-btn--active{color:var(--error)}.gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.gengage-chat-product-details-promo-badge{border-radius:var(--radius-pill);background:var(--gengage-chat-promo-bg,color-mix(in srgb, var(--success) 12%, white));color:var(--gengage-chat-promo-text,color-mix(in srgb, var(--success) 82%, var(--text-primary)));white-space:nowrap;box-sizing:border-box;min-height:20px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-block}.gengage-chat-panel-float{box-sizing:border-box;pointer-events:none;z-index:10;flex-shrink:0;align-self:stretch;width:100%;height:0;margin-top:auto;position:sticky;bottom:0;overflow:visible}.gengage-chat-choice-prompter{pointer-events:auto;background:var(--surface-card);border:1px solid var(--border-default);z-index:5;opacity:1;border-bottom:none;border-radius:16px 16px 0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:auto;max-width:none;margin-left:0;margin-right:0;padding:12px 20px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:-16px;left:-16px;right:-16px;transform:translateY(0);box-shadow:0 -2px 8px #00000014}.gengage-chat-panel--scrolled .gengage-chat-choice-prompter{pointer-events:auto;opacity:1;transform:translateY(0)}.gengage-chat-choice-prompter-heading{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:700}.gengage-chat-choice-prompter-suggestion{color:var(--text-secondary);margin-bottom:0;font-size:12px;line-height:1.35}.gengage-chat-choice-prompter-copy{min-width:0}.gengage-chat-choice-prompter-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:inline-flex}.gengage-chat-choice-prompter-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control);background:var(--ds-button-primary-bg);width:auto;min-width:180px;min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;padding:0 18px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.gengage-chat-choice-prompter-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-choice-prompter-dismiss{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card-soft) 92%, white);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.gengage-chat-choice-prompter-dismiss:hover{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white);background:var(--client-primary-subtle)}@media (prefers-reduced-motion:reduce){.gengage-chat-choice-prompter{animation:none}}.gengage-chat-pros-cons{background:var(--surface-card-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin:8px 0;padding:12px 14px}.gengage-chat-pros-cons-heading{color:var(--text-primary);margin:0 0 10px;font-size:14px;font-weight:600}.gengage-chat-pros-cons-list{margin:0 0 8px;padding:0;list-style:none}.gengage-chat-pros-cons-list:last-child{margin-bottom:0}.gengage-chat-pros-cons-item{color:var(--text-secondary);align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;line-height:1.5;display:flex}.gengage-chat-pros-cons-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:flex}.gengage-chat-pros-cons-icon--pro{color:var(--success);background:color-mix(in srgb, var(--success) 15%, white)}.gengage-chat-pros-cons-icon--con{color:var(--error);background:color-mix(in srgb, var(--error) 12%, white)}.gengage-chat-categories{flex-direction:column;gap:8px;display:flex}.gengage-chat-categories-tabs{-webkit-overflow-scrolling:touch;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.gengage-chat-categories-tab{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-categories-tab-image{object-fit:cover;border:1px solid var(--border-subtle);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:28px;height:28px}.gengage-chat-categories-tab-text{min-width:0}.gengage-chat-categories-tab:hover{background:var(--surface-card-soft);border-color:var(--border-strong)}.gengage-chat-categories-tab--active{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default))}.gengage-chat-categories-panel{flex-direction:column;gap:12px;display:flex}.gengage-chat-categories-group-summary{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card));border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-categories-group-selection{border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);max-width:100%;color:var(--client-primary);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:6px 12px 6px 8px;display:inline-flex}.gengage-chat-categories-group-selection-image{object-fit:cover;border:1px solid color-mix(in srgb, white 82%, var(--border-subtle) 18%);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:30px;height:30px}.gengage-chat-categories-group-selection-title{min-width:0;color:inherit;font-size:13px;font-weight:800;line-height:1.25}.gengage-chat-categories-group-chips{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-categories-group-chip{border:1px solid var(--border-default);background:color-mix(in srgb, white 78%, var(--surface-card-soft));color:var(--text-secondary);border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-categories-group-chip--accent{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);color:var(--client-primary)}.gengage-chat-categories-group-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-categories-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;display:grid}.gengage-chat-categories-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}:is(.gengage-chat-categories .gengage-chat-product-card-img,.gengage-chat-consulting-group-grid .gengage-chat-product-card-img,.gengage-chat-product-grid-wrapper:has(.gengage-chat-consulting-style-picker) .gengage-chat-product-card-img){-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.gengage-chat-categories-filter-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-categories-filter-tag{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.gengage-chat-categories-filter-tag:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-grid-view-more{border:1px solid var(--ds-button-secondary-border);border-radius:var(--radius-control);background:var(--ds-button-secondary-bg);width:100%;color:var(--ds-button-secondary-fg);cursor:pointer;text-align:center;grid-column:1/-1;margin-top:8px;padding:10px;font-size:14px;font-weight:500;transition:background .15s;display:block}.gengage-chat-product-grid-view-more:hover{background:var(--ds-button-secondary-bg-hover)}.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0;display:grid;overflow-x:visible}.gengage-chat-product-grid--mobile .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-comparison--mobile{position:relative;overflow-x:clip}.gengage-chat-comparison--mobile .gengage-chat-comparison-table-wrapper{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.gengage-chat-comparison--mobile .gengage-chat-comparison-table{table-layout:fixed;min-width:480px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table th:first-child,.gengage-chat-comparison--mobile .gengage-chat-comparison-table .gengage-chat-comparison-label{background:var(--surface-card);z-index:1;box-shadow:2px 0 4px color-mix(in srgb, var(--surface-shell) 8%, transparent);position:sticky;left:0}.gengage-chat-comparison--mobile .gengage-chat-comparison-table thead th:first-child{box-sizing:border-box;width:22ch;min-width:0;max-width:22ch;padding:8px 6px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table td.gengage-chat-comparison-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;vertical-align:middle;width:22ch;min-width:0;max-width:22ch;overflow:hidden}.gengage-chat-product-details-similars-heading{color:var(--text-primary);margin:16px 0 8px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-product-details-similars{margin-top:8px}.gengage-chat-handoff-notice{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 28%, var(--border-default));border-radius:var(--radius-control);text-align:center;flex-direction:column;align-items:center;gap:6px;margin:8px 0;padding:16px;display:flex}.gengage-chat-handoff-notice-icon{font-size:24px}.gengage-chat-handoff-notice-heading{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin:0;font-size:14px;font-weight:600}.gengage-chat-handoff-notice-summary{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));margin:0;font-size:13px;line-height:1.5}.gengage-chat-product-details-share{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex;position:relative}.gengage-chat-product-details-share:hover{color:var(--client-primary);border-color:var(--client-primary);background:var(--client-primary-subtle)}.gengage-chat-product-details-share:before{content:attr(aria-label);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;pointer-events:none;opacity:0;z-index:2;padding:4px 8px;font-size:11px;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.gengage-chat-product-details-share:hover:before{opacity:1}.gengage-chat-product-details-share--copied:after{content:"✓";background:var(--_gengage-success-color);color:var(--client-on-primary);border-radius:var(--radius-control);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.gengage-chat-product-details-share svg{width:20px;height:20px}.gengage-chat-review-link,.gengage-chat-grounding-link{color:var(--client-primary);text-decoration:underline}@media (width<=768px){.gengage-chat-product-details-promo-badge{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.gengage-chat-launcher:focus-visible,.gengage-chat-close:focus-visible,.gengage-chat-header-btn:focus-visible,.gengage-chat-header-powered:focus-visible,.gengage-chat-send:focus-visible,.gengage-chat-action-btn:focus-visible,.gengage-chat-pill:focus-visible,.gengage-chat-input-chip:focus-visible,.gengage-chat-pills-arrow:focus-visible,.gengage-chat-error-retry:focus-visible,.gengage-chat-product-card-cta:focus-visible,.gengage-chat-product-details-cta:focus-visible,.gengage-chat-product-details-atc:focus-visible,.gengage-chat-product-detail-tab:focus-visible,.gengage-chat-panel-divider-toggle:focus-visible,.gengage-chat-panel-topbar-back:focus-visible,.gengage-chat-panel-topbar-forward:focus-visible,.gengage-chat-rollback-btn:focus-visible,.gengage-chat-ai-toppick-cta:focus-visible,.gengage-chat-comparison-toggle-btn:focus-visible,.gengage-chat-comparison-floating-btn:focus-visible,.gengage-chat-comparison-checkbox:focus-visible,.gengage-chat-product-sort-trigger:focus-visible,.gengage-chat-product-sort-option:focus-visible,.gengage-chat-product-variant-btn:focus-visible,.gengage-chat-product-gallery-thumb:focus-visible,.gengage-chat-find-similar-pill:focus-visible,.gengage-chat-favorite-btn:focus-visible,.gengage-chat-attach-btn:focus-visible,.gengage-chat-attach-menu-item:focus-visible,.gengage-chat-mic-btn:focus-visible,.gengage-chat-attachment-remove:focus-visible,.gengage-chat-kvkk-dismiss:focus-visible,.gengage-chat-choice-prompter-cta:focus-visible,.gengage-chat-choice-prompter-dismiss:focus-visible,.gengage-chat-categories-tab:focus-visible,.gengage-chat-categories-filter-tag:focus-visible,.gengage-chat-product-grid-view-more:focus-visible,.gengage-chat-product-details-share:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{box-sizing:border-box;pointer-events:auto;opacity:1;border-radius:14px;grid-template-columns:1fr;gap:10px;width:100%;max-width:100%;max-height:none;margin:0;padding:10px 12px;display:none;position:relative;bottom:auto;left:auto;right:auto;overflow:visible;transform:none}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-suggestion{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-cta{width:100%;min-width:0;min-height:44px;padding:0 14px}.gengage-chat-root--mobile .gengage-chat-product-sort-trigger,.gengage-chat-root--mobile .gengage-chat-product-sort-option,.gengage-chat-root--mobile .gengage-chat-comparison-toggle-btn{min-height:40px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-label,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-chevron,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-label{display:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown{flex:none;width:auto;max-width:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown--open{z-index:40}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger{justify-content:center;gap:0;width:auto;min-width:44px;padding:0 10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-menu{width:min(224px,100vw - 32px);min-width:196px;max-width:calc(100vw - 32px);top:calc(100% + 6px);left:auto;right:0}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option{min-height:44px;padding:10px 12px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option-label{white-space:normal;line-height:1.3}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-btn{justify-content:center;gap:0;width:44px;min-width:44px;padding:0}.gengage-chat-root--mobile .gengage-chat-input-chip{min-height:40px;padding:8px 12px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-dismiss{width:40px;height:40px}.gengage-chat-root--mobile .gengage-chat-panel-divider-toggle{min-height:44px}.gengage-chat-root--mobile .gengage-chat-product-card-cta,.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta,.gengage-chat-root--mobile .gengage-chat-product-grid-view-more{justify-content:center;align-items:center;min-height:44px;display:flex}.gengage-chat-root--mobile .gengage-chat-panel-topbar-back,.gengage-chat-root--mobile .gengage-chat-panel-topbar-forward,.gengage-chat-root--mobile .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel-topbar-close{display:none}@media (prefers-reduced-motion:reduce){.gengage-chat-consulting-loading-card{animation:none}}.gengage-chat-panel--has-scroll:after{content:"";background:linear-gradient(transparent, var(--surface-card-soft));pointer-events:none;height:40px;display:block;position:sticky;bottom:0}.gengage-chat-cart-toast{background:var(--success);color:var(--text-inverse);border-radius:var(--radius-pill);box-shadow:var(--shadow-3);pointer-events:none;opacity:0;z-index:10;white-space:nowrap;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:72px;left:50%;transform:translate(-50%)translateY(8px)}.gengage-chat-cart-toast--visible{opacity:1;transform:translate(-50%)translateY(0)}@keyframes gengage-cart-flash{0%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}to{transform:scale(1)}}.gengage-chat-header-btn--cart-flash{animation:.5s gengage-cart-flash}'})),Sp=St({CHAT_SCROLL_ELEMENT_ID:()=>ft,ChatPresentationState:()=>cn,GengageChat:()=>un,createChatWidget:()=>Tp,createDefaultChatUISpecRegistry:()=>or,defaultChatUnknownUISpecRenderer:()=>Wt,getChatScrollElement:()=>fl,invalidateChatScrollCache:()=>Si,isSimilarsAppendGrid:()=>Xt,renderUISpec:()=>sr});function Ep(t){const e=t?.type;if(e){if(xo.has(e))return e;if(e==="ProductGrid")return t.props?.similarsAppend===!0?void 0:e}}function Pp(t){if(!t.trim())return!1;const e=document.createElement("template");return e.innerHTML=ye(t),(e.content.textContent??"").trim().length>0}function vo(t){return t.length>120?!1:/^[a-zA-Z0-9#(),.\s%/\-]+$/.test(t)}function pn(t){return typeof t=="object"&&t!==null&&typeof t.type=="string"}function Xt(t){return t?.type==="ProductGrid"&&t.props?.similarsAppend===!0}function Tp(){return new un}var yo,hn,xo,un,Ap=L((()=>{nt(),Lt(),Ke(),Os(),$s(),Ks(),ge(),ht(),ot(),It(),Zs(),pl(),zl(),Ol(),Wl(),Tr(),Pd(),Id(),zd(),Fd(),kr(),er(),ir(),jd(),Vd(),Wd(),Zd(),Xd(),bt(),Jd(),tp(),lp(),gp(),pp(),Ei(),it(),up(),bp(),yp(),kp(),Cp(),at(),Oi(),yo=new Set(["launchSingleProduct","launchProductList","launchHomepage"]),hn=new Set(["PanelRestoreCard"]),xo=new Set(["ComparisonTable","ProductDetailsPanel"]),un=class et extends pt{constructor(...e){super(...e),this._shadow=null,this._rootEl=null,this._backdropEl=null,this._launcher=null,this._floatingLauncher=null,this._inlineLauncher=null,this._drawer=null,this._bridge=null,this._drawerVisible=!1,this._pillLauncherApply=null,this._hostScrollLockActive=!1,this._hostOverflowRestore=null,this._hostScrollLockViewport=null,this._hostScrollPinning=!1,this._preventHostDocumentTouchMove=a=>{this._hostScrollLockActive&&(this._hostScrollEventShouldReachChatScroller(a)||a.preventDefault())},this._preventHostDocumentWheel=a=>{this._hostScrollLockActive&&(this._hostScrollEventShouldReachChatScroller(a)||a.preventDefault())},this._pinHostViewportScroll=()=>{if(!this._hostScrollLockActive||!this._hostScrollLockViewport||this._hostScrollPinning||this._isMobileViewport&&window.visualViewport&&window.visualViewport.height<window.innerHeight)return;const a=this._hostScrollLockViewport;window.scrollX===a.x&&window.scrollY===a.y||(this._hostScrollPinning=!0,window.scrollTo(a.x,a.y),this._hostScrollPinning=!1)},this._messages=[],this._currentMessageId=0,this._abortControllers=new Set,this._currentThreadId=null,this._lastThreadId=null,this._chatCreatedAt="",this._lastBackendContext=null,this._productSort={type:"related"},this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,this._comparisonRefreshRafId=null,this._lastAppliedKeyboardInset=0,this._syncVisualVh=null,this._viewedProductSkus=new Set,this._panelAiSpecByThread=new Map,this._choicePrompterEl=null,this._openState="full",this._mobileBreakpoint=768,this._isMobileViewport=!1,this._gaPrevMainPaneExpanded=!1,this._pdpLaunched=!1,this._plpLaunched=!1,this._homepageLaunched=!1,this._entryContextPrimed=!1,this._contextPrimingInFlight=!1,this._queuedUserMessages=[],this._productContextUnavailableSku=null,this._i18n=Qe,this._extendedModeManager=null,this._activeTypewriter=null,this._activeTtsHandle=null,this._activeRequestThreadId=null,this._skuToProductItem={},this._conversationMode=null,this._initComplete=!1,this._pendingActions=[],this._bridgeContext=null,this._cartQuantity=null,this._threadsWithFirstBot=new Set,this._panel=null,this._localPanelHistory=[],this._currentPanelSource=null,this._currentInlineProductSummaryRecord=null,this._session=null,this._historyStorage=null,this._activeHistorySessionId=null,this._presentation=new cn,this._presentationScrollTimerIds=new Set,this._eventCallbacks=new Map,this._pendingAddToCartKeys=new Set,this._lastSentAction=null,this._consecutiveErrorCount=0,this._lastErrorMessage="",this._launcherAnchorCleanup=null,this._modeController=new qi,this._syncLauncherAnchor=null}static{this._MAX_COMPARISON_SELECTION=5}static{this._MAX_PANEL_HISTORY=10}get _assistantMode(){return this._modeController.mode}set _assistantMode(e){this._modeController.mode=e}get _uiHints(){return this._modeController.uiHints}set _uiHints(e){this._modeController.uiHints=e}async onInit(e){if(this._i18n=this._resolveI18n(e),this._chatCreatedAt=new Date().toISOString(),e.pillLauncher){const u=hp(e.pillLauncher);e.launcherImageUrl=u.launcherImageUrl,e.headerAvatarUrl===void 0&&(e.headerAvatarUrl=e.pillLauncher.avatarUrl),this._pillLauncherApply=()=>u.apply(this._shadow??void 0)}this._shadow=this.root.attachShadow({mode:"open"});const a=document.createElement("style");a.textContent=bo,this._shadow.appendChild(a);const n=this.root,i=(u,g)=>{g&&vo(g)&&n.style.setProperty(u,g)};if(i("--gengage-chat-header-bg",e.headerBg),i("--gengage-chat-header-foreground",e.headerForeground),e.theme)for(const[u,g]of Object.entries(e.theme))u.startsWith("--")&&typeof g=="string"&&i(u,g);this._applyDiscountedPriceColorVar(e.productPriceUi?.discountedPriceColor);const r=document.createElement("div");r.className="gengage-chat-root",r.lang=He(e.locale),this._rootEl=r,this._shadow.appendChild(r);const o=e.variant??"floating";if(o==="inline"&&r.classList.add("gengage-chat--inline"),o!=="inline"){const u=document.createElement("div");u.className="gengage-chat-backdrop",u.setAttribute("aria-hidden","true"),u.setAttribute("role","button"),u.setAttribute("tabindex","-1"),u.setAttribute("aria-label",this._i18n.closeAriaLabel),u.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),this.close()}),this._backdropEl=u,r.prepend(u)}if(o==="floating"){if(e.floatingLauncher)this._floatingLauncher=Ld(e.floatingLauncher,{onSend:u=>{this.open({initialMessage:u}),this._floatingLauncher?.showOpenChatButton()},onOpenChat:()=>this.open()},this._shadow),r.appendChild(this._floatingLauncher.container);else{const u={onClick:()=>this.open(),ariaLabel:this._i18n.openButton};e.launcherImageUrl!==void 0?u.imageUrl=e.launcherImageUrl:e.launcherSvg!==void 0&&(u.svgMarkup=e.launcherSvg),e.mobileLauncherImageUrl!==void 0&&(u.mobileImageUrl=e.mobileLauncherImageUrl),e.hideMobileLauncher!==void 0&&(u.hideMobile=e.hideMobileLauncher),e.mobileBreakpoint!==void 0&&(u.mobileBreakpoint=e.mobileBreakpoint),e.launcherTooltip!==void 0&&(u.tooltip=e.launcherTooltip),this._launcher=Ed(u),r.appendChild(this._launcher.container)}this._setupLauncherAnchor(e),e.inlineLauncher&&this._setupInlineLauncher(e)}o==="overlay"&&r.classList.add("gengage-chat--overlay");const s=document.createElement("div");r.appendChild(s),this._drawer=new Fi(s,{i18n:this._i18n,onSend:(u,g)=>this._sendMessage(u,g),onClose:()=>this.close(),onAttachment:u=>this._handleAttachment(u),onPanelToggle:()=>{this._drawer?.persistPanelState(e.accountId)},onHostShellSync:()=>{this._applyOpenStateClasses()},onRollback:u=>this._handleRollback(u),onPanelBack:()=>this._navigatePanelBack(),onPanelForward:()=>this._panel?.navigateForward(),onPanelClose:()=>{if(this._isMobileViewport){this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[];return}this._localPanelHistory=[],this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._currentPanelSource=null},headerTitle:e.headerTitle,headerAvatarUrl:e.headerAvatarUrl,launcherImageUrl:e.launcherImageUrl,headerBadge:e.headerBadge,headerCartUrl:e.headerCartUrl,showHeaderFavorites:typeof e.onFavoritesClick=="function"||e.headerFavoritesToggle===!0,...e.headerCartUrl||e.onCartClick?{onCartClick:()=>{e.headerCartUrl?this._saveSessionAndOpenURL(e.headerCartUrl):e.onCartClick?.()}}:{},onFavoritesClick:()=>{if(fs(),typeof e.onFavoritesClick=="function"){e.onFavoritesClick();return}this._openFavoritesPanel()},onHistoryClick:()=>{if(this._currentPanelSource?.kind==="history"){this._navigatePanelBack();return}this._openHistoryPanel()},getMobileState:()=>this._openState??"full",getMobileViewport:()=>this._isMobileViewport,onMobileSnap:u=>{u==="close"?this.close():(this._openState=u,this._applyOpenStateClasses())},onLinkClick:u=>{this._saveSessionAndOpenURL(u)},renderMessageUISpec:u=>this._renderMessageUISpec(u),voiceEnabled:e.voiceEnabled,voiceLang:e.locale?`${e.locale.split("-")[0]??"tr"}-${(e.locale.split("-")[1]??e.locale.split("-")[0]??"TR").toUpperCase()}`:void 0,onNewChat:()=>this._startNewChat(),presentation:{onPinnedToBottomChange:u=>{this._presentation.pinnedToBottom=u},onUserInteractingChange:u=>{this._presentation.userInteracting=u},onFormerMessagesHint:()=>{this._presentation.focusedThreadId&&this._hasMultipleThreadIds()&&this._drawer?.setFormerMessagesButtonVisible(!0)},shouldBlockSoftAutoScroll:()=>this._presentation.shouldBlockStreamAutoScroll(),onReleasePresentationFocus:()=>this._releasePresentationFocus()}}),this._applyUiHints(),this._extendedModeManager=new $r({onChange:u=>this._panel?.notifyExtension(u),productDetailsInPanel:(e.isDemoWebsite??!1)&&(e.productDetailsExtended??!1)}),this._panel=new Gr({drawer:()=>this._drawer,shadow:()=>this._shadow,currentThreadId:()=>this._currentThreadId,bridge:()=>this._bridge,extendedModeManager:()=>this._extendedModeManager,i18n:()=>this._i18n,rollbackToThread:u=>this._rollbackToThread(u)}),o!=="inline"&&this._drawer.getElement().classList.add("gengage-chat-drawer--hidden");const c=this._drawer.restorePanelState(e.accountId),l=e.panelMode??"auto";l==="collapsed"?this._drawer.setPanelCollapsed(!0):l==="expanded"&&this._drawer.setForceExpanded();const p=sessionStorage.getItem("gengage_restore_session_id"),d=sessionStorage.getItem("gengage_restore_sku"),h=sessionStorage.getItem("gengage_restore_history_id"),f=!!(p&&d);f&&(sessionStorage.removeItem("gengage_restore_session_id"),sessionStorage.removeItem("gengage_restore_sku")),h&&sessionStorage.removeItem("gengage_restore_history_id"),this._historyStorage=new Jr(this.config.accountId,this.config.session?.userId??"");try{const u=new qr;await u.open(),this._session=new sn(u);const g=h?this._historyStorage.loadSession(h):null;g?(this._activeHistorySessionId=g.id,await this._restoreFromHistoryRecord(g)):await this._restoreFromIndexedDB(f)}catch{this._session=new sn(null);const u=h?this._historyStorage.loadSession(h):null;u&&(this._activeHistorySessionId=u.id,await this._restoreFromHistoryRecord(u))}this._registerPublicAPI(),e.mobileInitialState!==void 0&&(this._openState=e.mobileInitialState),this._mobileBreakpoint=e.mobileBreakpoint??768,this._syncViewportState();const b=()=>this._syncViewportState();if(window.addEventListener("resize",b,{passive:!0}),this.addCleanup(()=>window.removeEventListener("resize",b)),window.visualViewport){const g=()=>{if(!this._drawerVisible||!this._isMobileViewport)return;const v=this._drawer?.getElement();if(!v)return;const _=window.visualViewport,y=Math.max(0,Math.round(window.innerHeight-(_.height+_.offsetTop))),k=y>90,P=this._openState==="full"&&k?y:0;P!==this._lastAppliedKeyboardInset&&(this._lastAppliedKeyboardInset=P,v.style.setProperty("--gengage-chat-keyboard-inset",`${P}px`)),this._openState==="full"&&(v.style.setProperty("--gengage-chat-visual-vh",`${Math.round(_.height)}px`),v.style.setProperty("--gengage-chat-visual-top",`${Math.round(_.offsetTop)}px`))};this._syncVisualVh=()=>{if(!this._isMobileViewport||this._openState!=="full")return;const v=this._drawer?.getElement();if(!v||!window.visualViewport)return;const _=window.visualViewport;v.style.setProperty("--gengage-chat-visual-vh",`${Math.round(_.height)}px`),v.style.setProperty("--gengage-chat-visual-top",`${Math.round(_.offsetTop)}px`)},window.visualViewport.addEventListener("resize",g),window.visualViewport.addEventListener("scroll",g),this.addCleanup(()=>{window.visualViewport?.removeEventListener("resize",g),window.visualViewport?.removeEventListener("scroll",g)})}o==="inline"&&(this._drawerVisible=!0,this.isVisible=!0,this._applyOpenStateClasses(),this._presentation.setShown(!0),setTimeout(()=>this._maybeAutoAnchorUnreadAssistant(),60));const m={namespace:"chat",onMessage:u=>this._handleBridgeMessage(u)};e.allowedOrigins!==void 0&&(m.allowedOrigins=e.allowedOrigins),this._bridge=new Zn(m),this._lastSku=this.config.pageContext?.sku,this._lastPageType=this.config.pageContext?.pageType,this._lastSkuListKey=this.config.pageContext?.skuList?.slice(0,48).join(","),this._initComplete=!0;for(const u of this._pendingActions)this._sendAction(u.action,u.options);this._pendingActions=[],this._pillLauncherApply&&o==="floating"&&(await this._pillLauncherApply(),this._pillLauncherApply=null),ue("gengage:chat:ready",{}),Et("chat"),e.onReady?.()}onUpdate(e){if(this.config.pageContext&&e.pageType!==void 0){const{sku:n,skuList:i,...r}=this.config.pageContext,o={...r};o.pageType==="pdp"&&n!==void 0&&(o.sku=n),o.pageType==="plp"&&i!==void 0&&(o.skuList=i),this.config={...this.config,pageContext:o}}let a=!1;if(e.sku!==void 0&&e.sku!==this._lastSku&&(this._lastSku=e.sku,a=!0),e.pageType!==void 0&&e.pageType!==this._lastPageType&&(this._lastPageType=e.pageType,a=!0,this._inlineLauncher?.sync(e.pageType)),e.skuList!==void 0){const n=e.skuList.slice(0,48).join(",");n!==this._lastSkuListKey&&(this._lastSkuListKey=n,a=!0)}a&&(this._resetForNewPage(),this._drawerVisible&&this.config.pageContext?.pageType==="pdp"&&this.config.pageContext?.sku&&this._primeOpenPageContext())}onShow(){this._inlineLauncher?.setActive(!0),this._showDrawer(),this.emit("open"),ue("gengage:chat:open",{state:this._openState}),Pt("chat"),this.config.onOpen?.(),this._primeOpenPageContext()}_primeOpenPageContext(){this._showWelcomeIfNeeded(),this._maybePrimeEntryContextOpening(),!this._pdpLaunched&&this.config.pageContext?.pageType==="pdp"&&this.config.pageContext?.sku&&(this._pdpLaunched=!0,this._contextPrimingInFlight=!0,this._sendAction({title:"",type:"launchSingleProduct",payload:{sku:this.config.pageContext.sku,...this._resolveContextualOpeningMessage("product")?{opening_message:this._resolveContextualOpeningMessage("product")}:{},...this._resolveContextualOpeningGuidance("product")?{opening_guidance:this._resolveContextualOpeningGuidance("product")}:{}}},{silent:!0,isContextPrime:!0,preservePills:!0})),!this._plpLaunched&&this.config.pageContext?.pageType==="plp"&&this.config.pageContext.skuList?.length&&(this._plpLaunched=!0,this._contextPrimingInFlight=!0,this._sendAction({title:"",type:"launchProductList",payload:{sku_list:this.config.pageContext.skuList.slice(0,48)}},{silent:!0,isContextPrime:!0,preservePills:!0})),!this._homepageLaunched&&(this.config.pageContext?.pageType==="home"||this.config.pageContext?.pageType==="other")&&(this._homepageLaunched=!0,this._contextPrimingInFlight=!0,this._sendAction({title:"",type:"launchHomepage",payload:{}},{silent:!0,isContextPrime:!0,preservePills:!0}))}onHide(){this._inlineLauncher?.setActive(!1),(this.config.variant??"floating")==="floating"&&(this.root.style.display=""),this._hideDrawer(),this.emit("close"),ue("gengage:chat:close",{}),this.config.onClose?.()}_setupLauncherAnchor(e){const a=e.launcherAnchor;if(!a||!a.mobile&&!a.desktop)return;const n=this.root,i=e.mobileBreakpoint??768,r=()=>window.innerWidth<=i?a.mobile:a.desktop,o=()=>{const P=r();return!!P?.dynamicRelocate&&!!P.selector},s="--gengage-chat-launcher-anchor-bottom",c="--gengage-chat-launcher-anchor-right";(a.mobile?.dynamicRelocate||a.desktop?.dynamicRelocate)&&n.style.setProperty("--gengage-chat-launcher-anchor-transition","0.35s");const l=()=>{const P=window.innerWidth<=i?a.mobile:a.desktop;if(!P)return;const w=P.selector,E=!!w,z=(E?document.querySelector(w):null)?.getBoundingClientRect();if(P.bottom!==void 0){const{offset:V,type:W}=P.bottom;if(!E)n.style.setProperty(s,`${Math.max(0,V)}px`);else if(z){const oe=W==="root"||V===0?z.bottom:z.top,ie=Math.max(0,window.innerHeight-oe+V);n.style.setProperty(s,`${ie}px`)}}if(P.right!==void 0){const{offset:V,type:W}=P.right;if(!E)n.style.setProperty(c,`${Math.max(0,V)}px`);else if(z){const oe=W==="root"||V===0?z.right:z.left,ie=Math.max(0,window.innerWidth-oe+V);n.style.setProperty(c,`${ie}px`)}}},p=()=>{n.style.removeProperty(s),n.style.removeProperty(c)};let d=!1,h=0;const f=()=>{!o()||!d||h||(h=requestAnimationFrame(()=>{h=0,o()&&d&&l()}))},b=new ResizeObserver(()=>{(!o()||d)&&l()});let m=null,u=null;const g=()=>{const P=r()?.selector;return!P||!!document.querySelector(P)},v=()=>{!o()||g()||(u?.disconnect(),u=new MutationObserver(()=>{g()&&(u?.disconnect(),u=null,_())}),u.observe(document.body,{childList:!0,subtree:!0}))},_=()=>{b.disconnect(),m?.disconnect(),m=null,d=!1;const P=r();if(!P)return;if(!P.selector){l();return}const w=document.querySelector(P.selector);w&&(b.observe(w),o()?(m=new IntersectionObserver(E=>{for(const z of E)z.isIntersecting?(d=!0,l()):(d=!1,p(),v())},{threshold:0}),m.observe(w)):l())};_();let y=0;const k=()=>{y||(y=requestAnimationFrame(()=>{y=0,d=!1,p(),u?.disconnect(),u=null,_(),v(),o()||l()}))};window.addEventListener("resize",k,{passive:!0}),window.addEventListener("scroll",f,{passive:!0}),window.visualViewport?.addEventListener("scroll",f,{passive:!0}),this._syncLauncherAnchor=()=>{d=!1,p(),u?.disconnect(),u=null,_(),v()},o()?v():(l(),[100,400,1e3].forEach(P=>window.setTimeout(l,P))),this._launcherAnchorCleanup=()=>{b.disconnect(),m?.disconnect(),u?.disconnect(),window.removeEventListener("resize",k),window.removeEventListener("scroll",f),window.visualViewport?.removeEventListener("scroll",f),y&&cancelAnimationFrame(y),h&&cancelAnimationFrame(h)}}syncLauncherAnchor(){this._syncLauncherAnchor?.()}syncInlineLauncher(){this._inlineLauncher?.sync(this.config.pageContext?.pageType)}_setupInlineLauncher(e){const a=e.inlineLauncher;a&&(this._inlineLauncher=Rd(a,{onClick:()=>this.open()},{shadowRoot:this._shadow,getPageType:()=>this.config.pageContext?.pageType}),this._inlineLauncher.sync(this.config.pageContext?.pageType),[100,400,1e3,2500].forEach(n=>{window.setTimeout(()=>{this._inlineLauncher?.sync(this.config.pageContext?.pageType)},n)}))}onDestroy(){this._releaseHostDocumentScrollLock(),this._abortAllActiveRequests(),this._activeTypewriter?.cancel(),this._activeTypewriter=null,this._presentationScrollTimerIds.forEach(e=>clearTimeout(e)),this._presentationScrollTimerIds.clear(),this._activeTtsHandle?.stop(),this._activeTtsHandle=null,this._comparisonRefreshRafId!==null&&(cancelAnimationFrame(this._comparisonRefreshRafId),this._comparisonRefreshRafId=null),this._launcherAnchorCleanup?.(),this._launcherAnchorCleanup=null,this._syncLauncherAnchor=null,this._floatingLauncher?.destroy(),this._floatingLauncher=null,this._inlineLauncher?.destroy(),this._inlineLauncher=null,this._drawer?.destroy(),Si(),this._drawer=null,this._bridge?.destroy(),this._bridge=null,this._extendedModeManager=null,this._panel?.destroy(),this._panel=null,this._session?.close(),this._session=null,this._historyStorage=null,this._activeHistorySessionId=null,this._localPanelHistory=[],this._currentPanelSource=null,window.gengage&&delete window.gengage.chat,this._shadow&&(this._shadow.innerHTML="",this._shadow=null),this._rootEl=null}open(e){e?.state!==void 0&&(this._openState=e.state,this._drawerVisible&&this._applyOpenStateClasses()),this.show(),e?.initialMessage!==void 0&&this._sendMessage(e.initialMessage)}openWithAction(e,a){a?.sku!==void 0&&this.update({sku:a.sku}),this._pdpLaunched=!0,a?.state!==void 0?this._openState=a.state:this._isMobileViewport&&(this._openState="half"),this.show(),this._drawerVisible&&this._applyOpenStateClasses(),this._sendAction(e,{skipFullSheet:!0})}sendMessage(e){this._sendMessage(e)}sendAction(e,a){this._sendAction(e,a)}close(){this.hide()}saveSession(e,a){sessionStorage.setItem("gengage_restore_session_id",e),sessionStorage.setItem("gengage_restore_sku",a),this._activeHistorySessionId?sessionStorage.setItem("gengage_restore_history_id",this._activeHistorySessionId):sessionStorage.removeItem("gengage_restore_history_id")}get isOpen(){return this._drawerVisible}addCallback(e,a){let n=this._eventCallbacks.get(e);return n||(n=new Set,this._eventCallbacks.set(e,n)),n.add(a),()=>{n.delete(a),n.size===0&&this._eventCallbacks.delete(e)}}_applyDiscountedPriceColorVar(e){const a=this.root;e==="client"?a.style.setProperty("--gengage-discounted-price-color","var(--client-primary)"):a.style.removeProperty("--gengage-discounted-price-color")}_abortAllActiveRequests(){for(const e of this._abortControllers)e.abort();this._abortControllers.clear()}_pruneEmptyStreamingAssistantPlaceholders(){const e=[];for(const a of this._messages){if(a.role==="assistant"&&!a.frontendOnly&&(a.status==="streaming"||a.status==="done")&&(a.content==null||a.content.length===0)){if(a.threadId){const n=this._messages.some(i=>i.id!==a.id&&i.threadId===a.threadId&&i.frontendOnly)||this._panel?.snapshotTypes.has(a.id)===!0;this._threadsWithFirstBot.delete(a.threadId),this._presentation.finalizeAssistantGroup(a.threadId),this._shadow?.querySelectorAll(`[data-thread-id="${ve(a.threadId)}"]:not([data-message-id])`).forEach(i=>i.remove()),this._panel&&!n&&(this._panel.threads=this._panel.threads.filter(i=>i!==a.threadId))}this._drawer?.removeMessageBubble(a.id),this._panel?.snapshots.delete(a.id),this._panel?.snapshotTypes.delete(a.id);continue}e.push(a)}this._messages.length=0,this._messages.push(...e)}_clearConversationState(e){this._activeRequestThreadId=null,this._abortAllActiveRequests(),this._activeTypewriter?.cancel(),this._activeTypewriter=null,this._activeTtsHandle?.stop(),this._activeTtsHandle=null,this._messages.length=0,this._drawer?.clearMessages(),this._drawer?.clearPanel(),this._currentPanelSource=null,this._currentInlineProductSummaryRecord=null,this._localPanelHistory=[],this._panel&&(this._panel.clearSnapshots(),this._panel.threads=[],this._panel.activePanelMessageId=null,this._panel.currentType=null),this._panelAiSpecByThread.clear(),this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,this._viewedProductSkus.clear(),this._threadsWithFirstBot.clear(),this._currentThreadId=null,this._lastThreadId=null,this._lastBackendContext=null,this._chatCreatedAt=new Date().toISOString(),e&&(this._pdpLaunched=!1,this._plpLaunched=!1,this._homepageLaunched=!1,this._entryContextPrimed=!1),this._contextPrimingInFlight=!1,this._queuedUserMessages=[],this._productContextUnavailableSku=null,this._presentation.reset(),this._presentation.setShown(this._drawerVisible),this._drawer?.setPresentationFocus(null),this._drawer?.setFormerMessagesButtonVisible(!1),this._drawer?.setPills([]),Fr(),this._modeController.reset()&&(this._drawer?.setInputPlaceholder(this._i18n.inputPlaceholder),this._drawer?.setAttachmentControlsVisible(!0),this._drawer?.setBeautyPhotoStepCard({visible:!1}))}_resetForNewPage(){this._activeHistorySessionId=null,this._bridgeContext=null,this._clearConversationState(!0)}_startNewChat(){this._activeHistorySessionId=null,this._clearConversationState(!1),this._showWelcomeIfNeeded(),this._drawer?.focusInput()}_clearAssistantPanelLikeStreamClearPanel(){this._clearChoicePrompter(),this._drawer?.clearPanel(),this._currentPanelSource=null,this._panelAiSpecByThread.clear(),this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,this._panel&&(this._panel.currentType=null,this._panel.updateExtendedMode(""),this._panel.updateTopBar(""))}_flushPresentationScroll(){const e=this._presentation.scrollRequest;if(!e||!this._drawer)return;let a=!1;e.type==="thread"&&e.threadId?(a=this._drawer.scrollThreadIntoView(e.threadId,e.behavior),a||(this._drawer.scrollToBottomPresentation(e.behavior),a=!0)):e.type==="bottom"&&(this._drawer.scrollToBottomPresentation(e.behavior),a=!0),a&&this._presentation.consumeScrollRequest(e.id)}_schedulePresentationScrollFlush(){const e=setTimeout(()=>{this._presentationScrollTimerIds.delete(e),this._flushPresentationScroll()},40);this._presentationScrollTimerIds.add(e)}_focusPresentationThread(e,a="smooth",n=!1){this._presentation.requestThreadFocus(e,a),n&&this._drawer?.setPresentationFocus(e),this._drawer?.setFormerMessagesButtonVisible(!1),this._schedulePresentationScrollFlush()}_scrollInlineIntoView(e,a){if(a){this._focusPresentationThread(a,"auto");return}e.scrollIntoView({behavior:"auto",block:"start"})}_releasePresentationFocus(){this._presentation.releaseFocusedThread(),this._drawer?.setPresentationFocus(null),this._drawer?.setFormerMessagesButtonVisible(!1)}_hasMultipleThreadIds(){const e=new Set;for(const a of this._messages)a.threadId&&e.add(a.threadId);return e.size>1}_orderedThreadIds(){const e=[],a=new Set;for(const n of this._messages)n.threadId&&!a.has(n.threadId)&&(a.add(n.threadId),e.push(n.threadId));return e}_maybeAutoAnchorUnreadAssistant(){if(!this._drawer||!this._presentation.shown)return;const e=this._orderedThreadIds();if(e.length===0)return;const a=dp(e,this._presentation);if(!a)return;const n=`${a}:assistant`;this._presentation.lastAutoAnchoredGroupId!==n&&(this._presentation.userInteracting&&!this._presentation.pinnedToBottom||this._drawer.scrollThreadIntoView(a,"smooth")&&this._presentation.markGroupAutoAnchored(n))}_handleBridgeMessage(e){switch(e.type){case"openChat":this.open();break;case"closeChat":this.close();break;case"startNewChatWithLauncherAction":{const a=e.payload,n=a?.action,i=pn(n)?n:pn(a)?a:null;i&&this._sendAction(i,{silent:!0}),this.open();break}case"startNewChatWithDetailContext":{const a=e.payload;if(a&&typeof a=="object"){this._bridgeContext=a;const n=a.sku;if(n&&this.update({sku:n}),pn(a.action)){this._pdpLaunched=!0,this.open(),this._sendAction(a.action);break}}this.open();break}case"launcherAction":{const a=e.payload?.action;a&&typeof a=="object"&&"type"in a&&this._sendAction(a);break}case"scrollToBottom":this._presentation.requestScrollToBottom("smooth"),this._schedulePresentationScrollFlush();break;case"addToCardHandler":this._bridge?.send("addToCardResult",e.payload);break;case"cartQuantityHandler":{const a=e.payload;a&&"quantity"in a&&typeof a.quantity=="number"&&(this._cartQuantity=a.quantity);break}case"favoritesCountHandler":{const a=e.payload?.count;typeof a=="number"&&a>=0&&this._drawer?.updateFavoritesBadge(a);break}case"minimizeRequestedByUser":this._extendedModeManager?.setHiddenByUser(!0);break;case"bgColorChange":{const a=e.payload?.color;typeof a=="string"&&vo(a)&&this._shadow&&this._shadow.host.style.setProperty("--gengage-chat-bg",a);break}default:break}}_registerPublicAPI(){window.gengage||(window.gengage={}),window.gengage.chat={open:e=>this.open(e),openWithAction:(e,a)=>this.openWithAction(e,a),sendMessage:e=>this.sendMessage(e),sendAction:(e,a)=>this.sendAction(e,a),close:()=>this.close(),saveSession:(e,a)=>this.saveSession(e,a),get isOpen(){return!1},on:(e,a)=>this.on(e,a),addCallback:(e,a)=>this.addCallback(e,a)},Object.defineProperty(window.gengage.chat,"isOpen",{get:()=>this._drawerVisible})}_showDrawer(){if(this._drawerVisible)return;this._drawerVisible=!0;const e=this._drawer?.getElement();e&&e.classList.remove("gengage-chat-drawer--hidden"),this._applyOpenStateClasses(),this._syncVisualVh?.(),this._drawer?.trapFocus(),this._isMobileViewport||this._drawer?.focusInput(),this._extendedModeManager?.setChatShown(!0),this._presentation.setShown(!0),setTimeout(()=>this._maybeAutoAnchorUnreadAssistant(),60)}_showWelcomeIfNeeded(){if(this._messages.length!==0)return;const e=this._resolveOpeningContextKey(),a=this._resolveContextualOpeningActions(e);if(a.length>0&&this._drawer?.setPills(a.map(r=>({label:r.title,onAction:()=>this._sendAction(this._resolveContextualOpeningAction(r,e))}))),this._hasDedicatedContextLaunch()||this._shouldPrimeContextualOpening())return;const n=this._resolveContextualOpeningMessage(e);if(!n)return;const i={id:Qn(),role:"assistant",content:n,timestamp:Date.now(),status:"done"};this._messages.push(i),this._drawer?.addMessage(i)}_resolveOpeningContextKey(){switch(this.config.pageContext?.pageType){case"home":return"home";case"search":case"plp":return"listing";case"pdp":return"product";default:return"default"}}_resolveContextualOpeningMessage(e=this._resolveOpeningContextKey()){return this.config.openingMessagesByContext?.[e]??(e!=="default"?this.config.openingMessagesByContext?.default:void 0)??this.config.welcomeMessage}_resolveContextualOpeningGuidance(e=this._resolveOpeningContextKey()){return this.config.openingGuidanceByContext?.[e]??(e!=="default"?this.config.openingGuidanceByContext?.default:void 0)}_resolveContextualOpeningActions(e=this._resolveOpeningContextKey()){const a=this.config.welcomeActionsByContext?.[e]??(e!=="default"?this.config.welcomeActionsByContext?.default:void 0);return a?.length?a.filter(n=>typeof n?.title=="string"&&n.title.trim().length>0):(this.config.welcomeActions??[]).filter(n=>typeof n=="string"&&n.trim().length>0).map(n=>({title:n}))}_resolveContextualOpeningAction(e,a=this._resolveOpeningContextKey()){const n=e.title.trim(),i=this.config.pageContext?.sku??this._readContextStringField("sku"),r=this._readContextStringListField("visible_skus")??[];return e.icon==="review"&&i?{title:n,type:"reviewSummary",payload:{sku:i}}:e.icon==="similar"&&i?{title:n,type:"findSimilar",payload:{sku:i}}:e.icon==="compare"&&a==="listing"&&r.length>=2?{title:n,type:"getComparisonTable",payload:{sku_list:r.slice(0,2)}}:{title:n,type:"user_message",payload:n}}_readContextStringField(e){const a=this.config.pageContext,n=a?.extra&&typeof a.extra=="object"&&!Array.isArray(a.extra)?a.extra:void 0,i=e.replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),r=a?.[e]??n?.[e]??a?.[i]??n?.[i];return typeof r=="string"&&r.trim().length>0?r.trim():void 0}_readContextStringListField(e){const a=this.config.pageContext,n=a?.extra&&typeof a.extra=="object"&&!Array.isArray(a.extra)?a.extra:void 0,i=e.replace(/_([a-z])/g,(s,c)=>c.toUpperCase()),r=a?.[e]??n?.[e]??a?.[i]??n?.[i];if(!Array.isArray(r))return;const o=r.filter(s=>typeof s=="string"&&s.trim().length>0);return o.length>0?o:void 0}_buildEntryOpeningPageDetails(){const e={};e.url=this.config.pageContext?.url??window.location.href;const a=this._readContextStringField("page_title");a&&(e.page_title=a);const n=this._readContextStringField("page_description");n&&(e.page_description=n);const i=this._readContextStringField("search_query");i&&(e.search_query=i);const r=this._readContextStringListField("visible_skus");r?.length&&(e.visible_skus=r);const o=this._readContextStringListField("popular_searches");o?.length&&(e.popular_searches=o);const s=this.config.pageContext?.categoryTree??this._readContextStringListField("category_path");return s?.length&&(e.category_path=s),Object.keys(e).length>0?e:void 0}_hasDedicatedContextLaunch(){const e=this.config.pageContext;return e?!!(e.pageType==="pdp"&&e.sku||e.pageType==="plp"&&e.skuList?.length||e.pageType==="home"):!1}_shouldPrimeContextualOpening(){return this._messages.length!==0||this._entryContextPrimed||this._contextPrimingInFlight||this._hasDedicatedContextLaunch()?!1:!!(this.config.openingMessagesByContext||this.config.openingGuidanceByContext||this.config.welcomeActionsByContext)}_maybePrimeEntryContextOpening(){const e=this._resolveOpeningContextKey();if(!this._shouldPrimeContextualOpening())return;this._entryContextPrimed=!0;const a={text:"",is_entry_context_opening:1,opening_context_key:e},n=this._buildEntryOpeningPageDetails();n&&(a.page_details=n);const i=this._resolveContextualOpeningMessage(e);i&&(a.opening_message=i);const r=this._resolveContextualOpeningGuidance(e);r&&(a.opening_guidance=r),this._sendAction({title:"",type:"user_message",payload:a},{silent:!0,preservePills:!0})}_hideDrawer(){if(!this._drawerVisible)return;this._drawer?.releaseFocus(),this._activeTypewriter?.cancel(),this._activeTypewriter=null,this._activeTtsHandle?.stop(),this._activeTtsHandle=null,this._drawerVisible=!1,this._openState="full";const e=this._drawer?.getElement();e&&(e.classList.add("gengage-chat-drawer--hidden"),e.style.removeProperty("--gengage-chat-keyboard-inset")),this._lastAppliedKeyboardInset=0,this._applyOpenStateClasses(),this._extendedModeManager?.setChatShown(!1),this._presentation.setShown(!1),this._drawer?.setPresentationFocus(null),this._drawer?.setFormerMessagesButtonVisible(!1)}_syncViewportState(){if(this._rootEl){if(this._isMobileViewport=window.innerWidth<=this._mobileBreakpoint,this._rootEl.classList.toggle("gengage-chat-root--mobile",this._isMobileViewport),this._launcher){const e=this._isMobileViewport&&this.config.hideMobileLauncher===!0;this._launcher.container.classList.toggle("gengage-chat-launcher--hidden-mobile",e)}this._applyOpenStateClasses()}}_isMaximizedForHostChrome(){if(!this._drawerVisible)return!1;const e=this.config.variant??"floating";return e==="inline"?!1:e==="overlay"?!0:!(!(this._drawer?.isPanelVisible()??!1)||!this._isMobileViewport&&(this._drawer?.isPanelCollapsed()??!1))}_shouldLockHostDocumentScroll(){if(!this._drawerVisible)return!1;const e=this.config.variant??"floating";return e==="inline"?!1:e==="overlay"||this._isMobileViewport?!0:this._isMaximizedForHostChrome()}_applyOpenStateClasses(){if(!this._rootEl)return;const e=this._drawerVisible&&this._isMobileViewport&&this._openState==="half",a=this._drawerVisible&&this._isMobileViewport&&this._openState==="full",n=this._isMaximizedForHostChrome();if(this._rootEl.classList.toggle("gengage-chat-root--open",this._drawerVisible),this._rootEl.classList.toggle("gengage-chat-root--mobile-half",e),this._rootEl.classList.toggle("gengage-chat-root--mobile-full",a),this._rootEl.classList.toggle("gengage-chat-root--maximized-host-chrome",n),a&&this._syncVisualVh?.(),this._backdropEl){const i=n&&(this.config.variant??"floating")!=="inline";this._backdropEl.setAttribute("aria-hidden",i?"false":"true")}this._syncHostDocumentScrollLock(),this._maybeTrackChatbotMainPaneGa()}_mainPaneExpandedForAnalytics(){const e=this._drawer;return e?.isPanelVisible()?this._isMobileViewport?!0:!e.isPanelCollapsed():!1}_maybeTrackChatbotMainPaneGa(){const e=this._mainPaneExpandedForAnalytics();e&&!this._gaPrevMainPaneExpanded&&ys(),this._gaPrevMainPaneExpanded=e}_syncHostDocumentScrollLock(){if(!(typeof document>"u")){if((this.config.variant??"floating")==="inline"){this._releaseHostDocumentScrollLock();return}this._shouldLockHostDocumentScroll()?this._applyHostDocumentScrollLock():this._releaseHostDocumentScrollLock()}}_hostScrollEventShouldReachChatScroller(e){try{const a=e.composedPath();if(a.length===0)return!0;if(!a.includes(this.root))return!1;for(const n of a){if(n===this.root)break;if(!(n instanceof HTMLElement))continue;if(this._backdropEl&&(n===this._backdropEl||this._backdropEl.contains(n)))return!1;const i=window.getComputedStyle(n),r=(i.overflowY==="auto"||i.overflowY==="scroll")&&n.scrollHeight>n.clientHeight+1,o=(i.overflowX==="auto"||i.overflowX==="scroll")&&n.scrollWidth>n.clientWidth+1;if(r||o)return!0}return!1}catch{return!1}}_applyHostDocumentScrollLock(){if(typeof document>"u"||typeof window>"u")return;const e=document.documentElement;if(!this._hostOverflowRestore){const a=document.body;this._hostOverflowRestore={htmlOverflow:e.style.overflow,bodyOverflow:a?.style.overflow??"",htmlOverscroll:e.style.overscrollBehavior,bodyOverscroll:a?.style.overscrollBehavior??""},e.dataset.gengageHostScrollLock="1",e.style.overflow="hidden",e.style.overscrollBehavior="none",a&&(a.style.overflow="hidden",a.style.overscrollBehavior="none"),this._hostScrollLockViewport={x:window.scrollX,y:window.scrollY}}this._hostScrollLockActive||(window.addEventListener("touchmove",this._preventHostDocumentTouchMove,{capture:!0,passive:!1}),window.addEventListener("wheel",this._preventHostDocumentWheel,{capture:!0,passive:!1}),document.addEventListener("touchmove",this._preventHostDocumentTouchMove,{capture:!0,passive:!1}),document.addEventListener("wheel",this._preventHostDocumentWheel,{capture:!0,passive:!1}),window.addEventListener("scroll",this._pinHostViewportScroll,{capture:!0,passive:!0}),this._hostScrollLockActive=!0)}_releaseHostDocumentScrollLock(){if(typeof document>"u")return;typeof window<"u"&&(window.removeEventListener("scroll",this._pinHostViewportScroll,{capture:!0}),window.removeEventListener("touchmove",this._preventHostDocumentTouchMove,{capture:!0}),window.removeEventListener("wheel",this._preventHostDocumentWheel,{capture:!0})),document.removeEventListener("touchmove",this._preventHostDocumentTouchMove,{capture:!0}),document.removeEventListener("wheel",this._preventHostDocumentWheel,{capture:!0}),this._hostScrollLockActive=!1,this._hostScrollLockViewport=null,this._hostScrollPinning=!1;const e=document.documentElement,a=document.body;this._hostOverflowRestore?(e.style.overflow=this._hostOverflowRestore.htmlOverflow,e.style.overscrollBehavior=this._hostOverflowRestore.htmlOverscroll,a&&(a.style.overflow=this._hostOverflowRestore.bodyOverflow,a.style.overscrollBehavior=this._hostOverflowRestore.bodyOverscroll),this._hostOverflowRestore=null):e.dataset.gengageHostScrollLock==="1"&&(e.style.removeProperty("overflow"),e.style.removeProperty("overscroll-behavior"),a?.style.removeProperty("overflow"),a?.style.removeProperty("overscroll-behavior")),delete e.dataset.gengageHostScrollLock}_handleAttachment(e){const a=Ys(e);if(!a.ok){ue("gengage:global:error",{message:a.reason==="invalid_type"?this._i18n.invalidFileType:this._i18n.fileTooLarge,source:"chat"});return}this._drawer?.stageAttachment(e)}_sendMessage(e,a){if(a===void 0){if(this._contextPrimingInFlight&&eo(e)==="directAddToCart"){this._queuedUserMessages.push({text:e});return}if(this._maybeHandleDirectAddToCartCommand(e))return}this._contextPrimingInFlight&&(this._abortAllActiveRequests(),this._contextPrimingInFlight=!1,this._queuedUserMessages=[]),this._ensureMobileFullSheetForPanel(),xs(),this._messages.some(i=>i.role==="user")||_s(),Be("chat","sendMessage",{mode:this._assistantMode,hasAttachment:a!==void 0,textLength:e.length});const n=a!==void 0?{title:e,type:this._modeController.resolveAttachmentActionType(),payload:e?{text:e}:{}}:{title:e,type:"user_message",payload:e};a!==void 0?this._sendAction(n,{attachment:a}):this._sendAction(n)}_flushQueuedUserMessages(){if(this._contextPrimingInFlight||this._queuedUserMessages.length===0)return;const e=[...this._queuedUserMessages];this._queuedUserMessages=[];for(const a of e)this._sendMessage(a.text,a.attachment)}_applyUiHints(){this._modeController.applyUiHints(this._drawer,this._i18n.inputPlaceholder,()=>{this._clearChoicePrompter()})}_handleRedirectMetadata(e){this._modeController.handleRedirect(e)}_sendAction(e,a){if(a?.skipFullSheet||this._ensureMobileFullSheetForPanel(),this._activeTypewriter?.cancel(),this._activeTypewriter=null,this._activeTtsHandle?.stop(),this._activeTtsHandle=null,this._lastSentAction={action:e,options:a},!this._initComplete){this._pendingActions.length<10&&this._pendingActions.push({action:e,options:a});return}if(this._clearChoicePrompter(),a?.preservePanel||Fr(),!a?.preservePanel&&this._comparisonSelectMode&&e.type!=="getComparisonTable"&&(this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[]),a?.preservePanel||(this._localPanelHistory=[]),this._currentThreadId&&this._lastThreadId&&this._lastThreadId>this._currentThreadId){const x=this._currentThreadId,N=this._messages.filter(I=>I.threadId!==void 0&&I.threadId>x);this._messages=this._messages.filter(I=>!I.threadId||I.threadId<=x);for(const I of N)this._shadow?.querySelector(`[data-message-id="${ve(I.id)}"]`)?.remove(),this._panel?.deleteSnapshotForMessage(I.id);this._panel?.pruneThreadsAfter(x),this._shadow?.querySelectorAll("[data-thread-id]")?.forEach(I=>{I instanceof HTMLElement&&I.dataset.threadId&&I.dataset.threadId>x&&I.remove()})}a?.preservePills||this._drawer?.setPills([]),this._drawer?.clearInputAreaChips();let n=!1;const i=x=>{n!==x&&(n=x,this._bridge?.send("isResponding",x))};i(!0);const r=Qn();this._currentThreadId=r,this._lastThreadId=r,this._panel&&!yo.has(e.type)&&(this._panel.lastActionType=e.type);const o=a?.preservePanel===!0,s=a?.silent===!0&&a?.isContextPrime===!0,c=s&&e.type==="launchSingleProduct";let l;if(o||(this._activeRequestThreadId=r),!a?.silent&&!o&&this._drawer?.setPresentationFocus(r),!a?.silent){const x=typeof e.payload=="string"?e.payload:typeof e.payload?.text=="string"?e.payload.text:e.title,N=this._messages.length>0?this._messages[this._messages.length-1]:void 0;if(!(N!==void 0&&N.role==="user"&&N.content===x)){(!this._messages.some(B=>B.role==="user")||this._drawer?.isKvkkBannerVisible())&&(gn(this.config.accountId),this._drawer?.hideKvkkBanner());const I=this._createMessage("user",x);I.threadId=r,a?.attachment!==void 0&&(I.attachment=a.attachment),this._drawer?.addMessage(I),a?.attachment!==void 0&&this._modeController.isBeautyConsulting&&this._drawer?.setBeautyPhotoStepCard({visible:!1}),this._messages.push(I),this._persistHistoryToLocalStorage()}}const p=!a?.silent&&this._assistantMode==="shopping"&&this._hasUnavailableProductContext()&&(e.type==="user_message"||e.type==="inputText");let d=this._currentPanelSource,h=!1;const f=e.type==="user_message"||e.type==="inputText",b=()=>{h||a?.preservePanel||(d=this._currentPanelSource,h=!0)},m=()=>{if(this._drawer?.isPanelLoading()){if(!f&&d){const x=this._buildRenderContext(),N=this._renderPanelFromSource(d,x);this._drawer.setPanelContent(N),this._currentPanelSource=d}else this._drawer.clearPanel(),this._currentPanelSource=null;d=null}};e.type==="getComparisonTable"&&(this._drawer?.showPanelLoading("comparisonTable"),this._panel?.updateTopBarForLoading("comparisonTable")),!a?.silent&&!o&&this._pruneEmptyStreamingAssistantPlaceholders(),this._drawer?.showTypingIndicator();let u="";const g=this._createMessage("assistant","");g.threadId=r,g.status="streaming",a?.silent&&(g.silent=!0),this._messages.push(g),this._presentation.registerAssistantActivity(r),this._focusPresentationThread(r,"smooth",a?.silent||o),a?.preservePanel||(this._contextPrimingInFlight&&!s&&(this._contextPrimingInFlight=!1,this._queuedUserMessages=[]),this._abortAllActiveRequests());const v={middlewareUrl:this.config.middlewareUrl,...this.config.accountId?{accountId:this.config.accountId}:{},...this.config.injectorAdapter?{injectorAdapter:this.config.injectorAdapter}:{}};a?.attachment!==void 0&&(v.attachment=a.attachment);const _=this._getVisibleMessages().filter(x=>!x.frontendOnly&&x!==g&&(x.content||x.role==="assistant")).slice(-50).map(x=>({role:x.role==="user"?"user":"model",content:x.content??""})),y={outputLanguage:wp(this.config.locale),parentUrl:window.location.href,windowWidth:String(window.innerWidth),windowHeight:String(window.innerHeight),selfUrl:"",id:this.config.session?.sessionId??"",userId:this.config.session?.userId??"",appId:this.config.accountId,threads:[],createdAt:this._chatCreatedAt,kvkkApproved:ho(this.config.accountId),voiceEnabled:this.config.voiceEnabled??!1,threadId:r,isControlGroup:this.config.session?.abTestVariant==="control",isMobile:this._isMobileViewport};this.config.isDemoWebsite===!0&&(y.openPdpSimilars=!0),this._modeController.isShopping||(y.assistantMode=this._modeController.mode),this.config.session?.viewId!==void 0&&(y.viewId=this.config.session.viewId);const k=cl(e,{pageContext:this.config.pageContext,backendContext:this._lastBackendContext,isMobile:this._isMobileViewport}),P={account_id:this.config.accountId,session_id:this.config.session?.sessionId??"",correlation_id:this.config.session?.sessionId??"",type:k.type,locale:He(this.config.locale),meta:y,context:{...this._lastBackendContext??{},messages:_,session_id:this.config.session?.sessionId??""}};this.config.session?.userId!==void 0&&(P.user_id=this.config.session.userId),this.config.session?.viewId!==void 0&&(P.view_id=this.config.session.viewId),k.payload!==void 0&&(P.payload=k.payload),!p&&this.config.pageContext?.sku!==void 0&&(P.sku=this.config.pageContext.sku),!p&&this.config.pageContext?.pageType!==void 0&&(P.page_type=this.config.pageContext.pageType);let w=!1,E=!1,z=!1,V=!1,W=!1,oe=!1;const ie=ql();let A=null,D=null;const C=()=>{if(this._drawer&&!V){if(!z){this._drawer.setPanelAiZoneState("hidden");return}W?this._drawer.setPanelAiZoneState("hidden"):this._drawer.setPanelAiZoneState("analyzing",{analyzingLabel:this._i18n.aiAnalysisAnalyzingLabel})}},M=x=>{if(!A||!this._drawer)return;const N=this._buildRenderContext();N.isStreaming=x;const I=this._renderUISpec(A,N);V=!0,this._drawer.setPanelAiZoneState("results",{resultEl:I}),A=null},O=(x,N,I)=>{if(x==="ProductGrid"||x==="CategoriesContainer"){z=!0,M(I),C();return}N!=="appendSimilars"&&N!=="append"&&(z=!1,V=!1,A=null,this._drawer?.setPanelAiZoneState("hidden"))},U=x=>(x==="ProductGrid"||x==="CategoriesContainer")&&(z||V||A!==null),R=()=>{oe||(oe=!0,this._drawer?.removeTypingIndicator(),i(!1),this._bridge?.send("loadingMessage",{text:null}))},ne=(x,N,I)=>{if(!this._drawer||!this._panel)return;const B=x.elements[x.root];if(I==="ProductGrid"&&B){const q=Za(B);if(q.isConsulting){const j=this._drawer.getPanelContentElement();if(j&&Sd(j,q,N)){this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,this._drawer.setComparisonDockContent(null),this._currentPanelSource={kind:"spec",spec:x},this._panel.currentType=I,this._drawer.resyncPanelTopBarFromCurrentContent();return}}}this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,this._drawer.setComparisonDockContent(null),this._drawer.setPanelContent(this._renderUISpec(x,N),{preserveAiZone:U(I)}),this._currentPanelSource={kind:"spec",spec:x},this._panel.currentType=I},ae=(x,N,I,B)=>{if(!this._panel)return;x==="ProductDetailsPanel"&&e.type==="launchSingleProduct"&&this._clearUnavailableProductContext(),g.threadId&&this._panel.threads[this._panel.threads.length-1]!==g.threadId&&this._panel.threads.push(g.threadId),this._isMobileViewport&&x==="ProductGrid"&&this._ensureMobilePanelOverlayVisible();const q=this._panel.currentType??x,j=N?.props?.panelTitle;this._panel.updateTopBar(q,j),this._panel.updateExtendedMode(x),this._isMobileViewport&&c&&this._drawer?.hideMobilePanel(),O(x,I,B)};let G=null;if(G=dl(P,{onTextChunk:(x,N,I)=>{if(!o&&r!==this._activeRequestThreadId||(u+=x,Pp(u)&&R(),I?.skuToProductItem&&(this._skuToProductItem={...this._skuToProductItem,...I.skuToProductItem}),I?.conversationMode&&(this._conversationMode=I.conversationMode),I?.renderHint&&(g.renderHint=I.renderHint),!this._drawer))return;let B=u;if(I?.kvkk===!0||ln(B)){if(N){const j=this.config.accountId;if(!ho(j)){const $=_p(B);$?this._drawer?.showKvkkBanner($,()=>{this._drawer?.hideKvkkBanner(),gn(j)}):gn(j)}}B=xp(B)}const q=this._shadow?.querySelector(`[data-message-id="${g.id}"] .gengage-chat-bubble-text`);if(q?q.innerHTML=ye(B):(g.content=B,g.role==="assistant"&&g.threadId&&!this._threadsWithFirstBot.has(g.threadId)&&(this._threadsWithFirstBot.add(g.threadId),this._drawer.markFirstBotMessage(g.id)),this._drawer.addMessage(g)),N)if(g.content=B,g.status="done",Fn(),$l(g))this._drawer?.updateBotMessage(g.id,B,"photo_analysis",g.photoAnalysis),g.threadId&&this._focusPresentationThread(g.threadId,"auto");else{const j=this._shadow?.querySelector(`[data-message-id="${g.id}"] .gengage-chat-bubble-text`);if(j){this._activeTypewriter?.cancel();const $=I?.productMentions;this._activeTypewriter=qd({container:j,html:ye(B),onTick:()=>this._drawer?.scrollToBottomIfNeeded(),onComplete:()=>{this._activeTypewriter=null,$&&$.length>0&&j&&$d({container:j,mentions:$,onProductClick:J=>{this._sendAction({title:$.find(Y=>Y.sku===J)?.short_name??J,type:"launchSingleProduct",payload:{sku:J}})}})}})}}},onUISpec:(x,N,I,B)=>{if(!o&&r!==this._activeRequestThreadId||N!=="chat")return;B&&(this._clearAssistantPanelLikeStreamClearPanel(),w=!1,D=null);const q=x.elements[x.root],j=q?.type??"unknown";if(jl(j,q?.props??{},ie,{drawer:this._drawer,ensureRendered:()=>this._ensureAssistantMessageRendered(g),cancelTypewriter:()=>{this._activeTypewriter?.cancel(),this._activeTypewriter=null},sendSkipMessage:()=>this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),streamDone:W},g)){j==="PhotoAnalysisCard"&&g.threadId&&this._focusPresentationThread(g.threadId,"auto");return}const $=Xt(q),J=this.config.productDetailsExtended!==!0&&(j==="ProductDetailsPanel"||$);J&&!B&&(this._clearAssistantPanelLikeStreamClearPanel(),w=!1);const Y=j==="ProductDetailsPanel"&&I!=="panel"?"panel":I,se=this._buildRenderContext();if(se.isStreaming=!0,j==="ComparisonTable"){const F=q?.props?.products;us(Array.isArray(F)?F.length:0)}if(j==="ProductGrid"){const F=q?.children?.length??0;bs(void 0,F)}const me=Y==="panel"&&this._panel?this._panel.toPanelSpec(x):x;if(Y==="panel"&&this._panel&&!J&&j==="ProductGrid"&&q){const F=Za(q);if(F.isConsulting&&!Cd(F)){D=x;return}F.isConsulting&&(D=null)}if(Ep(q)&&R(),Y==="panel"&&this._panel&&!J){const F=!E;E=!0;const K=q?.props?.replacePanel===!0,Q=q?.props?.rankingState,X=K||Q==="pending"||Q==="final"?"replace":ep({componentType:j,similarsAppend:q?.props?.similarsAppend===!0,currentPanelType:this._panel.currentType,hasPanelContent:this._drawer?.hasPanelContent()??!1,isPanelLoading:this._drawer?.isPanelLoading()??!1,isFirstPanelContentInStream:F});se.panelProductListHeading=void 0,j==="ProductGrid"&&(X==="appendSimilars"?se.panelProductListHeading=this._i18n.similarProductsLabel??"Similar Products":this._applyPanelListHeadingToContext(se,{kind:"spec",spec:me})),X==="appendSimilars"?this._appendSimilarsToPanel(me,se):X==="append"?(this._drawer?.appendPanelContent(this._renderUISpec(me,se)),this._comparisonSelectMode&&this._refreshComparisonUI()):ne(me,se,j),ae(j,q,X,!0)}if(j==="ProductDetailsPanel"&&Y==="panel"&&(!g.silent||c)){const F=q?.props?.product;if(F){c&&(l=F),this._currentInlineProductSummaryRecord=F;const K={root:"root",elements:{root:{type:"ProductSummaryCard",props:{product:F}}}},Q=this._shadow?.querySelector(".gengage-chat-messages");if(Q){const X=this._renderUISpec(K,se);g.threadId&&(X.dataset.threadId=g.threadId);const be=this._shadow?.querySelector(`[data-message-id="${g.id}"]`);be&&be.parentNode===Q?be.after(X):Q.appendChild(X),this._scrollInlineIntoView(X,g.threadId),this._drawer?.refreshPresentationCollapsed(),E=!0}}}const S=j==="AITopPicks"||j==="AIGroupingCards",T=j==="ActionButtons"?q?.props?.buttons:void 0,H=j==="ActionButtons"&&this._modeController.mode!=="shopping"&&Array.isArray(T)&&T.length>0&&T.every(F=>F.action?.type==="inputText");let Z=!1,re=!1;if(J&&$&&(se.panelProductListHeading=this._i18n.similarProductsLabel??"Similar Products"),S&&(!g.silent||s))if(g.threadId&&this._rememberPanelAiSpec(g.threadId,x),z){const F=this._renderUISpec(x,se);V=!0,this._drawer?.setPanelAiZoneState("results",{resultEl:F}),Z=!0,A=null}else A=x,re=!0;const ce=s&&(j==="GroundingReviewCard"||S);if(!S&&(!g.silent||ce)&&(Y!=="panel"||j==="ProductCard"||J&&j==="ProductGrid"&&!$)&&(j!=="ActionButtons"||H)&&!Z&&!(re&&S)){const F=this._shadow?.querySelector(".gengage-chat-messages");if(F){const K=this._renderUISpec(x,se);g.threadId&&(K.dataset.threadId=g.threadId),F.appendChild(K),this._scrollInlineIntoView(K,g.threadId),this._drawer?.refreshPresentationCollapsed(),J&&j==="ProductGrid"&&(E=!0)}}if((j==="ProductGrid"||j==="ProductCard")&&g.threadId){const F=q?.children??[],K=j==="ProductGrid"?F.map(Q=>x.elements[Q]?.props?.product).filter(Boolean):[q?.props?.product].filter(Boolean);for(const Q of K){const X=Q.sku;X&&this._viewedProductSkus.add(X)}}if(j==="ProductGrid"||j==="ProductDetailsPanel"){const F=(j==="ProductGrid"?(q?.children??[]).map(K=>x.elements[K]?.props?.product).filter(Boolean):[q?.props?.product??q?.props].filter(Boolean)).map(K=>K.imageUrl).filter(K=>typeof K=="string").slice(0,5);F.length>0&&this._bridge?.send("previewImages",{images:F})}const fe=q?.children?.length??0;if(j==="ProductGrid"&&Y==="panel"&&!J&&fe>1&&!this._isMobileViewport&&!this._modeController.isChoicePrompterHidden&&!this._comparisonSelectMode&&!Yd(this._currentThreadId??"")&&(this._clearChoicePrompter(),this._choicePrompterEl=Kd({heading:this._i18n.choicePrompterHeading,suggestion:this._i18n.choicePrompterSuggestion,ctaLabel:this._i18n.choicePrompterCta,threadId:this._currentThreadId??"",dismissAriaLabel:this._i18n.dismissAriaLabel,onCtaClick:()=>{this._comparisonSelectMode=!0,this._choicePrompterEl=null,this._refreshComparisonUI()},onDismiss:()=>{this._choicePrompterEl=null}}),this._mountChoicePrompter()),j==="ActionButtons"){const F=q?.props?.buttons;if(F&&F.length>0&&!H){const K=[],Q=[];for(const X of F)if(Gd(X)){const be={label:X.label,action:X.action};X.icon&&(be.icon=X.icon),K.push(be)}else Q.push(X);K.length>0&&this._drawer?.setInputAreaChips(K.map(X=>({label:X.label,onAction:()=>this._sendAction(X.action),...X.icon?{icon:X.icon}:{}}))),Q.length>0&&this._drawer?.setPills(Q.map(X=>{const be={label:X.label,onAction:()=>this._sendAction(X.action)};return X.icon&&(be.icon=X.icon),X.image&&(be.image=X.image),X.description&&(be.description=X.description),be}))}}C(),g.uiSpec=x},onAction:x=>{if(!(!o&&r!==this._activeRequestThreadId)&&x.type==="action"){const N={};this.config.actionHandling?.unknownActionPolicy!==void 0&&(N.unknownActionPolicy=this.config.actionHandling.unknownActionPolicy),this.config.actionHandling?.allowScriptCall!==void 0&&(N.allowScriptCall=this.config.actionHandling.allowScriptCall),Vs(x,{openChat:()=>this.open(),navigate:I=>{pe(I.url)&&(this._bridge?.send("navigate",I),I.newTab?window.open(I.url,"_blank","noopener,noreferrer"):window.location.href=I.url)},saveSession:I=>this.saveSession(I.sessionId,I.sku),addToCart:I=>{this._runChatAddToCartFlow(I)},scriptCall:I=>{ue("gengage:chat:script-call",I),this.config.onScriptCall?.(I)}},N)}},onMetadata:x=>{if(!(!o&&r!==this._activeRequestThreadId)&&x.type==="metadata"&&x.meta){if(x.meta.panel!==void 0||x.meta.messages!==void 0||x.meta.message_id!==void 0){this._lastBackendContext=x.meta;const N=ke(x.meta.panel);N&&(this._modeController.updateFromContext(N),this._applyUiHints())}if(x.meta.panelLoading){const N=typeof x.meta.panelPendingType=="string"?x.meta.panelPendingType:void 0;this.config.productDetailsExtended!==!0&&(N==="productDetails"||N==="productDetailsSimilars")||(w=!0,E=!1,b(),this._panel&&(this._panel.currentType=null),this._drawer?.showPanelLoading(N),this._isMobileViewport&&N==="productList"&&this._ensureMobilePanelOverlayVisible(),N&&this._panel?.updateTopBarForLoading(N))}if(x.meta.voice){const N=new CustomEvent("gengage:chat:voice",{detail:{payload:x.meta.voice},bubbles:!1,cancelable:!0}),I=window.dispatchEvent(N);if(ws(),I){const B=x.meta.voice;B.audio_base64&&(this._activeTtsHandle?.stop(),this._activeTtsHandle=Hd(B.audio_base64,B.content_type??"audio/ogg"))}}if((x.meta.redirectTarget||x.meta.redirect)&&(ue("gengage:chat:redirect",{target:x.meta.redirectTarget??null,payload:x.meta.redirect??null}),Be("redirect","redirect dispatched",{target:x.meta.redirectTarget??null}),this._handleRedirectMetadata(x.meta.redirect)),x.meta.analyzeAnimation&&this.config.productDetailsExtended===!0&&(w=!0,E=!1,b(),this._panel&&(this._panel.currentType=null),this._drawer?.showPanelLoading(),this._panel?.updateTopBarForLoading("productDetails")),x.meta.loading){const N=Array.isArray(x.meta.thinkingMessages)?x.meta.thinkingMessages.filter(B=>typeof B=="string"):[],I=typeof x.meta.loadingText=="string"?x.meta.loadingText:void 0;if(N.length>0){const B=I&&this._modeController.shouldCondenseThinking()?[...N.slice(0,2),I]:N;this._drawer?.setThinkingSteps(B)}typeof I=="string"&&I.length>0&&(this._drawer?.addThinkingStep(I),oe||this._bridge?.send("loadingMessage",{text:I}))}x.meta.visitorDataResponse&&this._bridge?.send("engagingMessage",x.meta.visitorDataResponse),x.meta.formType&&this._bridge?.send("glovForm",{type:x.meta.formType,data:x.meta.formPayload}),x.meta.launcherContent&&this._bridge?.send("launcherContent",x.meta.launcherContent),ue("gengage:chat:metadata",{payload:x.meta})}},onError:x=>{if(G&&this._abortControllers.delete(G),!o&&r!==this._activeRequestThreadId)return;W=!0,this._activeTypewriter?.cancel(),this._activeTypewriter=null,C(),A=null,D=null,i(!1),this._bridge?.send("loadingMessage",{text:null}),this._drawer?.removeTypingIndicator(),this._drawer?.clearInputAreaChips(),Gl(ie,{drawer:this._drawer,ensureRendered:()=>{},cancelTypewriter:()=>{},sendSkipMessage:()=>this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),streamDone:!0});const N=E;w&&!E&&m(),w=!1,E=!1;const I=g.content!=null&&g.content.length>0||u.length>0||N,B=g.silent||I,q=typeof navigator<"u"&&navigator.onLine===!1&&ua(x),j=()=>{this._shadow?.querySelector(`[data-message-id="${ve(g.id)}"]`)?.remove();const Y=this._messages.indexOf(g);Y>=0&&this._messages.splice(Y,1)};let $=!1;const J=()=>{if(q)return;this.emit("error",x);const Y=x.message;Y===this._lastErrorMessage?this._consecutiveErrorCount++:(this._consecutiveErrorCount=1,this._lastErrorMessage=Y);const se=x.message.trim(),me=se.length>0?se:this._i18n.errorMessage,S={onRetry:()=>{this._lastSentAction&&this._sendAction(this._lastSentAction.action,this._lastSentAction.options)},onNewQuestion:()=>{this._drawer?.focusInput()}};if(this._consecutiveErrorCount>=2){j(),$=!0,this._drawer?.showErrorWithRecovery(this._i18n.accountInactiveMessage,S);return}if(vp(x,me)){j(),$=!0,this._drawer?.showErrorWithRecovery(me,S);return}g.content=me,g.status="done";const T=ye(me.replace(/\r\n/g,`
546
+ `.trim(),u=()=>{for(const k of document.querySelectorAll("[data-gengage-widget]")){if(!(k instanceof HTMLElement))continue;const T=k.shadowRoot;if(T&&(T.querySelector('[data-gengage-part="chat-launcher-button"]')||T.querySelector(".gengage-chat-root")))return k}return null},g=k=>{if(k.getElementById(s))return;const T=document.createElement("style");T.id=s,T.textContent=m,k.appendChild(T)},v=ve(o),_=k=>{g(k);const T=k.querySelector('[data-gengage-part="chat-launcher-button"]');if(!(T instanceof HTMLButtonElement))return!1;const w=k.querySelector('[data-gengage-part="chat-header-avatar"]');if(w instanceof HTMLImageElement){const z=k.querySelector('[data-gengage-part="chat-launcher-button"] img');(!z||w.src===z.src)&&w.classList.remove("gengage-chat-header-avatar--logo")}if(T.querySelector(`.${v}`))return!0;T.setAttribute("aria-label",e);const E=document.createElement("span");return E.className=o,E.textContent=e,T.appendChild(E),!0};return{launcherImageUrl:a,apply:async k=>{if(k){g(k),await Promise.resolve();for(let w=0;w<90;w++){if(_(k))return;await new Promise(E=>requestAnimationFrame(()=>E()))}return}const T=u();T?.shadowRoot&&g(T.shadowRoot),await Promise.resolve();for(let w=0;w<90;w++){const E=u()?.shadowRoot??null;if(E&&(g(E),_(E)))return;await new Promise(z=>requestAnimationFrame(()=>z()))}}}}var up=L((()=>{It()}));function mp(t){return t.toLocaleLowerCase("tr-TR").replace(/ç/g,"c").replace(/ğ/g,"g").replace(/ı/g,"i").replace(/ö/g,"o").replace(/ş/g,"s").replace(/ü/g,"u").replace(/[^a-z0-9]+/g," ").trim().replace(/\s+/g," ")}function fp(t){if(!t.trim()||t.length>to||/[??]/.test(t))return!1;const e=mp(t);if(!e||Ve.negativePattern.test(e))return!1;const a=e.split(" ");for(;a.length>0&&ao.has(a[0]);)a.shift();for(;a.length>0&&no.has(a[a.length-1]);)a.pop();return a.length===1?so.has(a[0]):a.length!==2?!1:io.has(a[0])&&ro.has(a[1])?!0:a[0]==="satin"&&oo.has(a[1])}function eo(t){return fp(t)?"directAddToCart":null}var to,Ve,ao,no,io,ro,oo,so,bp=L((()=>{to=96,Ve={leadingTokens:["bana","beni","bi","bir","bu","bunu","da","de","hemen","lutfen","su","sunu","urun","urunu"],trailingTokens:["artik","da","de","lutfen","misin","misiniz","ya"],negativePattern:/\b(?:ekleyem|ekleyemed|eklenem|eklenm|satin aldiktan|satin aldim|iade|iptal|olmuyor|olmadi|olmedi|sorun|problem)\b/,cartTargets:["sepete","sepetime"],cartVerbs:["at","atar","atsana","ekle","ekler","eklesene"],buyVerbs:["al","alir","alsana"],compactBuyVerbs:["satinal","satinalsana"]},ao=new Set(Ve.leadingTokens),no=new Set(Ve.trailingTokens),io=new Set(Ve.cartTargets),ro=new Set(Ve.cartVerbs),oo=new Set(Ve.buyVerbs),so=new Set(Ve.compactBuyVerbs)}));function vp(t,e){if(ua(t))return!0;const a=t.message.trim();if(co.test(a)||lo.some(r=>r.test(a)))return!0;const n=e.trim();if(n.length>po)return!0;const i=n.split(/\n/).length;return!!(i>=6||go.some(r=>r.test(n))||i>=3&&/\bat\s+/.test(n))}var co,lo,go,po,yp=L((()=>{it(),co=/^HTTP\s+\d{3}\b/i,lo=[/response body is null/i,/streaming not supported/i,/ECONNREFUSED/i,/ECONNRESET/i,/ETIMEDOUT/i,/socket hang up/i,/net::ERR_/i,/502\s+bad gateway/i,/503\s+service unavailable/i,/504\s+gateway timeout/i],go=[/Traceback\s*\(/i,/\bSyntaxError\b/,/\bReferenceError\b/,/\bTypeError\s*:/,/\bat\s+[\w./()[\]<>-]+:\d+:\d+/,/\n\s+at\s+\w/,/undefined is not/i,/is not a function/i,/<anonymous>/i,/ChunkLoadError/i,/UnhandledPromiseRejection/i],po=720}));function ln(t){const e=t.toLowerCase();return uo.some(a=>e.includes(a))||mo.test(e)}function ho(t){try{return localStorage.getItem(`${dn}_${t}`)==="1"}catch{return!1}}function gn(t){try{localStorage.setItem(`${dn}_${t}`,"1")}catch{}}function xp(t,e={}){const a=new DOMParser().parseFromString(t,"text/html").body,n=Array.from(a.children);let i=!1;for(const r of n)if(ln(r.textContent??"")){r.remove(),i=!0;break}return!i&&e.fallbackToFirstBlock===!0&&n[0]&&n[0].remove(),a.innerHTML.trim()}function _p(t,e={}){const a=new DOMParser().parseFromString(t,"text/html"),n=Array.from(a.body.children);for(const i of n)if(ln(i.textContent??""))return i.outerHTML;return e.fallbackToFirstBlock===!0?n[0]?.outerHTML??null:null}function wp(t){return t?fo[t.toLowerCase().slice(0,2)]??"TURKISH":"TURKISH"}var dn,uo,mo,fo,kp=L((()=>{dn="gengage_kvkk_shown",uo=["kvkk","kişisel veri","kisisel veri"],mo=/\b6698\b/,fo={tr:"TURKISH",en:"ENGLISH",de:"GERMAN",fr:"FRENCH"}})),bo,Cp=L((()=>{bo=':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;min-height:44px;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:0 16px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;min-height:48px;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;align-self:center;font-size:13px;line-height:1.35;display:block}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;min-height:20px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}:host{all:initial;font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px)}.gengage-chat-root button,.gengage-chat-root [role=button],.gengage-chat-root a{cursor:pointer}.gengage-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-root{z-index:var(--gengage-z-index,2147480000);--_gengage-chat-offset:var(--gengage-chat-offset,20px);--_gengage-chat-launcher-bottom:var(--gengage-chat-launcher-bottom,20px);--_gengage-chat-launcher-right:var(--gengage-chat-launcher-right,20px);--_gengage-chat-launcher-width:var(--gengage-chat-launcher-width,56px);--_gengage-chat-launcher-height:var(--gengage-chat-launcher-height,56px);--_gengage-chat-launcher-mobile-width:var(--gengage-chat-launcher-mobile-width,var(--_gengage-chat-launcher-width));--_gengage-chat-launcher-mobile-height:var(--gengage-chat-launcher-mobile-height,var(--_gengage-chat-launcher-height));--_gengage-chat-drawer-width:var(--gengage-chat-width,400px);--_gengage-chat-radius:var(--gengage-chat-shell-radius,1rem);--_gengage-chat-header-height:var(--gengage-chat-header-height,72px);--_gengage-chat-conversation-width:var(--gengage-chat-conversation-width,396px);--_gengage-chat-panel-min-width:var(--gengage-chat-panel-min-width,320px);--_gengage-chat-panel-max-width:var(--gengage-chat-panel-max-width,1200px);--_gengage-chat-input-height:var(--gengage-chat-input-height,48px);--_gengage-chat-shadow:var(--gengage-chat-shadow,var(--shadow-3));--_gengage-border-color:var(--border-default);--_gengage-discount-color:var(--gengage-discount-color,var(--client-primary));--_gengage-campaign-reason-start:var(--gengage-campaign-reason-color,var(--client-primary));--_gengage-campaign-reason-end:var(--gengage-campaign-reason-color-end,var(--gengage-campaign-reason-color,var(--client-primary)));--_gengage-success-color:var(--success);--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-surface-secondary:var(--surface-card-soft);--_gengage-surface-muted:var(--surface-card-soft);--_gengage-surface-dark:var(--surface-shell);--_gengage-rating-color:var(--rating);--_gengage-error:var(--error);--_gengage-danger-color:var(--error);--_gengage-ghost-border:var(--gengage-ghost-border,color-mix(in srgb, var(--client-primary) 16%, transparent));position:fixed}.gengage-chat-backdrop{z-index:0;pointer-events:none;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;display:none;position:fixed;inset:0}.gengage-chat-root--open:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:none;background:var(--gengage-chat-float-backdrop,transparent);display:block}.gengage-chat-root--open.gengage-chat-root--maximized-host-chrome:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:auto;background:var(--gengage-chat-float-backdrop,color-mix(in srgb, var(--surface-overlay) 72%, transparent))}.gengage-chat-root.gengage-chat--overlay.gengage-chat-root--open .gengage-chat-backdrop{background:var(--gengage-chat-overlay-backdrop,var(--surface-overlay));pointer-events:auto}.gengage-chat-launcher-container{bottom:var(--gengage-chat-launcher-anchor-bottom,var(--_gengage-chat-launcher-bottom));right:var(--gengage-chat-launcher-anchor-right,var(--_gengage-chat-launcher-right));z-index:var(--gengage-z-index,2147480000);transition:bottom var(--gengage-chat-launcher-anchor-transition,0s) ease, right var(--gengage-chat-launcher-anchor-transition,0s) ease;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.gengage-chat-launcher-content-area,.gengage-chat-launcher-content-area-bottom{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.gengage-chat-launcher-content-area:empty,.gengage-chat-launcher-content-area-bottom:empty,.gengage-chat-root--open .gengage-chat-launcher-content-area,.gengage-chat-root--open .gengage-chat-launcher-content-area-bottom{display:none}.gengage-chat-root--open .gengage-chat-launcher-container{pointer-events:none;opacity:0;transition:opacity .2s}.gengage-chat-launcher{width:var(--_gengage-chat-launcher-width);height:var(--_gengage-chat-launcher-height);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:var(--shadow-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;display:flex;position:relative}.gengage-chat-launcher:hover{box-shadow:var(--shadow-3);transform:none}.gengage-chat-launcher svg{width:28px;height:28px}.gengage-chat-launcher--image-mode{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;overflow:hidden}.gengage-chat-launcher--image-mode:hover{box-shadow:none}.gengage-chat-launcher--image-mode img{object-fit:contain;width:100%;height:100%}.gengage-chat-launcher-img--mobile,.gengage-chat-root--mobile .gengage-chat-launcher-img--desktop{display:none}.gengage-chat-root--mobile .gengage-chat-launcher-img--mobile{display:block}.gengage-chat-launcher--hidden-mobile{display:none!important}.gengage-chat-launcher-tooltip{border-radius:var(--radius-control);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-2);padding:6px 12px;font-size:13px;font-weight:500;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.gengage-chat-launcher-tooltip:after{content:"";border:5px solid #0000;border-left-color:var(--surface-shell);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.gengage-chat-launcher:hover .gengage-chat-launcher-tooltip{opacity:1}.gengage-chat-root--open .gengage-chat-launcher-tooltip{display:none}.gengage-chat-drawer{width:var(--_gengage-chat-drawer-width);background:var(--surface-elevated,var(--surface-card));border-left:1px solid var(--border-default);max-height:100dvh;box-shadow:var(--_gengage-chat-shadow);z-index:var(--gengage-z-index,2147480000);opacity:1;border-radius:0;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-launcher-container{right:var(--gengage-chat-launcher-anchor-right,var(--gengage-chat-launcher-mobile-right,16px));bottom:calc(var(--gengage-chat-launcher-anchor-bottom,var(--gengage-chat-launcher-mobile-bottom,16px)) + env(safe-area-inset-bottom,0px))}.gengage-chat-root--mobile .gengage-chat-launcher{width:var(--_gengage-chat-launcher-mobile-width);height:var(--_gengage-chat-launcher-mobile-height)}.gengage-chat-root--mobile .gengage-chat-drawer{border:1px solid var(--border-default);width:100%;max-width:none;max-height:100dvh;box-shadow:var(--shadow-3);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-elevated,var(--surface-card));border-bottom:none;border-radius:16px 16px 0 0;bottom:0;left:0;right:0}.gengage-chat-drawer-handle{display:none}.gengage-chat-root--mobile .gengage-chat-drawer-handle{pointer-events:none;z-index:1;justify-content:center;align-items:center;height:14px;display:flex;position:absolute;top:6px;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gengage-chat-root--mobile .gengage-chat-header button,.gengage-chat-root--mobile .gengage-chat-header a{cursor:pointer;touch-action:auto;-webkit-user-select:auto;user-select:auto}.gengage-chat-root--mobile .gengage-chat-drawer-handle:before{content:"";background:var(--border-strong);pointer-events:none;border-radius:999px;width:36px;height:4px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-drawer{height:min(72dvh,620px);max-height:min(72dvh,620px);top:auto}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-drawer{top:var(--gengage-chat-visual-top,0px);height:var(--gengage-chat-visual-vh,100dvh);max-height:var(--gengage-chat-visual-vh,100dvh);border-radius:0;bottom:auto}.gengage-chat-root--mobile .gengage-chat-input-area{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-default)}.gengage-chat-header{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--gengage-chat-header-bg,var(--ds-header-bg));color:var(--gengage-chat-header-foreground,var(--ds-header-fg));box-shadow:none;border-bottom:1px solid var(--gengage-chat-header-border-bottom,var(--ds-header-border));z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.gengage-chat-header-left{align-items:center;gap:10px;min-width:0;display:flex}.gengage-chat-header-avatar{background:var(--surface-card-soft);border:1px solid var(--border-default);object-fit:contain;border-radius:999px;flex-shrink:0;width:44px;height:44px}.gengage-chat-header-avatar--logo{object-fit:contain;background:0 0;border:none;border-radius:0;width:auto;max-width:92px;height:45px}.gengage-chat-header-info{flex-direction:column;gap:2px;min-width:0;display:flex}.gengage-chat-header-title-row{align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-header-title{letter-spacing:.01em;color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.gengage-chat-header-badge{border-radius:var(--radius-pill);background:var(--ds-badge-brand-bg);min-height:26px;color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 10px;font-size:10px;font-weight:800;line-height:1.5;display:inline-flex}.gengage-chat-header-powered{color:var(--ds-header-muted);align-items:center;gap:4px;font-size:11px;line-height:1.2;text-decoration:none;transition:color .15s;display:flex}.gengage-chat-header-powered:hover{color:var(--client-primary)}.gengage-chat-header-powered svg{opacity:.6;flex-shrink:0;width:12px;height:12px}.gengage-chat-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.gengage-chat-header-btn{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}@media (width<=374px){.gengage-chat-header{gap:8px;padding:10px}.gengage-chat-header-right{flex-shrink:1;gap:4px;min-width:0}.gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.gengage-chat-header-btn:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-header-btn--fav{position:relative}.gengage-chat-header-btn--reopen-panel,.gengage-chat-root--mobile .gengage-chat-new-chat{display:none}.gengage-chat-header-fav-badge{background:var(--error);min-width:16px;height:16px;color:var(--text-inverse);text-align:center;pointer-events:none;border-radius:999px;padding:0 3px;font-size:9px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.gengage-chat-close{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-close:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.gengage-chat-panel{width:0;transition:width .22s cubic-bezier(.2,.72,.2,1);display:none;overflow:hidden}.gengage-chat-panel--visible{box-sizing:border-box;background:var(--gengage-chat-panel-bg,var(--surface-card));border-right:1px solid var(--border-default);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 24%, transparent) transparent;flex-direction:column;width:440px;min-width:440px;padding:16px;display:flex;position:relative;overflow-y:auto}.gengage-chat-panel--visible::-webkit-scrollbar{width:6px}.gengage-chat-panel--visible::-webkit-scrollbar-track{background:0 0}.gengage-chat-panel--visible::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 24%, transparent);border-radius:3px}.gengage-chat-panel--visible::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-panel-ai-zone{box-sizing:border-box;border-bottom:1px solid var(--border-subtle);flex-shrink:0;width:100%;max-height:min(42vh,320px);margin-bottom:4px;padding:8px 0 12px;overflow:auto}.gengage-chat-panel-ai-zone:has(.gengage-chat-grouping-cards){max-height:min(52vh,520px)}.gengage-chat-panel-ai-zone:has(.gengage-chat-ai-top-picks){max-height:none;overflow:visible}.gengage-chat-panel-ai-zone[hidden]{display:none!important}.gengage-chat-panel-ai-zone-inner{align-items:center;gap:10px;display:flex}.gengage-chat-panel-ai-zone-text{color:var(--text-muted);font-size:13px}.gengage-chat-grouping-section-title{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-section-title{width:100%;color:var(--text-primary);letter-spacing:-.01em;flex-shrink:0;align-self:stretch;margin:0 0 10px;font-size:15px;font-weight:700;display:block}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards{flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;max-height:none;display:flex}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;align-items:stretch;gap:10px;width:100%;min-width:0;margin:0 -2px;padding:2px 2px 10px;display:flex;overflow:auto hidden}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card{box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);width:136px;min-width:136px;max-width:150px;box-shadow:var(--shadow-1);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:12px 10px 14px}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-arrow{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-img{object-fit:cover;border-radius:8px;width:100%;min-width:0;max-width:88px;height:72px;min-height:72px;margin:0 auto}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-body{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-name{font-size:13px;font-weight:700;line-height:1.25}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:11px;line-height:1.3}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-labels{white-space:normal;text-overflow:unset;justify-content:center;margin-top:2px;line-height:1.35;overflow:visible}.gengage-chat-panel-divider{cursor:pointer;background:var(--_gengage-border-color);z-index:2;flex-shrink:0;align-items:center;width:4px;transition:background .15s;display:flex;position:relative}.gengage-chat-panel-divider:hover{background:var(--border-strong)}.gengage-chat-panel-divider--hidden{display:none}.gengage-chat-panel-divider-toggle{border:1px solid var(--_gengage-border-color);background:var(--surface-card);cursor:pointer;width:28px;height:48px;color:var(--text-secondary);box-shadow:var(--shadow-1);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-toggle:hover{background:var(--surface-card-muted);color:var(--client-primary)}.gengage-chat-panel.gengage-chat-panel--collapsed{border-right:none;flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider .gengage-chat-panel-divider-toggle{left:50%;transform:translate(-50%,-50%)}.gengage-chat-conversation{background:var(--surface-card);z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.gengage-chat-drawer--with-panel{width:auto;box-shadow:none;background:0 0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-header{border-radius:0;flex-shrink:0}.gengage-chat-drawer--with-panel .gengage-chat-body{flex:1 1 0;align-items:stretch;gap:0;min-height:0;padding:0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(var(--_gengage-chat-panel-min-width), 56vw, var(--_gengage-chat-panel-max-width));min-width:var(--_gengage-chat-panel-min-width);max-width:var(--_gengage-chat-panel-max-width);background:var(--gengage-chat-panel-bg,var(--surface-card));box-shadow:none;border-right:none;border-radius:0;flex:none;max-height:100dvh;margin:0;padding:0 16px 16px;overflow-y:auto}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle{background:var(--surface-card);width:20px;height:48px;color:var(--client-primary);border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));box-shadow:var(--shadow-1);z-index:10;border-radius:10px;font-size:12px}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle);color:var(--client-primary)}.gengage-chat-drawer--with-panel .gengage-chat-conversation{flex:0 0 var(--_gengage-chat-conversation-width);width:var(--_gengage-chat-conversation-width);background:var(--surface-card);box-shadow:var(--shadow-2);border-left:none}.gengage-chat-drawer--with-panel .gengage-chat-messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 22%, transparent) transparent;padding-right:6px}.gengage-chat-drawer--with-panel .gengage-chat-messages::-webkit-scrollbar{width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel.gengage-chat-panel--collapsed{flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-drawer--with-panel:has(.gengage-chat-panel--collapsed){width:var(--_gengage-chat-conversation-width);background:var(--surface-elevated,var(--surface-card));box-shadow:var(--_gengage-chat-shadow)}.gengage-chat-drawer--with-panel .gengage-chat-footer{display:none}.gengage-chat-messages{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.gengage-chat-messages::-webkit-scrollbar{width:6px}.gengage-chat-messages::-webkit-scrollbar-track{background:0 0}.gengage-chat-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 22%, transparent);border-radius:3px}.gengage-chat-messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-bubble--presentation-collapsed{display:none!important}.gengage-chat-former-messages-btn{z-index:2;border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:color-mix(in srgb, var(--surface-card) 96%, transparent);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);flex-shrink:0;align-self:center;margin-bottom:4px;padding:8px 14px;font-size:13px;font-weight:600;position:sticky;top:0}.gengage-chat-former-messages-btn:hover{background:var(--surface-card-muted)}.gengage-chat-bubble--panel-bookmark{max-width:72%;margin-top:-6px}.gengage-chat-inline-panel-bookmark-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:700}.gengage-chat-inline-panel-bookmark-card{border:1px solid color-mix(in srgb, var(--client-primary) 38%, var(--border-default));background:color-mix(in srgb, var(--surface-card) 94%, transparent);text-align:left;width:100%;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;transition:transform .16s,border-color .16s,box-shadow .16s,background-color .16s;display:flex}.gengage-chat-inline-panel-bookmark-card:hover{border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-inline-panel-bookmark-card--active{background:color-mix(in srgb, var(--client-primary-subtle) 42%, var(--surface-card))}.gengage-chat-inline-panel-bookmark-previews{gap:8px;display:flex}.gengage-chat-inline-panel-bookmark-preview{background:color-mix(in srgb, var(--surface-card-muted) 70%, var(--surface-card));border:1px solid color-mix(in srgb, var(--border-default) 74%, transparent);border-radius:14px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;overflow:hidden}.gengage-chat-inline-panel-bookmark-preview-img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-inline-panel-bookmark-preview-fallback{color:var(--text-primary);font-size:13px;font-weight:700}.gengage-chat-inline-panel-bookmark-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-inline-panel-bookmark-cta{color:var(--client-primary);font-size:13px;font-weight:700}@media (width<=768px){.gengage-chat-bubble--panel-bookmark{display:none!important}}.gengage-chat-bubble{position:relative}@keyframes gengage-chat-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-bubble--user{max-width:85%}.gengage-chat-bubble--assistant{max-width:85%;margin-left:2px}.gengage-chat-bubble--ui-spec{box-shadow:none;background:0 0;border:none;min-width:0;padding:0}.gengage-chat-bubble--ui-spec-only{max-width:min(85%,420px)}.gengage-chat-bubble-ui-spec{width:100%}.gengage-chat-bubble--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.gengage-chat-bubble--panel-restore.gengage-chat-bubble--active{outline:none}.gengage-chat-bubble--assistant:empty{display:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a{color:var(--client-primary);text-decoration:underline}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a:hover{text-decoration:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p{margin:0 0 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p:last-child{margin-bottom:0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text ul,.gengage-chat-bubble--assistant .gengage-chat-bubble-text ol{margin:6px 0;padding-left:20px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text li{margin-bottom:6px;line-height:1.5}.gengage-chat-bubble--assistant .gengage-chat-bubble-text code{background:color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:6px;padding:1px 4px;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text pre{background:color-mix(in srgb, var(--surface-card) 78%, var(--surface-card-soft));border:1px solid var(--border-subtle);border-radius:12px;margin:4px 0;padding:10px 12px;overflow-x:auto}.gengage-chat-bubble--assistant .gengage-chat-bubble-text table{border-collapse:collapse;margin:4px 0;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text th,.gengage-chat-bubble--assistant .gengage-chat-bubble-text td{border:1px solid var(--border-default);padding:4px 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text img{border-radius:12px;max-width:100%;height:auto;margin:4px 0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text h1,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h2,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h3,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h4,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h5,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h6{color:var(--text-primary);margin:8px 0 4px;line-height:1.3}.gengage-chat-bubble--assistant .gengage-chat-bubble-text blockquote{border-left:3px solid var(--border-default);color:var(--text-secondary);margin:4px 0;padding-left:12px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text{overflow-wrap:break-word}.gengage-chat-bubble--photo-analysis{border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card-soft) 80%, white), var(--surface-card))}.gengage-chat-photo-analysis-card{flex-direction:column;gap:10px;display:flex}.gengage-chat-photo-analysis-badge{letter-spacing:.02em;color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 14%, white);border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:800}.gengage-chat-photo-analysis-body{flex-direction:column;gap:12px;display:flex}.gengage-chat-photo-analysis-summary{color:var(--text-primary);margin:0;font-size:14px;line-height:1.55}.gengage-chat-photo-analysis-highlights{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-photo-analysis-section{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:color-mix(in srgb, var(--surface-card-soft) 78%, white);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-photo-analysis-section--celeb{gap:6px}.gengage-chat-photo-analysis-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:12px;font-weight:800}.gengage-chat-photo-analysis-section-list{color:var(--text-primary);gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.gengage-chat-photo-analysis-section-item{margin:0}.gengage-chat-photo-analysis-celeb-name{color:var(--text-primary);margin:0;font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-photo-analysis-celeb-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-photo-analysis-next{background:color-mix(in srgb, var(--client-primary) 9%, white);color:var(--text-primary);border-radius:12px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.45}.gengage-chat-bubble--first{border-left:1px solid var(--ds-message-assistant-border)}.gengage-chat-bubble--first .gengage-chat-bubble-text{font-size:inherit}@media (width<=768px){.gengage-chat-bubble--assistant .gengage-chat-bubble-text{line-height:1.5}.gengage-chat-bubble--user{word-break:break-word;max-width:calc(100% - 16px)}}.gengage-chat-typing{align-self:flex-start;max-width:85%}.gengage-chat-typing-dots{flex-shrink:0}.gengage-chat-typing-text{flex:1;min-width:0}.gengage-chat-typing--presence{justify-content:flex-start;width:fit-content;max-width:100%}.gengage-chat-panel-loading-status{margin-bottom:16px}.gengage-chat-panel-loading-status.gds-progress-loader-panel{box-sizing:border-box;min-width:0;max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status.gds-progress-loader-panel{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status .gengage-chat-panel-loading-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-offline-bar{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 22%, var(--border-default));align-items:center;gap:6px;padding:6px 12px;font-size:12px;line-height:1.4;display:none}.gengage-chat-offline-bar--visible{display:flex}.gengage-chat-offline-bar:before{content:"";background:var(--_gengage-rating-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.gengage-chat-thinking-steps{flex-direction:column;gap:4px;padding:4px 0;display:flex}.gengage-chat-thinking-step{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.gengage-chat-thinking-step-marker{text-align:center;flex-shrink:0;width:16px;font-size:12px}.gengage-chat-thinking-step-marker--done{color:var(--_gengage-success-color)}.gengage-chat-thinking-step-marker--active{color:var(--ai-accent-start);animation:1.5s ease-in-out infinite gengage-thinking-pulse}@keyframes gengage-thinking-pulse{0%,to{opacity:1}50%{opacity:.4}}.gengage-chat-thinking-step-text{line-height:1.4}.gengage-chat-error{border-radius:var(--radius-control);background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));text-align:center;border:1px solid color-mix(in srgb, var(--error) 22%, var(--border-default));justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.gengage-chat-error-retry{border:1px solid color-mix(in srgb, var(--error) 24%, var(--border-default));border-radius:var(--radius-control);background:var(--surface-card);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));cursor:pointer;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.gengage-chat-error-retry:hover{background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 32%, var(--border-default))}.gengage-chat-input-area{border-top:1px solid var(--border-subtle);background:var(--surface-card);z-index:2;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:0;padding:10px 12px 12px;display:flex;position:relative}.gengage-chat-input-pill{--gengage-chat-input-control-size:40px;--gengage-chat-input-shell-pad:6px;--gengage-chat-input-shell-radius:18px;--gengage-chat-input-control-radius:12px;min-width:0;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2));background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--gengage-chat-input-shell-radius);padding:var(--gengage-chat-input-shell-pad);box-sizing:border-box;box-shadow:none;flex:1;align-items:center;gap:10px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:visible}.gengage-chat-input-pill:focus-within{border-color:color-mix(in srgb, var(--client-primary) 28%, white);box-shadow:0 0 0 4px var(--client-focus-ring)}.gengage-chat-input{box-sizing:border-box;min-width:0;min-height:40px;max-height:120px;color:var(--_gengage-text-primary);resize:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:11px 0 9px;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{--gengage-chat-input-control-size:44px;--gengage-chat-input-shell-radius:20px;--gengage-chat-input-control-radius:14px;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2))}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;padding:12px 0 10px;font-size:16px;line-height:1.4;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:inherit}.gengage-chat-send{width:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);min-width:var(--gengage-chat-input-control-size,40px);border:1px solid var(--ds-button-primary-border);border-radius:var(--gengage-chat-input-control-radius,12px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;font-weight:700;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s,transform .15s;display:flex;position:relative}.gengage-chat-send:hover{background:var(--ds-button-primary-bg-hover);box-shadow:none;transform:none}.gengage-chat-send:active{box-shadow:none;transform:translateY(0)}.gengage-chat-send svg{width:18px;height:18px}.gengage-chat-send--stop{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--text-primary)}.gengage-chat-send--stop:hover{background:color-mix(in srgb, var(--surface-card-soft) 86%, var(--client-primary-subtle));border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-send-stop-icon{background:currentColor;border-radius:4px;width:12px;height:12px;display:inline-block}.gengage-chat-send--stop:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.2;transition:opacity .16s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.gengage-chat-send--stop:hover:after,.gengage-chat-send--stop:focus-visible:after{opacity:1}}.gengage-chat-send:disabled{background:var(--ds-neutral-200);border-color:var(--ds-neutral-200);opacity:.5;box-shadow:none;cursor:not-allowed}.gengage-chat-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:4px 10px;font-size:10px}.gengage-chat-uispec{width:100%}.gengage-chat-uispec:empty{display:none}.gengage-chat-uispec>*{animation:.16s cubic-bezier(.2,.7,.2,1) both gengage-chat-widget-enter}@keyframes gengage-chat-widget-enter{0%{opacity:0;transform:translateY(5px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.gengage-chat-action-buttons{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:6px 0 4px;display:flex}.gengage-chat-action-buttons:after{content:"";flex:1 0 auto}.gengage-chat-action-btn{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-pill,999px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;white-space:nowrap;flex:none;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.25;transition:filter .15s,transform .1s}.gengage-chat-action-btn:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-action-btn:active{transform:scale(.97)}.gengage-chat-product-card{border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);background:var(--ds-card-bg);width:160px;min-width:160px;max-width:160px;box-shadow:var(--ds-card-shadow);flex-direction:column;transition:transform .1s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.gengage-chat-product-card:hover{box-shadow:var(--ds-card-shadow-hover);transform:translateY(-2px)}.gengage-chat-product-card-img{object-fit:contain;background:var(--surface-card);box-sizing:border-box;width:100%;height:120px;padding:8px;display:block}.gengage-chat-product-card-body{text-align:center;flex-direction:column;flex:1;gap:4px;padding:8px 10px 10px;display:flex}.gengage-chat-product-card-name{color:var(--_gengage-text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:2.7em;margin-bottom:0;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-card-brand{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-star-half{display:inline-block;position:relative}.gengage-star-half>span{width:.5em;position:absolute;top:0;left:0;overflow:hidden}.gengage-chat-product-card-review-count{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-price,.gengage-chat-product-card-price-block{color:var(--text-primary);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 6px;font-size:16px;font-weight:800;display:flex}.gengage-chat-product-card-current-price{font:inherit;color:var(--gengage-discounted-price-color,var(--text-primary));font-weight:800}.gengage-chat-product-card-original-price{color:var(--_gengage-text-secondary);margin-right:0;font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-campaign-reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0 0 4px;font-size:11px;font-weight:700;line-height:1.25}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.gengage-chat-campaign-reason,.gengage-chat-campaign-price-badge__reason{color:var(--_gengage-campaign-reason-start);background:0 0}}.gengage-chat-product-card-price-stack{flex-direction:column;align-items:flex-start;width:100%;min-width:0;display:flex}.gengage-chat-product-card-price-row{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-card-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.95em;margin:0 1px;display:inline-block}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-original-price{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:16px;font-weight:500;text-decoration:none}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:16px;font-weight:800}.gengage-chat-product-card-meta-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;min-height:34px;display:flex}.gengage-chat-product-card-meta-row--empty{visibility:hidden}.gengage-chat-product-card-rating-compact{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-product-card-rating-compact-value{font-variant-numeric:tabular-nums;color:var(--text-primary)}.gengage-chat-product-card-img-actions{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-product-card-img-actions>*{pointer-events:auto}.gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{position:static}.gengage-chat-price-skeleton{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);vertical-align:middle;background-size:200% 100%;border-radius:4px;width:80px;height:16px;animation:1.5s ease-in-out infinite gengage-skeleton-price-pulse;display:inline-block}@keyframes gengage-skeleton-price-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-product-card-cta{text-align:center;color:var(--client-primary);letter-spacing:.01em;border-top:1px solid var(--border-default);cursor:pointer;background:0 0;margin-top:auto;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:block}.gengage-chat-product-card-cta:hover{color:var(--client-primary-hover);background:var(--surface-card-soft)}.gengage-chat-product-card-cta:active{background:var(--surface-card-soft)}button.gengage-chat-product-card-cta{appearance:none;font:inherit;box-sizing:border-box;border-bottom:none;border-left:none;border-right:none;width:100%;margin:0}.gengage-chat-panel-restore-card{appearance:none;box-sizing:border-box;font:inherit;border:1px solid color-mix(in srgb, var(--client-primary) 34%, var(--border-default));border-radius:calc(var(--radius-control) + 6px);background:var(--surface-card);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:16px 18px;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s;display:flex}.gengage-chat-panel-restore-card--minimal{gap:10px;padding:14px 16px}.gengage-chat-panel-restore-card:hover{background:color-mix(in srgb, var(--surface-card) 92%, var(--client-primary-subtle) 8%);box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));transform:translateY(-1px)}.gengage-chat-panel-restore-card:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:3px}.gengage-chat-panel-restore-card__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:800}.gengage-chat-panel-restore-card__previews{gap:10px;display:flex}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__previews{gap:8px}.gengage-chat-panel-restore-card__thumb{border:1px solid var(--border-default);background:var(--surface-card);border-radius:16px;width:58px;height:58px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8a}.gengage-chat-panel-restore-card__thumb img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-panel-restore-card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:18px;font-weight:700;line-height:1.24;display:-webkit-box;overflow:hidden}.gengage-chat-panel-restore-card__cta{color:var(--client-primary);font-size:15px;font-weight:700}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__cta{letter-spacing:.01em;font-size:14px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card{-webkit-tap-highlight-color:transparent;padding:14px 16px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card__thumb{border-radius:14px;width:52px;height:52px}.gengage-chat-root--mobile .gengage-chat-bubble--active{outline:none}.gengage-chat-product-summary{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0;padding:10px 12px;transition:background .15s,box-shadow .15s,border-color .15s;display:flex}.gengage-chat-product-summary:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-product-summary__image{border-radius:var(--radius-control);border:1px solid var(--border-subtle);background:var(--surface-card-soft);flex-shrink:0;width:64px;height:64px;overflow:hidden}.gengage-chat-product-summary__image img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-product-summary__content{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.gengage-chat-product-summary__name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-product-summary__rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-chat-product-summary__review-count{color:var(--text-secondary);font-size:11px}.gengage-chat-product-summary__price{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:600;line-height:1}.gengage-chat-product-summary__price-original{color:var(--_gengage-text-secondary);font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-product-summary__price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:2px;display:flex}.gengage-chat-product-summary__price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-product-summary__price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-summary__price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.9em;margin:0 1px;display:inline-block}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-original{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:13px;font-weight:500;text-decoration:none}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:13px;font-weight:700}.gengage-chat-product-summary__cta{color:var(--client-primary);border-radius:var(--radius-pill);background:var(--client-primary-subtle);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.gengage-chat-product-summary__cta:hover{background:var(--client-primary-soft)}.gengage-chat-product-summary__cta:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}button.gengage-chat-product-summary__cta{cursor:pointer;font:inherit;border:none}.gengage-chat-product-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:12px;min-height:180px;padding:8px 16px 8px 0;display:flex;overflow-x:auto}.gengage-chat-product-grid>*{scroll-snap-align:start;flex:none}.gengage-chat-product-grid::-webkit-scrollbar{display:none}.gengage-chat-product-grid--pending{filter:blur(3px)saturate(.85);opacity:.75;pointer-events:none;transition:filter .16s ease-out,opacity .16s ease-out;position:relative}.gengage-chat-product-grid--pending:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff59 50%,#0000 100%);animation:1.2s ease-in-out infinite gengage-chat-product-grid-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes gengage-chat-product-grid-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.gengage-chat-product-grid--pending:after{animation:none}}.gengage-chat-review-highlights{padding:4px 0 8px}.gengage-chat-review-empty{color:var(--_gengage-text-secondary);font-size:12px}.gengage-chat-review-subjects-heading{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.gengage-chat-review-subjects{margin-bottom:12px}.gengage-chat-review-subject{color:var(--text-primary);box-shadow:none;gap:6px;padding:7px 11px;font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-review-subject--active{border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}.gengage-chat-review-subject-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.gengage-chat-review-subject-icon svg{width:14px;height:14px;display:block}.gengage-chat-review-subject[data-tone=positive] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-review-subject[data-tone=negative] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--error) 84%, var(--text-primary))}.gengage-chat-review-subject[data-tone=neutral] .gengage-chat-review-subject-icon{color:var(--text-secondary)}.gengage-chat-review-subject-label{color:inherit}.gengage-chat-review-subject-count{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-review-detail{padding:12px}.gengage-chat-review-detail-meta{flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:10px;display:flex}.gengage-chat-review-detail-mentions{color:var(--_gengage-text-primary);font-size:13px;font-weight:700}.gengage-chat-review-detail-positive{color:var(--_gengage-success-color);font-size:13px;font-weight:700}.gengage-chat-review-detail-negative{color:var(--error);font-size:13px;font-weight:700}.gengage-chat-review-snippets{gap:10px;display:grid}.gengage-chat-review-snippet{border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card-soft);padding:8px 10px}.gengage-chat-review-snippet[data-tone=positive]{border-left-color:color-mix(in srgb, var(--success) 40%, var(--border-default))}.gengage-chat-review-snippet[data-tone=negative]{border-left-color:color-mix(in srgb, var(--error) 40%, var(--border-default))}.gengage-chat-review-snippet-text{color:var(--_gengage-text-primary);font-size:13px;line-height:1.4}.gengage-chat-review-snippet-rating{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:700}.gengage-chat-favorites-page{padding:12px}.gengage-chat-favorites-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-favorites-empty-icon{opacity:.25;color:var(--error)}.gengage-chat-favorites-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-favorites-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-favorites-card{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:center;gap:12px;padding:10px 12px;transition:opacity .2s,transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.gengage-chat-favorites-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-favorites-card--removing{opacity:0;transform:translate(8px)}.gengage-chat-favorites-card__image{border-radius:var(--radius-control);background:var(--surface-card-muted);flex-shrink:0;width:56px;height:56px;overflow:hidden}.gengage-chat-favorites-card__image img{object-fit:contain;width:100%;height:100%}.gengage-chat-favorites-card__info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gengage-chat-favorites-card__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.gengage-chat-favorites-card__price{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-favorites-remove{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--error);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex}.gengage-chat-favorites-remove:hover{opacity:1;background:color-mix(in srgb, var(--error) 10%, white)}.gengage-chat-history-page{flex-direction:column;gap:12px;padding:12px;display:flex}.gengage-chat-history-actions{display:flex}.gengage-chat-history-new-chat{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));border-radius:var(--radius-control);background:color-mix(in srgb, var(--client-primary) 9%, white);width:100%;min-height:42px;color:var(--client-primary);cursor:pointer;padding:0 14px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.gengage-chat-history-new-chat:hover{background:color-mix(in srgb, var(--client-primary) 14%, white);border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default))}.gengage-chat-history-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-history-item{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:stretch;gap:8px;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-history-item:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-history-item--active{border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card))}.gengage-chat-history-open{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:12px 14px}.gengage-chat-history-item-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.gengage-chat-history-item-title{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.gengage-chat-history-item-meta{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:600}.gengage-chat-history-item-preview{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-history-delete{border:none;border-left:1px solid color-mix(in srgb, var(--border-default) 84%, transparent);border-top-right-radius:inherit;border-bottom-right-radius:inherit;width:38px;min-width:38px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.gengage-chat-history-delete:hover{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-history-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-history-empty-icon{opacity:.25;color:var(--client-primary)}.gengage-chat-history-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-divider{border:none;border-top:1px solid var(--_gengage-border-color);margin:8px 0}.gengage-chat-divider-wrapper{align-items:center;gap:8px;margin:8px 0;display:flex}.gengage-chat-divider-wrapper hr{border:none;border-top:1px solid var(--_gengage-border-color);flex:1;margin:0}.gengage-chat-divider-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.gengage-chat--overlay .gengage-chat-drawer{border-radius:0;width:100%;max-width:480px;max-height:100%;margin:0 auto;animation:.24s cubic-bezier(.2,.72,.2,1) gengage-chat-overlay-in;position:fixed;inset:0}@keyframes gengage-chat-overlay-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-panel-skeleton{box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:6px 0;display:flex}.gengage-chat-panel-skeleton-block{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;border-radius:10px;height:110px;animation:1.4s infinite gengage-panel-shimmer}@keyframes gengage-panel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-panel-skeleton-block--image{border-radius:8px;height:200px;margin-bottom:12px}.gengage-chat-panel-skeleton-block--text{border-radius:4px;height:16px;margin-bottom:8px}.gengage-chat-panel-skeleton-block--text:nth-child(3){width:80%}.gengage-chat-panel-skeleton-block--text:nth-child(4){width:60%}.gengage-chat-panel-skeleton-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gengage-chat-panel-skeleton-block--card{border-radius:8px;height:120px}.gengage-chat-panel-skeleton--comparison{gap:0;padding:0}.gengage-chat-panel-skeleton--comparison .gengage-chat-panel-loading-status{margin:0;padding:16px 16px 0}.gengage-chat-comparison--skeleton{pointer-events:none;box-sizing:border-box;width:100%}.gengage-chat-comparison-skeleton-shimmer{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;animation:1.4s infinite gengage-panel-shimmer}.gengage-chat-comparison-skeleton-rec-label{border-radius:4px;width:132px;height:12px;margin-bottom:12px}.gengage-chat-comparison-skeleton-rec-img{border-radius:8px;flex-shrink:0;width:80px;height:80px}.gengage-chat-comparison-skeleton-rec-title{border-radius:4px;max-width:100%;height:14px;margin-bottom:6px}.gengage-chat-comparison-skeleton-rec-title--short{width:72%;margin-bottom:8px}.gengage-chat-comparison-skeleton-rec-price{border-radius:4px;width:112px;height:18px}.gengage-chat-comparison-skeleton-hl-label{border-radius:4px;width:96px;height:12px;margin-bottom:6px}.gengage-chat-comparison-skeleton-hl-list{margin:0;padding-left:18px;list-style:none}.gengage-chat-comparison-skeleton-hl-list li{margin-bottom:8px}.gengage-chat-comparison-skeleton-hl-list li:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-hl-line{border-radius:4px;width:100%;height:13px}.gengage-chat-comparison-skeleton-hl-line--medium{width:92%}.gengage-chat-comparison-skeleton-hl-line--short{width:78%}.gengage-chat-comparison-skeleton-kd-heading{border-radius:4px;width:42%;height:14px;margin:0 0 8px}.gengage-chat-comparison-skeleton-kd-line{border-radius:4px;max-width:100%;height:13px;margin-bottom:8px}.gengage-chat-comparison-skeleton-kd-line:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-kd-line:nth-child(odd){width:100%}.gengage-chat-comparison-skeleton-kd-line:nth-child(2n){width:90%}.gengage-chat-comparison-special--skeleton{cursor:default;align-items:center;min-height:44px;display:flex}.gengage-chat-comparison-skeleton-special-line{border-radius:4px;width:56%;max-width:280px;height:14px}.gengage-chat-comparison-skeleton-table-wrap{border:1px solid var(--border-default);background:var(--surface-card);-webkit-overflow-scrolling:touch;border-radius:8px;margin-top:12px;overflow-x:auto}.gengage-chat-comparison-skeleton-table-head,.gengage-chat-comparison-skeleton-table-row{grid-template-columns:72px repeat(3,minmax(0,1fr));align-items:start;gap:8px;padding:10px 12px;display:grid}.gengage-chat-comparison-skeleton-table-head{border-bottom:1px solid var(--_gengage-surface-muted);background:var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-corner{min-height:92px}.gengage-chat-comparison-skeleton-table-col{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-comparison-skeleton-table-th-img{border-radius:6px;flex-shrink:0;width:60px;height:60px}.gengage-chat-comparison-skeleton-table-th-name{border-radius:3px;width:100%;max-width:100%;height:11px}.gengage-chat-comparison-skeleton-table-th-price{border-radius:3px;width:64%;height:13px}.gengage-chat-comparison-skeleton-table-row{border-bottom:1px solid var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-row:last-child{border-bottom:none}.gengage-chat-comparison-skeleton-table-label{border-radius:3px;align-self:center;width:100%;max-width:56px;height:12px}.gengage-chat-comparison-skeleton-table-cell{border-radius:3px;width:100%;height:14px}.gengage-chat-panel-skeleton-block--row{border-radius:4px;height:32px;margin-bottom:4px}.gengage-chat-panel .gengage-chat-product-card{border-radius:var(--radius-card);border:1px solid var(--border-default);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-1);background:var(--surface-card);flex-direction:column;padding:0;display:flex;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.gengage-chat-panel .gengage-chat-product-card-img-actions{gap:6px;top:10px;right:10px}.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{border-radius:8px;width:28px;height:28px}.gengage-chat-panel .gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--client-primary);min-width:36px;height:36px;color:var(--client-on-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;top:10px;left:10px}.gengage-chat-panel .gengage-chat-product-card-brand{display:none}.gengage-chat-panel .gengage-chat-product-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;min-height:auto;padding:4px 0;display:grid;overflow-x:visible}.gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups{grid-template-columns:repeat(auto-fit,minmax(200px,240px));justify-content:start}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups.gengage-chat-product-grid--mobile{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:auto;padding:6px 0 10px;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile .gengage-chat-product-card{box-sizing:border-box;width:100%;min-width:0;max-width:none}.gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;background:var(--surface-card-muted);border-radius:var(--radius-card) var(--radius-card) 0 0;flex-shrink:0;width:100%;position:relative;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card-img{border-radius:inherit;object-fit:cover;object-position:center;box-sizing:border-box;background:0 0;width:100%;height:100%;min-height:0;padding:0;display:block}.gengage-chat-panel .gengage-chat-product-card-body{text-align:left;gap:8px;padding:12px 14px 10px}.gengage-chat-panel .gengage-chat-product-card-meta-row{align-items:center;min-height:38px;margin-bottom:0}.gengage-chat-panel .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-product-card-price-block{color:var(--text-primary);justify-content:flex-start;font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-original-price{color:var(--text-muted);font-size:12px;font-weight:400}.gengage-chat-panel .gengage-chat-product-card-rating-compact{font-size:11px;font-weight:700}.gengage-chat-panel .gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 58%, var(--text-primary))}.gengage-chat-panel .gengage-chat-product-card-name{min-height:0;color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;margin:0 0 2px;font-size:14px;font-weight:600;line-height:1.35}.gengage-chat-panel .gengage-chat-product-card-buy-footer{flex-shrink:0;min-width:0;margin-top:auto;padding:0 14px 16px;display:flex;position:relative}.gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;border:1.5px solid var(--client-primary);background:var(--surface-card);width:100%;min-width:0;min-height:42px;color:var(--client-primary);white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;transition:background .15s,box-shadow .15s;display:flex}.gengage-chat-panel .gengage-chat-product-card-buy-trigger:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);box-shadow:var(--shadow-1)}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{border:1.5px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 28px);min-width:0;color:var(--client-primary);box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;min-height:42px;margin:0 14px 16px;padding:9px 14px;font-size:13px;font-weight:600;display:flex}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta:hover{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-product-card--selected{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, transparent);box-shadow:0 0 0 1px var(--client-primary)}.gengage-chat-panel--visible{min-height:0}.gengage-chat-panel--visible>*{flex-shrink:0}.gengage-chat-load-more-btn{border:1px solid var(--border-default);color:var(--client-primary);cursor:pointer;background:0 0;border-radius:8px;margin:12px auto;padding:8px 24px;font-size:14px;display:block}.gengage-chat-load-more-btn:hover{background:var(--surface-card-muted)}.gengage-chat-product-details-panel{background:var(--surface-card);border:1px solid var(--border-default);box-sizing:border-box;border-radius:16px;flex-direction:column;gap:12px;width:100%;padding:14px;display:flex}.gengage-chat-product-details-media{border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;flex-direction:column;align-items:center;padding:12px;display:flex}.gengage-chat-product-details-img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:300px}.gengage-chat-product-details-content{flex-direction:column;gap:8px;min-width:0;display:flex}.gengage-chat-product-details-title{color:var(--text-primary);margin:0;font-size:17px;font-weight:700;line-height:1.3}.gengage-chat-product-details-rating{background:color-mix(in srgb, var(--warning) 10%, white);width:fit-content;color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-product-details-review-count{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));font-weight:600}.gengage-chat-product-details-price{align-items:baseline;gap:6px;display:flex}.gengage-chat-product-details-original-price{color:var(--text-secondary);font-size:14px;text-decoration:line-through}.gengage-chat-product-details-price-stack{flex-direction:column;align-items:flex-start;gap:2px;width:100%;display:flex}.gengage-chat-product-details-price-stack .gengage-chat-campaign-reason{margin-bottom:2px;font-size:13px;font-weight:600}.gengage-chat-product-details-price--inline{flex-wrap:nowrap;align-items:baseline}.gengage-chat-product-details-price--inline .gengage-chat-product-details-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:1em;margin:0 4px;display:inline-block}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{color:var(--text-secondary);order:0;font-size:22px;font-weight:500;text-decoration:none}.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));order:0;font-size:22px;font-weight:800}.gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:22px;font-weight:800;line-height:1.1}.gengage-chat-product-details-stock{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700}.gengage-chat-product-details-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-details-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-product-details-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.gengage-chat-product-details-cta{border-radius:var(--radius-control,12px);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .14s,transform .12s;display:inline-flex}.gengage-chat-product-details-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-product-details-cta:active{background:var(--ds-button-primary-bg-active)}.gengage-chat-product-details-atc{border-radius:var(--radius-control);background:var(--_gengage-success-color);color:var(--client-on-primary);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:filter .12s,transform .12s;display:inline-flex}.gengage-chat-product-details-atc:hover{filter:brightness(1.08);transform:translateY(-1px)}.gengage-chat-product-details-atc:active{transform:translateY(1px)}.gengage-chat-product-detail-tabs{border-top:1px solid var(--border-default);margin-top:4px;padding-top:12px}.gengage-chat-product-detail-tab-bar{border-bottom:1px solid var(--border-default);gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.gengage-chat-product-detail-tab{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.gengage-chat-product-detail-tab:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-card-soft) 82%, transparent)}.gengage-chat-product-detail-tab--active{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-product-detail-tab-panel{color:var(--text-secondary);font-size:13px;line-height:1.6}.gengage-chat-product-description{color:var(--text-primary);flex-direction:column;gap:10px;display:flex}.gengage-chat-product-description p,.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4,.gengage-chat-product-description ul,.gengage-chat-product-description ol{margin:0}.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-product-description ul,.gengage-chat-product-description ol{padding-left:20px}.gengage-chat-product-description li+li{margin-top:6px}.gengage-chat-product-description strong,.gengage-chat-product-description b{font-weight:800}.gengage-chat-product-specs-table{border-collapse:collapse;width:100%;font-size:13px}.gengage-chat-product-specs-table tr:nth-child(2n){background:var(--surface-card-muted)}.gengage-chat-product-specs-key{color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border-subtle);width:40%;padding:6px 10px;font-weight:600}.gengage-chat-product-specs-value{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:6px 10px}.gengage-chat-product-card-atc{opacity:0;z-index:1;transition:opacity .15s;position:absolute;bottom:42px;right:6px}.gengage-chat-product-card:hover .gengage-chat-product-card-atc{opacity:1}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-atc{opacity:1;width:100%;margin:0;display:flex;position:relative;bottom:auto;right:auto}}.gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translateY(100%)}@media (width<=900px){.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(280px, calc(100vw - var(--_gengage-chat-conversation-width)), 560px);max-width:560px}}.gengage-chat-attachment-preview{background:var(--surface-card-muted);border:1px solid var(--border-default);box-sizing:border-box;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.gengage-chat-attachment-preview--hidden{display:none}.gengage-chat-attachment-preview-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:40px;height:40px}.gengage-chat-attachment-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.gengage-chat-attachment-remove{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.gengage-chat-attachment-remove:hover{color:var(--error)}.gengage-chat-attach-btn{background:var(--surface-card-soft);border:1px solid var(--border-default);cursor:pointer;width:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);border-radius:var(--gengage-chat-input-control-radius,12px);color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s,border-color .15s;display:flex}.gengage-chat-attach-btn:hover{color:var(--client-primary);background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-attach-btn svg{width:20px;height:20px}.gengage-chat-attach-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.gengage-chat-attach-menu{z-index:50;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-card);min-width:196px;box-shadow:var(--shadow-3);margin:0;padding:4px 0;list-style:none;position:absolute;bottom:calc(100% + 8px);left:0}.gengage-chat-attach-menu[hidden]{display:none!important}.gengage-chat-attach-menu-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s;display:flex}.gengage-chat-attach-menu-item:hover{background:var(--surface-card-muted)}.gengage-chat-attach-menu-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-attach-menu-label{flex:1;min-width:0}.gengage-chat-attach-menu-sep{background:var(--border-default);height:1px;margin:4px 10px}.gengage-chat-mic-btn{cursor:pointer;border-radius:var(--radius-control);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s;display:flex}.gengage-chat-mic-btn:hover{color:var(--text-primary);background:var(--surface-card-muted);border-color:var(--border-default)}.gengage-chat-mic-btn svg{width:20px;height:20px}.gengage-chat-mic-btn--active{color:var(--error);animation:1.2s ease-in-out infinite gengage-mic-pulse}.gengage-chat-mic-btn--active:hover{color:color-mix(in srgb, var(--error) 84%, black)}@keyframes gengage-mic-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.gengage-chat-input-area--dragover{outline:2px dashed var(--client-primary);outline-offset:-2px;background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-attachment-thumb{border-radius:8px;width:120px;max-width:100%;height:auto;margin-bottom:6px;display:block}.gengage-chat-root--mobile .gengage-chat-header-btn,.gengage-chat-root--mobile .gengage-chat-close{border-radius:12px;width:44px;height:44px}@media (width<=374px){.gengage-chat-root--mobile .gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:var(--gengage-chat-input-control-size,44px);height:var(--gengage-chat-input-control-size,44px);min-width:var(--gengage-chat-input-control-size,44px);border-radius:var(--gengage-chat-input-control-radius,14px)}.gengage-chat-root--mobile .gengage-chat-attach-btn svg,.gengage-chat-root--mobile .gengage-chat-mic-btn svg{width:22px;height:22px}.gengage-chat-root--mobile .gengage-chat-panel-divider{cursor:ns-resize;touch-action:pan-y;background:0 0;justify-content:center;align-items:center;width:100%;height:20px;display:flex;position:relative;overflow:visible}.gengage-chat-root--mobile .gengage-chat-panel-divider--hidden{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel{border-radius:0;width:100%;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-panel{z-index:10;width:100%;min-width:0;max-width:none;max-height:none;box-shadow:none;background:var(--gengage-chat-panel-bg,var(--surface-card));pointer-events:none;border:none;border-radius:0;flex-direction:column;padding:0 12px 16px;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0;overflow-y:auto;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-panel--visible{pointer-events:auto;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-panel-divider,.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-panel-divider{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-body{flex-direction:row}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-conversation{border-left:none;flex:1;width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-cta{box-sizing:border-box;width:100%;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-panel{gap:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:0;padding:8px}.gengage-chat-root--mobile .gengage-chat-product-details-content{gap:6px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:14px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-product-details-rating{padding:2px 6px;font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-original-price{font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{gap:6px;margin-top:2px}.gengage-chat-root--mobile .gengage-chat-product-details-cta{min-height:38px;padding:0 14px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-product-grid:not(.gengage-chat-product-grid--mobile){scroll-snap-type:x mandatory}.gengage-chat-root--mobile .gengage-chat-product-grid.gengage-chat-product-grid--mobile{scroll-snap-type:none}.gengage-chat-root--mobile .gengage-chat-product-card{box-sizing:border-box;scroll-snap-align:center;width:280px;min-width:280px;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-grid--mobile .gengage-chat-product-card{scroll-snap-align:start;width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-product-card-img-wrapper{justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:180px;display:block}.gengage-chat-root--mobile .gengage-chat-product-card-discount-badge{padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-drawer{border-radius:0;width:100%;max-height:100%;position:fixed;inset:0}.gengage-chat-root--mobile .gengage-chat-bubble{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:min(200px,72%)}.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{flex-shrink:0;width:28px;min-width:28px;height:28px;min-height:28px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-discount-badge{min-width:28px;height:28px;padding:0 6px;font-size:10px;font-weight:700}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer{padding:0 12px 14px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;white-space:normal;text-align:center;-webkit-hyphens:auto;hyphens:auto;min-width:0;max-width:100%;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{box-sizing:border-box;white-space:normal;width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);margin-left:12px;margin-right:12px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-rating-compact{gap:3px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-stock{padding:2px 5px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-messages{scrollbar-width:none;padding:12px 16px}.gengage-chat-root--mobile .gengage-chat-messages::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-drawer{border-top:none}.gengage-chat-root--mobile .gengage-chat-header{border-radius:16px 16px 0 0;min-height:72px;padding-top:22px;padding-bottom:8px}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-header{border-radius:0}.gengage-chat-root--mobile .gengage-chat-conversation{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-product-details-img{object-fit:contain;min-height:0;max-height:200px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{flex-wrap:wrap;gap:8px}.gengage-chat-root--mobile .gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px}.gengage-chat-root--mobile .gengage-chat-input::placeholder{font-size:13px;line-height:inherit}.gengage-chat-kvkk-banner{color:var(--text-secondary);background:0 0;border:none;padding:14px 32px 10px;font-size:13px;line-height:1.55}.gengage-chat-kvkk-content{min-width:0}.gengage-chat-kvkk-content p{margin:0}.gengage-chat-kvkk-content a{color:inherit;margin-top:8px;text-decoration:underline;display:inline-block}.gengage-chat-comparison{box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-comparison-heading{letter-spacing:.05em;color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:700}.gengage-chat-comparison-recommended{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);padding:16px}.gengage-chat-comparison-recommended-label{color:var(--client-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.gengage-chat-comparison-recommended-body{grid-template-columns:minmax(108px,148px) minmax(0,1fr);align-items:flex-start;gap:16px;display:grid}.gengage-chat-comparison-recommended-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;justify-content:center;align-items:center;display:flex;overflow:hidden}.gengage-chat-comparison-recommended-body img,.gengage-chat-comparison-recommended-placeholder{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:8px}.gengage-chat-comparison-recommended-placeholder{background:var(--surface-card-muted)}.gengage-chat-comparison-recommended-info{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.gengage-chat-comparison-recommended-title{color:var(--text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.2}.gengage-chat-comparison-recommended-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gengage-chat-comparison-recommended-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:color-mix(in srgb, var(--warning) 78%, var(--text-primary));border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-comparison-recommended-rating-value{color:var(--text-primary)}.gengage-chat-comparison-recommended-price{color:var(--text-primary);font-size:20px;font-weight:700}.gengage-chat-comparison-highlights{border-top:1px solid var(--border-subtle);padding-top:12px}.gengage-chat-comparison-highlights-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-comparison-highlights ul{color:var(--text-primary);margin:0;padding-left:18px;font-size:14px;line-height:1.55}.gengage-chat-comparison-special{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));border-radius:var(--radius-card);color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin-bottom:12px;padding:12px 16px;font-size:13px}.gengage-chat-comparison-special summary{cursor:pointer;font-weight:600}.gengage-chat-comparison-special ul{margin:8px 0 0;padding-left:18px;line-height:1.6}.gengage-chat-comparison-table{border-collapse:collapse;background:var(--surface-card);width:100%;font-size:13px}.gengage-chat-comparison-table th,.gengage-chat-comparison-table td{text-align:center;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:10px 12px}.gengage-chat-comparison-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.gengage-chat-comparison-table td ul,.gengage-chat-comparison-table td ol{text-align:left;margin:0;padding-left:18px}.gengage-chat-comparison-table td li+li{margin-top:4px}.gengage-chat-comparison-table thead th:not(:first-child){vertical-align:top}.gengage-chat-comparison-table-header-cell{box-sizing:border-box;grid-template-rows:auto 1fr auto;place-items:start center;gap:6px;height:100%;min-height:0;display:grid}.gengage-chat-comparison-table-header-cell--clickable{cursor:pointer;border-radius:var(--radius-control);padding:6px;transition:background .16s,box-shadow .16s,transform .16s}.gengage-chat-comparison-table-header-cell--clickable:hover{background:var(--surface-card-soft);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-comparison-table-header-cell--clickable:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-comparison-table-header-cell img{object-fit:contain;border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-header-img-placeholder{border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-product-name{width:100%;min-width:0;color:var(--text-secondary);text-align:center;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;align-self:start;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-comparison-table-price{color:var(--text-primary);text-align:center;width:100%;font-weight:700}.gengage-chat-comparison-label{text-align:left;color:var(--text-secondary);white-space:nowrap;font-weight:600}.gengage-chat-comparison-selected{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-comparison-recommended-text{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.gengage-chat-comparison-key-differences{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-muted)}.gengage-chat-comparison-key-differences-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.gengage-chat-comparison-key-differences-summary::-webkit-details-marker{display:none}.gengage-chat-comparison-key-differences-summary-label{color:var(--text-primary)}.gengage-chat-comparison-key-differences-summary-meta{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-comparison-key-differences[open] .gengage-chat-comparison-key-differences-summary-meta{opacity:0}.gengage-chat-comparison-key-differences-content{color:var(--text-primary);padding:0 16px 16px;font-size:14px;line-height:1.7}.gengage-chat-comparison-key-differences-content ul,.gengage-chat-comparison-key-differences-content ol{margin:0;padding-left:20px}.gengage-chat-comparison-key-differences-content li+li{margin-top:8px}@media (width<=960px){.gengage-chat-comparison-recommended-body{grid-template-columns:1fr}.gengage-chat-comparison-recommended-title{font-size:20px}}.gengage-chat-pills{border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:8px 12px 6px;position:relative}.gengage-chat-pills-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding-right:28px;display:flex;overflow-x:auto}.gengage-chat-pills-scroll::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-pills-scroll{flex-wrap:wrap;gap:6px}.gengage-chat-root--mobile .gengage-chat-pill{white-space:normal;max-width:100%}.gengage-chat-pill{border:1px solid var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.gengage-chat-pill:hover{background:color-mix(in srgb, var(--client-primary) 12%, white);border-color:color-mix(in srgb, var(--client-primary) 36%, white)}.gengage-chat-pill:active{transform:none}.gengage-chat-pill--rich{border-radius:18px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.gengage-chat-pill-img{object-fit:cover;background:var(--surface-card);border-radius:12px;flex-shrink:0;width:32px;height:32px}.gengage-chat-pill-text{font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-pill-desc{display:none}.gengage-chat-pill--rich .gengage-chat-pill-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;font-weight:500;display:block;overflow:hidden}.gengage-chat-pills-arrow{border:1px solid var(--border-default);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-1);z-index:1;border-radius:12px;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.gengage-chat-pills-arrow:hover{background:var(--surface-card-soft);color:var(--client-primary)}@media (prefers-reduced-motion:reduce){.gengage-chat-uispec>*,.gengage-chat-action-btn,.gengage-chat-product-card,.gengage-chat-product-card-cta,.gengage-chat-send,.gengage-chat-launcher-container,.gengage-chat-launcher,.gengage-chat-pill,.gengage-chat-drawer,.gengage-chat-typing-dots span,.gengage-chat-thinking-step-marker--active,.gengage-chat-bubble,.gengage-chat-panel-skeleton-block,.gengage-chat-ai-toppick-card,.gengage-chat-mic-btn--active,.gengage-chat-ai-toppick-spinner:after,.gengage-chat-cart-toast,.gengage-chat-header-btn--cart-flash{transition:none!important;animation:none!important;transform:none!important}}.gengage-chat-bubble--user{position:relative}.gengage-chat-rollback-btn{border-radius:var(--radius-pill);background:var(--surface-card-muted);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.gengage-chat-bubble--user:hover .gengage-chat-rollback-btn{opacity:1}.gengage-chat-rollback-btn:hover{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-bubble--hidden{display:none}.gengage-chat-ai-top-picks{flex-direction:column;gap:12px;padding:8px 0;scroll-margin-top:60px;display:flex}.gengage-chat-ai-top-picks-title{color:var(--text-primary);margin:0 0 4px;font-size:15px;font-weight:600}.gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:10px;min-width:0;display:flex}.gengage-chat-ai-top-picks-rest,.gengage-chat-ai-toppick-top-row{display:contents}.gengage-chat-ai-toppick-detail{width:100%;min-width:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks{gap:0;padding-top:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-title{flex-shrink:0;width:100%;margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,auto);align-items:stretch;gap:12px;margin:0;padding:12px 0;display:grid;overflow:visible}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex:initial;scroll-snap-align:none;width:100%;min-width:0;max-width:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child{grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:12px 18px;display:grid}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail){grid-template-rows:auto auto auto}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex-direction:column;align-items:stretch}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{max-height:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-media{aspect-ratio:4/3;grid-area:1/1/span 2;max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-media{grid-row:1/span 3}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-detail{grid-area:2/2;min-width:0;padding-top:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{object-fit:contain;width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-height:0;padding:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-body{grid-area:1/2;padding-top:6px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-cta{grid-row:3}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:calc(100% - 24px);color:var(--ds-button-secondary-fg);align-self:stretch;margin:14px 12px 12px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:auto;min-width:180px;color:var(--ds-button-secondary-fg);grid-area:2/2;place-self:end start;margin:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-secondary-bg-hover);filter:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.gengage-chat-ai-toppick-rating-icon{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-ai-toppick-rating-value{color:var(--text-primary)}.gengage-chat-ai-toppick-media .gengage-chat-ai-toppick-discount-badge{background:var(--client-primary);color:var(--client-on-primary);z-index:1;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.2;position:absolute;top:4px;left:4px;right:auto}.gengage-chat-ai-toppick-card--winner,.gengage-chat-ai-toppick-card--compact{--_badge-inset-top:12px;--_badge-height:30px;box-sizing:border-box;padding:calc(var(--_badge-inset-top) + var(--_badge-height) + 6px) 12px 12px;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;transition:box-shadow .2s,background .15s,transform .15s;display:flex;position:relative;overflow:visible}.gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-card--winner:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default)}.gengage-chat-ai-toppick-card--compact:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-ai-toppick-badge{top:var(--_badge-inset-top,12px);z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.04em;pointer-events:none;white-space:normal;border-radius:999px;align-items:center;max-width:calc(100% - 28px);margin:0;padding:8px 14px;font-size:11px;font-weight:800;line-height:1.25;display:inline-flex;position:absolute;left:14px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary);box-shadow:0 10px 18px color-mix(in srgb, var(--client-primary) 20%, transparent)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card);color:color-mix(in srgb, var(--client-primary) 72%, var(--text-primary));border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin-top:4px;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.gengage-chat-ai-toppick-img{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:4px}.gengage-chat-ai-toppick-body{flex-direction:column;flex:1;gap:0;min-width:0;padding:0;display:flex}.gengage-chat-ai-toppick-name{color:var(--text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.375;display:-webkit-box;overflow:hidden}.gengage-chat-ai-toppick-role{color:var(--client-primary);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.gengage-chat-ai-toppick-labels{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.gengage-chat-ai-toppick-label{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.gengage-chat-ai-toppick-label[data-sentiment=positive]{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=negative]{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=neutral]{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-reason{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.5}.gengage-chat-ai-toppick-review{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-primary);border-radius:14px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-snippet{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-price{color:var(--text-primary);margin-top:4px;font-size:14px;font-weight:700}.gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-ai-toppick-original-price{color:var(--text-secondary);font-size:12px;font-weight:400;text-decoration:line-through}.gengage-chat-ai-toppick-price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:4px;display:flex}.gengage-chat-ai-toppick-price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-campaign-price-badge{box-sizing:border-box;border-radius:var(--radius-control,10px);background-image:linear-gradient(var(--gengage-campaign-price-badge-fill,#fff) 0 0), linear-gradient(135deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;flex-direction:row;align-items:center;gap:8px;max-width:100%;padding:7px 9px;display:inline-flex}.gengage-chat-campaign-price-badge__logo{flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-campaign-price-badge__logo img{object-fit:contain;width:auto;max-width:64px;height:auto;max-height:26px;display:block}.gengage-chat-campaign-price-badge__body{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;min-width:0;display:flex}.gengage-chat-campaign-price-badge__reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-campaign-price-badge__sale{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800;line-height:1.15}.gengage-chat-product-card-price-row .gengage-chat-campaign-price-badge__sale{font-size:13px}.gengage-chat-product-summary__price .gengage-chat-campaign-price-badge__sale{font-size:12px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge{border-radius:var(--radius-control,12px);padding:9px 11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__reason{font-size:11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__sale{font-size:18px}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge)){align-items:last baseline}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-ai-toppick-price-sep,.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-card-price-sep,.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-summary__price-sep,.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-details-price-sep){align-self:last baseline}.gengage-chat-ai-toppick-price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-ai-toppick-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.85em;margin:0 1px;display:inline-block}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-original-price{font-size:14px;font-weight:500;text-decoration:none}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800}.gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control,12px);background:var(--ds-button-primary-bg);width:calc(100% - 24px);color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;box-sizing:border-box;opacity:0;pointer-events:none;flex-shrink:0;align-self:stretch;margin:14px 12px 12px;padding:8px 0;font-size:13px;font-weight:700;transition:opacity .18s,transform .18s,background .15s;display:block;transform:translateY(6px)}.gengage-chat-ai-toppick-card--winner:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--winner:focus-within .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:focus-within .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;transform:translateY(0)}.gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-ai-toppick-spinner{background:color-mix(in srgb, var(--surface-card) 78%, transparent);z-index:6;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gengage-chat-ai-toppick-spinner:after{content:"";border:3px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite gengage-spin}@keyframes gengage-spin{to{transform:rotate(360deg)}}.gengage-chat-root--mobile .gengage-chat-ai-top-picks{gap:8px;padding:4px 0}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-title{margin:0 0 2px;font-size:14px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:8px;min-width:0;padding:6px 0 2px;display:flex;overflow:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child{flex-direction:column;align-items:stretch;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child.gengage-chat-ai-toppick-card--winner{flex-direction:column}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex-flow:row;gap:8px;min-width:0;margin:0 -2px;padding:2px 2px 8px;display:flex;overflow:auto visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest--uniform-mobile{scroll-snap-type:none;flex-direction:column;margin:0;padding:0;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest::-webkit-scrollbar{width:0;height:0;display:none}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest .gengage-chat-ai-toppick-card--compact{scroll-snap-align:start;flex:0 0 min(82vw,272px);width:min(82vw,272px);min-width:0;max-width:272px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest--uniform-mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex:none;width:100%;max-width:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:6px 8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 28%, var(--border-default));margin-bottom:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default);box-shadow:none;flex-direction:column;align-items:stretch}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform{margin-top:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-top-row,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:10px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:10px;flex:0 0 clamp(96px,30vw,124px);width:clamp(96px,30vw,124px);height:clamp(96px,30vw,124px);max-height:none;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-body{flex:1;min-width:0;padding-top:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-detail{width:100%;margin-top:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-reason{color:var(--text-primary);margin:0;font-size:12px;line-height:1.45;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-review{color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;margin-top:8px;padding:8px 10px;font-size:12px;font-style:italic;line-height:1.4;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:8px;flex:0 0 64px;width:64px;height:64px;max-height:64px;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;max-height:100%;padding:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-width:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-rating{display:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-detail{width:100%;margin-top:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-role-line{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:9px;font-weight:600;line-height:1.15}.gengage-chat-root--mobile .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:3px;right:5px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:5px;right:6px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-badge{letter-spacing:.04em;background:var(--client-primary);max-width:calc(100% - 18px);color:var(--client-on-primary);box-shadow:none;border:none;padding:2px 6px;font-size:8px;font-weight:700;line-height:1.15;top:-14px;left:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-name{margin-bottom:1px;font-size:12px;line-height:1.22}.gengage-chat-root--mobile .gengage-chat-ai-toppick-name{margin-bottom:2px;font-size:13px;line-height:1.28}.gengage-chat-root--mobile .gengage-chat-ai-toppick-rating{gap:3px;margin-top:2px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-price{margin-top:1px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-price{margin-top:2px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-original-price{font-size:11px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-labels,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{display:none!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;border:1px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 16px);color:var(--client-primary);box-shadow:none;filter:none;align-self:stretch;margin:8px 8px 6px;padding:6px 0;font-size:12px;font-weight:600;transform:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta{display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta:hover{background:color-mix(in srgb, var(--client-primary) 10%, var(--surface-card));color:var(--client-primary);border-color:var(--client-primary);filter:none}.gengage-chat-root--mobile .gengage-chat-rollback-btn{left:-24px}.gengage-chat-grounding-review{align-items:center;gap:12px;padding:12px 16px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-grounding-review:hover{background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}.gengage-chat-grounding-review-icon{background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));width:32px;height:32px;color:var(--client-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gengage-chat-grounding-review-icon svg{width:18px;height:18px;display:block}.gengage-chat-grounding-review-body{flex:1;min-width:0}.gengage-chat-grounding-review-title{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grounding-review-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.gengage-chat-grounding-review-cta{color:var(--client-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.gengage-chat-grounding-review-cta-icon{align-items:center;display:inline-flex}.gengage-chat-grounding-review-cta-icon svg{width:14px;height:14px;display:block}.gengage-chat-grouping-cards{flex-direction:column;gap:6px;display:flex}.gengage-chat-grouping-cards-scroll{flex-direction:column;gap:6px;min-width:0;display:flex}.gengage-chat-grouping-card{background:var(--surface-card-soft);border:1px solid var(--border-default);border-radius:var(--radius-control);align-items:center;gap:10px;padding:8px 12px;transition:background .15s,border-color .15s;display:flex}.gengage-chat-grouping-card:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-grouping-card-arrow{color:var(--client-primary);flex-shrink:0;font-size:14px;display:none}.gengage-chat-grouping-card-img{border-radius:calc(var(--radius-control) - 4px);object-fit:cover;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px}.gengage-chat-grouping-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.gengage-chat-grouping-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:12px}.gengage-chat-grouping-card-labels{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-grouping-card-label{color:var(--text-secondary);background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-grouping-card-img{display:none}.gengage-chat-root--mobile .gengage-chat-grouping-card-arrow{display:inline}.gengage-chat-suggested-search-cards{flex-direction:column;gap:8px;display:flex}.gengage-chat-suggested-search-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-1);align-items:center;gap:14px;padding:14px 16px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-suggested-search-card:hover{background:var(--surface-card);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-suggested-search-card-img{object-fit:contain;background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:14px;flex-shrink:0;width:64px;height:64px;padding:4px}.gengage-chat-suggested-search-card-body{flex:1;min-width:0}.gengage-chat-suggested-search-card-name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-details-gallery{position:relative}.gengage-chat-product-details-gallery .gengage-chat-product-details-img{touch-action:pan-y}.gengage-chat-product-gallery-nav{z-index:3;border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;background:color-mix(in srgb, var(--surface-card) 92%, transparent);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0;transition:background .15s,opacity .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gengage-chat-product-gallery-nav:hover:not(:disabled){background:var(--surface-card);color:var(--client-primary)}.gengage-chat-product-gallery-nav:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-gallery-nav:disabled{opacity:.35;cursor:not-allowed}.gengage-chat-product-gallery-nav--prev{left:8px}.gengage-chat-product-gallery-nav--next{right:8px}.gengage-chat-product-gallery-thumbs{scrollbar-width:thin;justify-content:center;gap:8px;width:100%;padding:10px 0 4px;display:flex;overflow-x:auto}.gengage-chat-product-gallery-thumb{object-fit:cover;cursor:pointer;background:var(--surface-card);border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;transition:border-color .15s}.gengage-chat-product-gallery-thumb:hover{border-color:var(--border-strong)}.gengage-chat-product-gallery-thumb--active{border-color:var(--client-primary)}.gengage-chat-product-gallery-thumb-more{background:var(--surface-card-muted);width:56px;height:56px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.gengage-chat-product-variants-label{color:var(--text-muted);text-transform:none;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-product-variants-list{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-product-variant-btn{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:6px 12px;font-size:12px;transition:background .15s,border-color .15s}.gengage-chat-product-variant-btn:hover{background:var(--surface-card-muted);border-color:color-mix(in srgb, var(--client-primary) 20%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-details-panel{border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);gap:16px;padding:16px}.gengage-chat-product-details-media{border-color:var(--border-default);border-radius:var(--radius-card);background:var(--surface-card-soft);justify-content:center;min-height:320px}.gengage-chat-product-details-img{max-height:420px}.gengage-chat-product-details-content{gap:12px}.gengage-chat-product-details-brand{color:var(--client-primary);font-size:12px;font-weight:800;line-height:1.2}.gengage-chat-product-details-title{font-size:22px;line-height:1.2}.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));background:color-mix(in srgb, var(--warning) 10%, var(--surface-card));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));gap:6px;padding:6px 10px;font-family:inherit}button.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));cursor:pointer}.gengage-chat-product-details-rating--clickable:hover{border-color:color-mix(in srgb, var(--warning) 42%, var(--border-default));background:color-mix(in srgb, var(--warning) 14%, var(--surface-card))}.gengage-chat-product-details-rating .gengage-star-rating{line-height:1}.gengage-chat-product-details-rating-value{color:var(--text-primary)}.gengage-chat-product-details-price{flex-wrap:wrap;gap:10px}.gengage-chat-product-details-original-price{order:2}.gengage-chat-product-details-current-price{order:1;font-size:30px}.gengage-chat-product-details-discount-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--error) 12%, white);min-height:24px;color:color-mix(in srgb, var(--error) 84%, var(--text-primary));order:3;align-items:center;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{order:0;font-size:30px}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{font-weight:500}.gengage-chat-product-details-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.gengage-chat-product-details-fact{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-card-soft);min-width:0;padding:8px 10px}.gengage-chat-product-details-fact dt,.gengage-chat-product-details-fact dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.gengage-chat-product-details-fact dt{color:var(--text-muted);font-size:11px;font-weight:700}.gengage-chat-product-details-fact dd{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:700}.gengage-chat-product-variants{margin-top:4px}.gengage-chat-product-variants-label{color:var(--text-primary);letter-spacing:normal;margin-bottom:8px;font-size:14px;font-weight:800}.gengage-chat-product-variants-list{gap:8px}.gengage-chat-product-variant-btn{border-radius:var(--radius-control);min-height:44px;color:var(--text-primary);gap:8px;padding:7px 10px;font-size:13px;font-weight:700}.gengage-chat-product-variant-btn--active{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--client-primary) 36%, transparent);color:var(--client-primary)}.gengage-chat-product-variant-btn--out{opacity:.48;cursor:not-allowed}.gengage-chat-product-variant-swatch{border:1px solid var(--border-default);background:var(--surface-card-muted);width:22px;height:22px;box-shadow:inset 0 0 0 2px var(--surface-card);border-radius:50%;flex:0 0 22px}.gengage-chat-product-variant-swatch--image{object-fit:cover;box-shadow:none}.gengage-chat-product-variant-label,.gengage-chat-product-variant-price{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gengage-chat-product-variant-price{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-product-details-actions{gap:10px;margin-top:6px}.gengage-chat-product-details-atc,.gengage-chat-product-details-cta{border-radius:var(--radius-control);min-height:44px}.gengage-chat-product-details-atc{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg)}.gengage-chat-product-details-atc:hover{background:var(--ds-button-primary-bg-hover);filter:none}.gengage-chat-product-details-cta.gds-btn-secondary{border-color:var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg)}.gengage-chat-product-details-cta.gds-btn-secondary:hover{background:var(--ds-button-secondary-bg-hover)}@media (width>=960px){.gengage-chat-product-details-panel{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;display:grid}.gengage-chat-product-details-media{position:sticky;top:0}.gengage-chat-product-detail-tabs{grid-column:1/-1}}.gengage-chat-root--mobile .gengage-chat-product-details-panel{box-shadow:none;gap:10px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:220px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price{font-size:24px}.gengage-chat-root--mobile .gengage-chat-product-details-facts{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-product-details-actions{grid-template-columns:1fr 1fr 44px;align-items:stretch;display:grid}.gengage-chat-root--mobile .gengage-chat-product-details-actions>.gengage-chat-product-details-share{width:44px;min-width:44px}.gengage-chat-root--mobile .gengage-chat-product-details-atc,.gengage-chat-root--mobile .gengage-chat-product-details-cta{width:100%;padding-inline:10px}.gengage-chat-product-grid-wrapper{flex-direction:column;gap:6px;display:flex}.gengage-chat-product-grid-wrapper--grouped{gap:12px}.gengage-chat-product-grid-sections{flex-direction:column;gap:20px;display:flex}.gengage-chat-product-grid-section{border-top:1px solid color-mix(in srgb, var(--border-default) 70%, transparent);flex-direction:column;gap:10px;padding:14px 0 18px;display:flex}.gengage-chat-product-grid-section:first-child{border-top:0;padding-top:4px}.gengage-chat-product-grid-section:last-child{padding-bottom:4px}.gengage-chat-product-grid-section-head{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:0 2px;display:flex}.gengage-chat-product-grid-section-title{letter-spacing:0;min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:15px;font-weight:700;line-height:1.25}.gengage-chat-product-grid-section-count{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card-soft);min-height:22px;color:var(--text-secondary);letter-spacing:0;white-space:nowrap;flex:none;justify-content:center;align-items:center;padding:1px 8px;font-family:inherit;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.gengage-chat-panel .gengage-chat-product-grid--section{padding-top:0;padding-bottom:2px}.gengage-chat-root--mobile .gengage-chat-product-grid-sections{gap:16px}.gengage-chat-root--mobile .gengage-chat-product-grid-section{gap:8px;padding:12px 0 14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-title{font-size:14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-count{min-height:20px;padding-inline:8px;font-size:10.5px}.gengage-chat-consulting-style-picker{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));background:linear-gradient(160deg, color-mix(in srgb, var(--surface-card) 80%, white), color-mix(in srgb, var(--surface-card-soft) 84%, white));border-radius:20px;padding:12px}.gengage-chat-consulting-style-picker-title{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:800}.gengage-chat-consulting-style-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-consulting-style-btn{border:1px solid var(--border-default);background:var(--surface-card);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:0;padding:6px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-consulting-style-btn:hover{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));transform:translateY(-1px)}.gengage-chat-consulting-style-btn--active{border-color:color-mix(in srgb, var(--client-primary) 40%, var(--border-default));box-shadow:0 0 0 2px color-mix(in srgb, var(--client-primary) 16%, transparent), var(--shadow-1)}.gengage-chat-consulting-style-btn--loading{border-style:dashed}.gengage-chat-consulting-style-btn--muted{opacity:.78}.gengage-chat-consulting-style-media{border-radius:12px;position:relative;overflow:hidden}.gengage-chat-consulting-style-image{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border-subtle);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%}.gengage-chat-consulting-style-caption{color:#fff;background:#0000008c;border-radius:12px;padding:8px 10px;font-size:15px;font-weight:800;line-height:1.2;position:absolute;bottom:10px;left:10px;right:10px}.gengage-chat-consulting-style-status{color:var(--text-primary);background:color-mix(in srgb, white 88%, var(--client-primary) 12%);border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;position:absolute;top:10px;right:10px}.gengage-chat-consulting-loading-panel{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:linear-gradient(180deg, var(--surface-card-soft), var(--surface-card));border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-consulting-loading-panel-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:800}.gengage-chat-consulting-loading-panel-copy{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.gengage-chat-consulting-loading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.gengage-chat-consulting-loading-card{border:1px solid var(--border-default);background:linear-gradient(90deg, color-mix(in srgb, var(--surface-card-soft) 94%, white) 20%, color-mix(in srgb, white 86%, var(--surface-card-soft) 14%) 50%, color-mix(in srgb, var(--surface-card-soft) 94%, white) 80%);background-size:220% 100%;border-radius:18px;min-height:240px;animation:1.2s linear infinite gengage-chat-consulting-loading-shimmer}@keyframes gengage-chat-consulting-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.gengage-chat-consulting-group{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:linear-gradient(180deg, var(--surface-card-soft), var(--surface-card));border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex}.gengage-chat-consulting-group-header{flex-direction:column;gap:4px;min-height:112px;display:flex}.gengage-chat-consulting-group-label{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:0;font-size:16px;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-reason{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-grid{grid-template-columns:repeat(var(--consulting-group-columns,4), minmax(0, 1fr));justify-content:stretch;align-items:stretch;gap:14px;margin-bottom:2px;display:grid}.gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none;height:100%}.gengage-chat-beauty-photo-step{padding:0 12px}.gengage-chat-beauty-photo-step-card{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card) 85%, white), var(--surface-card-soft));box-shadow:var(--shadow-1);border-radius:18px;gap:10px;padding:12px;display:flex}.gengage-chat-beauty-photo-step-icon{background:color-mix(in srgb, var(--client-primary) 16%, white);width:34px;height:34px;color:var(--client-primary);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:inline-flex}.gengage-chat-beauty-photo-step-content{flex:auto;min-width:0}.gengage-chat-beauty-photo-step-title{color:var(--text-primary);font-size:15px;font-weight:800}.gengage-chat-beauty-photo-step-desc{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.45}.gengage-chat-beauty-photo-step-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.gengage-chat-beauty-photo-step-upload{border-radius:999px;min-height:34px;padding-inline:14px;font-size:12px;font-weight:800}.gengage-chat-beauty-photo-step-skip{border-radius:999px;min-height:34px;padding-inline:12px;font-size:12px;font-weight:700}.gengage-chat-panel .gengage-chat-consulting-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gengage-chat-panel .gengage-chat-consulting-style-image{min-height:250px}.gengage-chat-panel .gengage-chat-consulting-style-caption{padding:10px 12px;font-size:16px}.gengage-chat-panel .gengage-chat-consulting-group{border-radius:18px;min-width:0;padding:14px}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:100%;margin-inline:0}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-img-wrapper{flex-shrink:1;align-self:stretch;min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-body{min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-name,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price-block{overflow-wrap:anywhere;word-break:break-word}.gengage-chat-root--mobile .gengage-chat-consulting-style-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-style-image{min-height:220px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid.gengage-chat-consulting-group-grid--single-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-consulting-loading-grid{grid-template-columns:1fr}.gengage-chat-product-grid-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:2px;display:flex}.gengage-chat-product-grid-head-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:18px;font-weight:700;line-height:1.2;overflow:hidden}.gengage-chat-product-grid-head-actions{flex-shrink:0;align-items:center;gap:6px;max-width:52%;display:flex}.gengage-chat-product-sort-toolbar{box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:0;display:flex}.gengage-chat-product-sort-toolbar--inline{flex-wrap:nowrap;justify-content:flex-end}.gengage-chat-product-sort-dropdown{z-index:5;flex:0 auto;width:auto;min-width:0;max-width:200px;position:relative}.gengage-chat-product-sort-toolbar:not(.gengage-chat-product-sort-toolbar--inline) .gengage-chat-product-sort-dropdown{flex:auto;max-width:min(200px,100%)}.gengage-chat-product-sort-dropdown--open{z-index:25}.gengage-chat-product-sort-trigger{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:100%;min-height:32px;color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.2;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.gengage-chat-product-sort-trigger:hover{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:var(--surface-card-soft)}.gengage-chat-product-sort-trigger:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger{border-color:color-mix(in srgb, var(--client-primary) 32%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-product-sort-trigger-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-product-sort-dropdown[data-sort-icon=related] .gengage-chat-product-sort-trigger-icon{color:var(--client-primary)}.gengage-chat-product-sort-trigger-icon svg{display:block}.gengage-chat-product-sort-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-product-sort-trigger-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s;display:flex}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger-chevron{transform:rotate(180deg)}.gengage-chat-product-sort-menu{width:max-content;min-width:100%;max-width:min(260px,100vw - 48px);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:auto}.gengage-chat-product-sort-option{border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background .12s;display:flex}.gengage-chat-product-sort-option:hover{background:var(--surface-card-muted)}.gengage-chat-product-sort-option--active{color:var(--client-primary);background:var(--client-primary-subtle);font-weight:600}.gengage-chat-product-sort-option-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-product-sort-option--active .gengage-chat-product-sort-option-icon,.gengage-chat-product-sort-option--active[data-sort-key=related] .gengage-chat-product-sort-option-icon{color:var(--client-primary)}.gengage-chat-product-sort-option-icon svg{display:block}.gengage-chat-product-sort-option-label{flex:auto;min-width:0}.gengage-chat-product-sort-option-check{width:22px;color:var(--client-primary);flex-shrink:0;justify-content:flex-end;display:flex}.gengage-chat-product-sort-option-check--hidden{visibility:hidden}.gengage-chat-product-sort-separator{background:var(--border-default);width:1px;margin:2px}.gengage-chat-comparison-toggle-btn{border:1px solid var(--border-default);border-radius:var(--radius-control,12px);background:var(--surface-card);min-height:32px;color:var(--text-primary);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gengage-chat-comparison-toggle-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-comparison-toggle-icon svg{display:block}.gengage-chat-comparison-toggle-btn:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, white);color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active{border-color:color-mix(in srgb, var(--client-primary) 26%, white);color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-comparison-toggle-btn--active .gengage-chat-comparison-toggle-icon{color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active:hover{background:var(--client-primary-hover);color:var(--client-on-primary);border-color:var(--client-primary-hover)}.gengage-chat-comparison-toggle-btn--active:hover .gengage-chat-comparison-toggle-icon{color:var(--client-on-primary)}.gengage-chat-comparison-select-wrapper{cursor:pointer;border-radius:var(--radius-control);transition:box-shadow .2s,transform .2s;position:relative}.gengage-chat-comparison-select-wrapper:hover{box-shadow:0 0 0 2px var(--client-focus-ring)}.gengage-chat-comparison-select-wrapper--selected,.gengage-chat-comparison-select-wrapper--selected:hover{box-shadow:none}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-select-wrapper{transition:none}}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card{pointer-events:none;transition:opacity .2s,transform .2s,filter .2s}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-img-actions,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-discount-badge,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-buy-footer,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-cta{opacity:0}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:.82}.gengage-chat-comparison-select-wrapper:hover>.gengage-chat-product-card,.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{opacity:1;transform:translateY(-1px)}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{box-shadow:0 0 0 2px color-mix(in srgb, var(--client-primary) 26%, white), var(--shadow-1);filter:saturate(1.02);border-color:#0000;outline:none}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:1}.gengage-chat-comparison-card-hint{display:none}.gengage-chat-comparison-checkbox{z-index:4;cursor:pointer;pointer-events:auto;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 94%, white);min-height:40px;color:var(--text-primary);box-shadow:var(--shadow-2);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:absolute;bottom:16px;left:16px;right:16px}.gengage-chat-comparison-checkbox[data-selected=true]{background:color-mix(in srgb, var(--client-primary) 10%, white);border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));color:var(--client-primary)}.gengage-chat-comparison-checkbox-icon{background:var(--surface-card-soft);color:currentColor;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.gengage-chat-comparison-checkbox[data-selected=true] .gengage-chat-comparison-checkbox-icon{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-comparison-checkbox-dot{background:color-mix(in srgb, currentColor 75%, white);border-radius:999px;width:8px;height:8px}.gengage-chat-comparison-checkbox-label{font-size:12px;font-weight:700;line-height:1.2}.gengage-chat-comparison-toggle-btn--hidden{opacity:0;pointer-events:none}@keyframes gengage-comparison-fade-in{0%{opacity:0}to{opacity:1}}.gengage-chat-comparison-toggle-btn--reveal{animation:.5s forwards gengage-comparison-fade-in}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-toggle-btn--reveal{opacity:1;animation:none}}.gengage-chat-comparison-floating-btn{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 92%, white);width:min(100%,520px);color:var(--text-primary);z-index:5;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin:16px auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px}.gengage-chat-comparison-dock-slot{display:none}.gengage-chat-root--mobile .gengage-chat-panel.gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot:not(:empty){left:0;right:0;bottom:calc(var(--gengage-chat-input-control-size,44px) + 8px + env(safe-area-inset-bottom,0px));z-index:30;box-sizing:border-box;pointer-events:none;max-width:100%;padding:0 10px;display:block;position:absolute}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot>*{pointer-events:auto}.gengage-chat-comparison-floating-summary{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.gengage-chat-comparison-floating-count{background:var(--client-primary-subtle);min-width:32px;height:32px;color:var(--client-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.gengage-chat-comparison-floating-copy{min-width:0}.gengage-chat-comparison-floating-title{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.2}.gengage-chat-comparison-floating-warning{color:var(--error);margin-top:4px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-action{flex:none;min-width:132px}.gengage-chat-comparison-floating-close{border-radius:14px;flex:none;width:40px;height:40px;padding:0}.gengage-chat-comparison-floating-action--disabled{opacity:.6}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-3);border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;margin:0;padding:10px;position:relative;bottom:auto}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-summary{align-items:center;gap:8px;min-height:26px;padding-right:34px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-count{flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-title{margin:0;font-size:13px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-warning{margin-top:2px;font-size:11px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-action{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 12px;font-size:13px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close{box-sizing:border-box;align-self:unset;z-index:10;touch-action:manipulation;border-radius:8px;flex:none;width:26px;min-width:26px;max-width:26px;height:26px;min-height:26px;max-height:26px;padding:0;line-height:0;position:absolute;top:9px;right:9px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close svg{width:11px;height:11px;display:block}.gengage-chat-panel-topbar{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--surface-card);z-index:3;border-bottom:none;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.gengage-chat-panel-topbar-title-wrap{flex:1 1 0;align-items:center;min-width:0;display:flex}.gengage-chat-panel-topbar-back,.gengage-chat-panel-topbar-forward{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;transition:background .15s,border-color .15s,opacity .15s;display:flex}.gengage-chat-panel-topbar-back[hidden],.gengage-chat-panel-topbar-forward[hidden]{display:none}.gengage-chat-panel-topbar-back:hover:not(:disabled),.gengage-chat-panel-topbar-forward:hover:not(:disabled){background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-panel-topbar-back:disabled,.gengage-chat-panel-topbar-forward:disabled{opacity:.3;cursor:default}.gengage-chat-panel-topbar-title{width:100%;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;text-align:left;letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.gengage-chat-panel-topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.gengage-chat-panel-topbar-actions:empty{display:none}.gengage-chat-panel-topbar-toolbar-host{justify-content:flex-end;align-items:center;width:100%;display:flex}.gengage-chat-panel-topbar-toolbar-host .gengage-chat-product-sort-toolbar{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.gengage-chat-panel-topbar-close{display:none}@keyframes gengage-typewriter-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-typewriter-block{animation:.15s both gengage-typewriter-fade-in;display:block}@media (prefers-reduced-motion:reduce){.gengage-chat-typewriter-block{animation:none}}.gengage-product-mention{color:var(--client-primary);cursor:pointer;border-bottom:1px dashed var(--client-primary);font-weight:500;text-decoration:none;transition:border-color .15s}.gengage-product-mention:hover{border-bottom-style:solid}@keyframes gengage-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.gengage-chat-panel-skeleton-block{animation:1.5s ease-in-out infinite gengage-skeleton-pulse}@media (prefers-reduced-motion:reduce){.gengage-chat-panel-skeleton-block{animation:none}}.gengage-chat-input-chips{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:6px;padding:4px 12px 2px;display:flex;overflow-x:auto}.gengage-chat-input-chips::-webkit-scrollbar{display:none}.gengage-chat-input-chip{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.gengage-chat-input-chip:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-icon{flex-shrink:0;width:14px;height:14px}.gengage-chat-input-chip-icon,.gengage-chat-pill-icon{align-items:center;margin-right:4px;display:inline-flex}.gengage-chat-product-card-img-wrapper,.gengage-chat-product-details-img-wrap{position:relative;overflow:hidden}.gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--_gengage-discount-color);color:var(--text-inverse);z-index:1;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.3;position:absolute;top:8px;left:8px}.gengage-chat-product-card-stock{border-radius:var(--radius-pill);width:fit-content;margin-top:2px;padding:2px 6px;font-size:11px;font-weight:600}.gengage-chat-product-card-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-card-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-find-similar-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:28px;height:28px;color:var(--text-primary);box-shadow:var(--shadow-1);cursor:pointer;z-index:2;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:opacity .2s,box-shadow .15s;display:inline-flex;position:relative}.gengage-chat-find-similar-pill:hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}@media (hover:hover) and (pointer:fine){.gengage-chat-find-similar-pill:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity .14s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.gengage-chat-find-similar-pill:hover:after,.gengage-chat-find-similar-pill:focus-visible:after{opacity:1}}.gengage-chat-find-similar-pill-icon{justify-content:center;align-items:center;display:flex}.gengage-chat-find-similar-pill-icon svg{display:block}.gengage-chat-find-similar-pill-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{transition:opacity .2s}@media (hover:hover) and (pointer:fine){.gengage-chat-product-card-img-wrapper:not(:hover) .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:not(:hover) .gengage-chat-product-card-img-actions{opacity:0;pointer-events:none}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:hover .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-shell) 88%, transparent);width:auto;height:auto;color:var(--text-inverse);box-shadow:none;opacity:0;pointer-events:none;padding:4px 10px;position:absolute;top:40px;right:8px}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-icon{display:none}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-text{clip:auto;white-space:nowrap;width:auto;height:auto;margin:0;position:static;overflow:visible}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-find-similar-pill,.gengage-chat-ai-toppick-media:hover .gengage-chat-find-similar-pill,.gengage-chat-product-details-img-wrap:hover .gengage-chat-find-similar-pill{opacity:1;pointer-events:auto}.gengage-chat-favorite-btn{background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-control);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);box-shadow:var(--shadow-1);z-index:3;justify-content:center;align-items:center;padding:0;transition:color .2s,box-shadow .15s;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-favorite-btn:hover{box-shadow:var(--shadow-2);color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}.gengage-chat-favorite-btn--active{color:var(--error)}.gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.gengage-chat-product-details-promo-badge{border-radius:var(--radius-pill);background:var(--gengage-chat-promo-bg,color-mix(in srgb, var(--success) 12%, white));color:var(--gengage-chat-promo-text,color-mix(in srgb, var(--success) 82%, var(--text-primary)));white-space:nowrap;box-sizing:border-box;min-height:20px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-block}.gengage-chat-panel-float{box-sizing:border-box;pointer-events:none;z-index:10;flex-shrink:0;align-self:stretch;width:100%;height:0;margin-top:auto;position:sticky;bottom:0;overflow:visible}.gengage-chat-choice-prompter{pointer-events:auto;background:var(--surface-card);border:1px solid var(--border-default);z-index:5;opacity:1;border-bottom:none;border-radius:16px 16px 0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:auto;max-width:none;margin-left:0;margin-right:0;padding:12px 20px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:-16px;left:-16px;right:-16px;transform:translateY(0);box-shadow:0 -2px 8px #00000014}.gengage-chat-panel--scrolled .gengage-chat-choice-prompter{pointer-events:auto;opacity:1;transform:translateY(0)}.gengage-chat-choice-prompter-heading{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:700}.gengage-chat-choice-prompter-suggestion{color:var(--text-secondary);margin-bottom:0;font-size:12px;line-height:1.35}.gengage-chat-choice-prompter-copy{min-width:0}.gengage-chat-choice-prompter-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:inline-flex}.gengage-chat-choice-prompter-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control);background:var(--ds-button-primary-bg);width:auto;min-width:180px;min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;padding:0 18px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.gengage-chat-choice-prompter-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-choice-prompter-dismiss{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card-soft) 92%, white);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.gengage-chat-choice-prompter-dismiss:hover{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white);background:var(--client-primary-subtle)}@media (prefers-reduced-motion:reduce){.gengage-chat-choice-prompter{animation:none}}.gengage-chat-pros-cons{background:var(--surface-card-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin:8px 0;padding:12px 14px}.gengage-chat-pros-cons-heading{color:var(--text-primary);margin:0 0 10px;font-size:14px;font-weight:600}.gengage-chat-pros-cons-list{margin:0 0 8px;padding:0;list-style:none}.gengage-chat-pros-cons-list:last-child{margin-bottom:0}.gengage-chat-pros-cons-item{color:var(--text-secondary);align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;line-height:1.5;display:flex}.gengage-chat-pros-cons-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:flex}.gengage-chat-pros-cons-icon--pro{color:var(--success);background:color-mix(in srgb, var(--success) 15%, white)}.gengage-chat-pros-cons-icon--con{color:var(--error);background:color-mix(in srgb, var(--error) 12%, white)}.gengage-chat-categories{flex-direction:column;gap:8px;display:flex}.gengage-chat-categories-tabs{-webkit-overflow-scrolling:touch;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.gengage-chat-categories-tab{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-categories-tab-image{object-fit:cover;border:1px solid var(--border-subtle);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:28px;height:28px}.gengage-chat-categories-tab-text{min-width:0}.gengage-chat-categories-tab:hover{background:var(--surface-card-soft);border-color:var(--border-strong)}.gengage-chat-categories-tab--active{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default))}.gengage-chat-categories-panel{flex-direction:column;gap:12px;display:flex}.gengage-chat-categories-group-summary{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card));border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-categories-group-selection{border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);max-width:100%;color:var(--client-primary);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:6px 12px 6px 8px;display:inline-flex}.gengage-chat-categories-group-selection-image{object-fit:cover;border:1px solid color-mix(in srgb, white 82%, var(--border-subtle) 18%);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:30px;height:30px}.gengage-chat-categories-group-selection-title{min-width:0;color:inherit;font-size:13px;font-weight:800;line-height:1.25}.gengage-chat-categories-group-chips{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-categories-group-chip{border:1px solid var(--border-default);background:color-mix(in srgb, white 78%, var(--surface-card-soft));color:var(--text-secondary);border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-categories-group-chip--accent{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);color:var(--client-primary)}.gengage-chat-categories-group-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-categories-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;display:grid}.gengage-chat-categories-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}:is(.gengage-chat-categories .gengage-chat-product-card-img,.gengage-chat-consulting-group-grid .gengage-chat-product-card-img,.gengage-chat-product-grid-wrapper:has(.gengage-chat-consulting-style-picker) .gengage-chat-product-card-img){-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.gengage-chat-categories-filter-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-categories-filter-tag{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.gengage-chat-categories-filter-tag:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-grid-view-more{border:1px solid var(--ds-button-secondary-border);border-radius:var(--radius-control);background:var(--ds-button-secondary-bg);width:100%;color:var(--ds-button-secondary-fg);cursor:pointer;text-align:center;grid-column:1/-1;margin-top:8px;padding:10px;font-size:14px;font-weight:500;transition:background .15s;display:block}.gengage-chat-product-grid-view-more:hover{background:var(--ds-button-secondary-bg-hover)}.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0;display:grid;overflow-x:visible}.gengage-chat-product-grid--mobile .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-comparison--mobile{position:relative;overflow-x:clip}.gengage-chat-comparison--mobile .gengage-chat-comparison-table-wrapper{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.gengage-chat-comparison--mobile .gengage-chat-comparison-table{table-layout:fixed;min-width:480px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table th:first-child,.gengage-chat-comparison--mobile .gengage-chat-comparison-table .gengage-chat-comparison-label{background:var(--surface-card);z-index:1;box-shadow:2px 0 4px color-mix(in srgb, var(--surface-shell) 8%, transparent);position:sticky;left:0}.gengage-chat-comparison--mobile .gengage-chat-comparison-table thead th:first-child{box-sizing:border-box;width:22ch;min-width:0;max-width:22ch;padding:8px 6px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table td.gengage-chat-comparison-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;vertical-align:middle;width:22ch;min-width:0;max-width:22ch;overflow:hidden}.gengage-chat-product-details-similars-heading{color:var(--text-primary);margin:16px 0 8px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-product-details-similars{margin-top:8px}.gengage-chat-handoff-notice{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 28%, var(--border-default));border-radius:var(--radius-control);text-align:center;flex-direction:column;align-items:center;gap:6px;margin:8px 0;padding:16px;display:flex}.gengage-chat-handoff-notice-icon{font-size:24px}.gengage-chat-handoff-notice-heading{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin:0;font-size:14px;font-weight:600}.gengage-chat-handoff-notice-summary{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));margin:0;font-size:13px;line-height:1.5}.gengage-chat-product-details-share{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex;position:relative}.gengage-chat-product-details-share:hover{color:var(--client-primary);border-color:var(--client-primary);background:var(--client-primary-subtle)}.gengage-chat-product-details-share:before{content:attr(aria-label);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;pointer-events:none;opacity:0;z-index:2;padding:4px 8px;font-size:11px;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.gengage-chat-product-details-share:hover:before{opacity:1}.gengage-chat-product-details-share--copied:after{content:"✓";background:var(--_gengage-success-color);color:var(--client-on-primary);border-radius:var(--radius-control);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.gengage-chat-product-details-share svg{width:20px;height:20px}.gengage-chat-review-link,.gengage-chat-grounding-link{color:var(--client-primary);text-decoration:underline}@media (width<=768px){.gengage-chat-product-details-promo-badge{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.gengage-chat-launcher:focus-visible,.gengage-chat-close:focus-visible,.gengage-chat-header-btn:focus-visible,.gengage-chat-header-powered:focus-visible,.gengage-chat-send:focus-visible,.gengage-chat-action-btn:focus-visible,.gengage-chat-pill:focus-visible,.gengage-chat-input-chip:focus-visible,.gengage-chat-pills-arrow:focus-visible,.gengage-chat-error-retry:focus-visible,.gengage-chat-product-card-cta:focus-visible,.gengage-chat-product-details-cta:focus-visible,.gengage-chat-product-details-atc:focus-visible,.gengage-chat-product-detail-tab:focus-visible,.gengage-chat-panel-divider-toggle:focus-visible,.gengage-chat-panel-topbar-back:focus-visible,.gengage-chat-panel-topbar-forward:focus-visible,.gengage-chat-rollback-btn:focus-visible,.gengage-chat-ai-toppick-cta:focus-visible,.gengage-chat-comparison-toggle-btn:focus-visible,.gengage-chat-comparison-floating-btn:focus-visible,.gengage-chat-comparison-checkbox:focus-visible,.gengage-chat-product-sort-trigger:focus-visible,.gengage-chat-product-sort-option:focus-visible,.gengage-chat-product-variant-btn:focus-visible,.gengage-chat-product-gallery-thumb:focus-visible,.gengage-chat-find-similar-pill:focus-visible,.gengage-chat-favorite-btn:focus-visible,.gengage-chat-attach-btn:focus-visible,.gengage-chat-attach-menu-item:focus-visible,.gengage-chat-mic-btn:focus-visible,.gengage-chat-attachment-remove:focus-visible,.gengage-chat-choice-prompter-cta:focus-visible,.gengage-chat-choice-prompter-dismiss:focus-visible,.gengage-chat-categories-tab:focus-visible,.gengage-chat-categories-filter-tag:focus-visible,.gengage-chat-product-grid-view-more:focus-visible,.gengage-chat-product-details-share:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{box-sizing:border-box;pointer-events:auto;opacity:1;border-radius:14px;grid-template-columns:1fr;gap:10px;width:100%;max-width:100%;max-height:none;margin:0;padding:10px 12px;display:none;position:relative;bottom:auto;left:auto;right:auto;overflow:visible;transform:none}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-suggestion{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-cta{width:100%;min-width:0;min-height:44px;padding:0 14px}.gengage-chat-root--mobile .gengage-chat-product-sort-trigger,.gengage-chat-root--mobile .gengage-chat-product-sort-option,.gengage-chat-root--mobile .gengage-chat-comparison-toggle-btn{min-height:40px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-label,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-chevron,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-label{display:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown{flex:none;width:auto;max-width:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown--open{z-index:40}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger{justify-content:center;gap:0;width:auto;min-width:44px;padding:0 10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-menu{width:min(224px,100vw - 32px);min-width:196px;max-width:calc(100vw - 32px);top:calc(100% + 6px);left:auto;right:0}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option{min-height:44px;padding:10px 12px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option-label{white-space:normal;line-height:1.3}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-btn{justify-content:center;gap:0;width:44px;min-width:44px;padding:0}.gengage-chat-root--mobile .gengage-chat-input-chip{min-height:40px;padding:8px 12px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-dismiss{width:40px;height:40px}.gengage-chat-root--mobile .gengage-chat-panel-divider-toggle{min-height:44px}.gengage-chat-root--mobile .gengage-chat-product-card-cta,.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta,.gengage-chat-root--mobile .gengage-chat-product-grid-view-more{justify-content:center;align-items:center;min-height:44px;display:flex}.gengage-chat-root--mobile .gengage-chat-panel-topbar-back,.gengage-chat-root--mobile .gengage-chat-panel-topbar-forward,.gengage-chat-root--mobile .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel-topbar-close{display:none}@media (prefers-reduced-motion:reduce){.gengage-chat-consulting-loading-card{animation:none}}.gengage-chat-panel--has-scroll:after{content:"";background:linear-gradient(transparent, var(--surface-card-soft));pointer-events:none;height:40px;display:block;position:sticky;bottom:0}.gengage-chat-cart-toast{background:var(--success);color:var(--text-inverse);border-radius:var(--radius-pill);box-shadow:var(--shadow-3);pointer-events:none;opacity:0;z-index:10;white-space:nowrap;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:72px;left:50%;transform:translate(-50%)translateY(8px)}.gengage-chat-cart-toast--visible{opacity:1;transform:translate(-50%)translateY(0)}@keyframes gengage-cart-flash{0%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}to{transform:scale(1)}}.gengage-chat-header-btn--cart-flash{animation:.5s gengage-cart-flash}'})),Sp=St({CHAT_SCROLL_ELEMENT_ID:()=>ft,ChatPresentationState:()=>cn,GengageChat:()=>un,createChatWidget:()=>Pp,createDefaultChatUISpecRegistry:()=>or,defaultChatUnknownUISpecRenderer:()=>Wt,getChatScrollElement:()=>fl,invalidateChatScrollCache:()=>Si,isSimilarsAppendGrid:()=>Xt,renderUISpec:()=>sr});function Ep(t){const e=t?.type;if(e){if(xo.has(e))return e;if(e==="ProductGrid")return t.props?.similarsAppend===!0?void 0:e}}function Tp(t){if(!t.trim())return!1;const e=document.createElement("template");return e.innerHTML=ye(t),(e.content.textContent??"").trim().length>0}function vo(t){return t.length>120?!1:/^[a-zA-Z0-9#(),.\s%/\-]+$/.test(t)}function pn(t){return typeof t=="object"&&t!==null&&typeof t.type=="string"}function Xt(t){return t?.type==="ProductGrid"&&t.props?.similarsAppend===!0}function Pp(){return new un}var yo,hn,xo,un,Ap=L((()=>{nt(),Lt(),Ke(),Os(),$s(),Ks(),de(),ht(),ot(),It(),Zs(),pl(),zl(),Ol(),Wl(),Pr(),Td(),Id(),zd(),Fd(),kr(),er(),ir(),jd(),Vd(),Wd(),Zd(),Xd(),bt(),Jd(),tp(),lp(),gp(),pp(),Ei(),it(),up(),bp(),yp(),kp(),Cp(),at(),Oi(),yo=new Set(["launchSingleProduct","launchProductList","launchHomepage"]),hn=new Set(["PanelRestoreCard"]),xo=new Set(["ComparisonTable","ProductDetailsPanel"]),un=class et extends pt{constructor(...e){super(...e),this._shadow=null,this._rootEl=null,this._backdropEl=null,this._launcher=null,this._floatingLauncher=null,this._inlineLauncher=null,this._drawer=null,this._bridge=null,this._drawerVisible=!1,this._pillLauncherApply=null,this._hostScrollLockActive=!1,this._hostOverflowRestore=null,this._hostScrollLockViewport=null,this._hostScrollPinning=!1,this._preventHostDocumentTouchMove=a=>{this._hostScrollLockActive&&(this._hostScrollEventShouldReachChatScroller(a)||a.preventDefault())},this._preventHostDocumentWheel=a=>{this._hostScrollLockActive&&(this._hostScrollEventShouldReachChatScroller(a)||a.preventDefault())},this._pinHostViewportScroll=()=>{if(!this._hostScrollLockActive||!this._hostScrollLockViewport||this._hostScrollPinning||this._isMobileViewport&&window.visualViewport&&window.visualViewport.height<window.innerHeight)return;const a=this._hostScrollLockViewport;window.scrollX===a.x&&window.scrollY===a.y||(this._hostScrollPinning=!0,window.scrollTo(a.x,a.y),this._hostScrollPinning=!1)},this._messages=[],this._currentMessageId=0,this._abortControllers=new Set,this._currentThreadId=null,this._lastThreadId=null,this._chatCreatedAt="",this._lastBackendContext=null,this._productSort={type:"related"},this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,this._comparisonRefreshRafId=null,this._lastAppliedKeyboardInset=0,this._syncVisualVh=null,this._viewedProductSkus=new Set,this._panelAiSpecByThread=new Map,this._choicePrompterEl=null,this._openState="full",this._mobileBreakpoint=768,this._isMobileViewport=!1,this._gaPrevMainPaneExpanded=!1,this._pdpLaunched=!1,this._plpLaunched=!1,this._homepageLaunched=!1,this._entryContextPrimed=!1,this._contextPrimingInFlight=!1,this._queuedUserMessages=[],this._productContextUnavailableSku=null,this._i18n=Qe,this._extendedModeManager=null,this._activeTypewriter=null,this._activeTtsHandle=null,this._activeRequestThreadId=null,this._skuToProductItem={},this._conversationMode=null,this._initComplete=!1,this._pendingActions=[],this._bridgeContext=null,this._cartQuantity=null,this._threadsWithFirstBot=new Set,this._panel=null,this._localPanelHistory=[],this._currentPanelSource=null,this._currentInlineProductSummaryRecord=null,this._session=null,this._historyStorage=null,this._activeHistorySessionId=null,this._presentation=new cn,this._presentationScrollTimerIds=new Set,this._eventCallbacks=new Map,this._pendingAddToCartKeys=new Set,this._lastSentAction=null,this._consecutiveErrorCount=0,this._lastErrorMessage="",this._launcherAnchorCleanup=null,this._modeController=new qi,this._syncLauncherAnchor=null}static{this._MAX_COMPARISON_SELECTION=5}static{this._MAX_PANEL_HISTORY=10}get _assistantMode(){return this._modeController.mode}set _assistantMode(e){this._modeController.mode=e}get _uiHints(){return this._modeController.uiHints}set _uiHints(e){this._modeController.uiHints=e}async onInit(e){if(this._i18n=this._resolveI18n(e),this._chatCreatedAt=new Date().toISOString(),e.pillLauncher){const u=hp(e.pillLauncher);e.launcherImageUrl=u.launcherImageUrl,e.headerAvatarUrl===void 0&&(e.headerAvatarUrl=e.pillLauncher.avatarUrl),this._pillLauncherApply=()=>u.apply(this._shadow??void 0)}this._shadow=this.root.attachShadow({mode:"open"});const a=document.createElement("style");a.textContent=bo,this._shadow.appendChild(a);const n=this.root,i=(u,g)=>{g&&vo(g)&&n.style.setProperty(u,g)};if(i("--gengage-chat-header-bg",e.headerBg),i("--gengage-chat-header-foreground",e.headerForeground),e.theme)for(const[u,g]of Object.entries(e.theme))u.startsWith("--")&&typeof g=="string"&&i(u,g);this._applyDiscountedPriceColorVar(e.productPriceUi?.discountedPriceColor);const r=document.createElement("div");r.className="gengage-chat-root",r.lang=He(e.locale),this._rootEl=r,this._shadow.appendChild(r);const o=e.variant??"floating";if(o==="inline"&&r.classList.add("gengage-chat--inline"),o!=="inline"){const u=document.createElement("div");u.className="gengage-chat-backdrop",u.setAttribute("aria-hidden","true"),u.setAttribute("role","button"),u.setAttribute("tabindex","-1"),u.setAttribute("aria-label",this._i18n.closeAriaLabel),u.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),this.close()}),this._backdropEl=u,r.prepend(u)}if(o==="floating"){if(e.floatingLauncher)this._floatingLauncher=Ld(e.floatingLauncher,{onSend:u=>{this.open({initialMessage:u}),this._floatingLauncher?.showOpenChatButton()},onOpenChat:()=>this.open()},this._shadow),r.appendChild(this._floatingLauncher.container);else{const u={onClick:()=>this.open(),ariaLabel:this._i18n.openButton};e.launcherImageUrl!==void 0?u.imageUrl=e.launcherImageUrl:e.launcherSvg!==void 0&&(u.svgMarkup=e.launcherSvg),e.mobileLauncherImageUrl!==void 0&&(u.mobileImageUrl=e.mobileLauncherImageUrl),e.hideMobileLauncher!==void 0&&(u.hideMobile=e.hideMobileLauncher),e.mobileBreakpoint!==void 0&&(u.mobileBreakpoint=e.mobileBreakpoint),e.launcherTooltip!==void 0&&(u.tooltip=e.launcherTooltip),this._launcher=Ed(u),r.appendChild(this._launcher.container)}this._setupLauncherAnchor(e),e.inlineLauncher&&this._setupInlineLauncher(e)}o==="overlay"&&r.classList.add("gengage-chat--overlay");const s=document.createElement("div");r.appendChild(s),this._drawer=new Fi(s,{i18n:this._i18n,onSend:(u,g)=>this._sendMessage(u,g),onClose:()=>this.close(),onAttachment:u=>this._handleAttachment(u),onPanelToggle:()=>{this._drawer?.persistPanelState(e.accountId)},onHostShellSync:()=>{this._applyOpenStateClasses()},onRollback:u=>this._handleRollback(u),onPanelBack:()=>this._navigatePanelBack(),onPanelForward:()=>this._panel?.navigateForward(),onPanelClose:()=>{if(this._isMobileViewport){this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[];return}this._localPanelHistory=[],this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._currentPanelSource=null},headerTitle:e.headerTitle,headerAvatarUrl:e.headerAvatarUrl,launcherImageUrl:e.launcherImageUrl,headerBadge:e.headerBadge,headerCartUrl:e.headerCartUrl,showHeaderFavorites:typeof e.onFavoritesClick=="function"||e.headerFavoritesToggle===!0,...e.headerCartUrl||e.onCartClick?{onCartClick:()=>{e.headerCartUrl?this._saveSessionAndOpenURL(e.headerCartUrl):e.onCartClick?.()}}:{},onFavoritesClick:()=>{if(fs(),typeof e.onFavoritesClick=="function"){e.onFavoritesClick();return}this._openFavoritesPanel()},onHistoryClick:()=>{if(this._currentPanelSource?.kind==="history"){this._navigatePanelBack();return}this._openHistoryPanel()},getMobileState:()=>this._openState??"full",getMobileViewport:()=>this._isMobileViewport,onMobileSnap:u=>{u==="close"?this.close():(this._openState=u,this._applyOpenStateClasses())},onLinkClick:u=>{this._saveSessionAndOpenURL(u)},renderMessageUISpec:u=>this._renderMessageUISpec(u),voiceEnabled:e.voiceEnabled,voiceLang:e.locale?`${e.locale.split("-")[0]??"tr"}-${(e.locale.split("-")[1]??e.locale.split("-")[0]??"TR").toUpperCase()}`:void 0,onNewChat:()=>this._startNewChat(),presentation:{onPinnedToBottomChange:u=>{this._presentation.pinnedToBottom=u},onUserInteractingChange:u=>{this._presentation.userInteracting=u},onFormerMessagesHint:()=>{this._presentation.focusedThreadId&&this._hasMultipleThreadIds()&&this._drawer?.setFormerMessagesButtonVisible(!0)},shouldBlockSoftAutoScroll:()=>this._presentation.shouldBlockStreamAutoScroll(),onReleasePresentationFocus:()=>this._releasePresentationFocus()}}),this._applyUiHints(),this._extendedModeManager=new $r({onChange:u=>this._panel?.notifyExtension(u),productDetailsInPanel:(e.isDemoWebsite??!1)&&(e.productDetailsExtended??!1)}),this._panel=new Gr({drawer:()=>this._drawer,shadow:()=>this._shadow,currentThreadId:()=>this._currentThreadId,bridge:()=>this._bridge,extendedModeManager:()=>this._extendedModeManager,i18n:()=>this._i18n,rollbackToThread:u=>this._rollbackToThread(u)}),o!=="inline"&&this._drawer.getElement().classList.add("gengage-chat-drawer--hidden");const c=this._drawer.restorePanelState(e.accountId),l=e.panelMode??"auto";l==="collapsed"?this._drawer.setPanelCollapsed(!0):l==="expanded"&&this._drawer.setForceExpanded();const p=sessionStorage.getItem("gengage_restore_session_id"),d=sessionStorage.getItem("gengage_restore_sku"),h=sessionStorage.getItem("gengage_restore_history_id"),f=!!(p&&d);f&&(sessionStorage.removeItem("gengage_restore_session_id"),sessionStorage.removeItem("gengage_restore_sku")),h&&sessionStorage.removeItem("gengage_restore_history_id"),this._historyStorage=new Jr(this.config.accountId,this.config.session?.userId??"");try{const u=new qr;await u.open(),this._session=new sn(u);const g=h?this._historyStorage.loadSession(h):null;g?(this._activeHistorySessionId=g.id,await this._restoreFromHistoryRecord(g)):await this._restoreFromIndexedDB(f)}catch{this._session=new sn(null);const u=h?this._historyStorage.loadSession(h):null;u&&(this._activeHistorySessionId=u.id,await this._restoreFromHistoryRecord(u))}this._registerPublicAPI(),e.mobileInitialState!==void 0&&(this._openState=e.mobileInitialState),this._mobileBreakpoint=e.mobileBreakpoint??768,this._syncViewportState();const b=()=>this._syncViewportState();if(window.addEventListener("resize",b,{passive:!0}),this.addCleanup(()=>window.removeEventListener("resize",b)),window.visualViewport){const g=()=>{if(!this._drawerVisible||!this._isMobileViewport)return;const v=this._drawer?.getElement();if(!v)return;const _=window.visualViewport,y=Math.max(0,Math.round(window.innerHeight-(_.height+_.offsetTop))),k=y>90,T=this._openState==="full"&&k?y:0;T!==this._lastAppliedKeyboardInset&&(this._lastAppliedKeyboardInset=T,v.style.setProperty("--gengage-chat-keyboard-inset",`${T}px`)),this._openState==="full"&&(v.style.setProperty("--gengage-chat-visual-vh",`${Math.round(_.height)}px`),v.style.setProperty("--gengage-chat-visual-top",`${Math.round(_.offsetTop)}px`))};this._syncVisualVh=()=>{if(!this._isMobileViewport||this._openState!=="full")return;const v=this._drawer?.getElement();if(!v||!window.visualViewport)return;const _=window.visualViewport;v.style.setProperty("--gengage-chat-visual-vh",`${Math.round(_.height)}px`),v.style.setProperty("--gengage-chat-visual-top",`${Math.round(_.offsetTop)}px`)},window.visualViewport.addEventListener("resize",g),window.visualViewport.addEventListener("scroll",g),this.addCleanup(()=>{window.visualViewport?.removeEventListener("resize",g),window.visualViewport?.removeEventListener("scroll",g)})}o==="inline"&&(this._drawerVisible=!0,this.isVisible=!0,this._applyOpenStateClasses(),this._presentation.setShown(!0),setTimeout(()=>this._maybeAutoAnchorUnreadAssistant(),60));const m={namespace:"chat",onMessage:u=>this._handleBridgeMessage(u)};e.allowedOrigins!==void 0&&(m.allowedOrigins=e.allowedOrigins),this._bridge=new Zn(m),this._lastSku=this.config.pageContext?.sku,this._lastPageType=this.config.pageContext?.pageType,this._lastSkuListKey=this.config.pageContext?.skuList?.slice(0,48).join(","),this._initComplete=!0;for(const u of this._pendingActions)this._sendAction(u.action,u.options);this._pendingActions=[],this._pillLauncherApply&&o==="floating"&&(await this._pillLauncherApply(),this._pillLauncherApply=null),me("gengage:chat:ready",{}),Et("chat"),e.onReady?.()}onUpdate(e){if(this.config.pageContext&&e.pageType!==void 0){const{sku:n,skuList:i,...r}=this.config.pageContext,o={...r};o.pageType==="pdp"&&n!==void 0&&(o.sku=n),o.pageType==="plp"&&i!==void 0&&(o.skuList=i),this.config={...this.config,pageContext:o}}let a=!1;if(e.sku!==void 0&&e.sku!==this._lastSku&&(this._lastSku=e.sku,a=!0),e.pageType!==void 0&&e.pageType!==this._lastPageType&&(this._lastPageType=e.pageType,a=!0,this._inlineLauncher?.sync(e.pageType)),e.skuList!==void 0){const n=e.skuList.slice(0,48).join(",");n!==this._lastSkuListKey&&(this._lastSkuListKey=n,a=!0)}a&&(this._resetForNewPage(),this._drawerVisible&&this.config.pageContext?.pageType==="pdp"&&this.config.pageContext?.sku&&this._primeOpenPageContext())}onShow(){this._inlineLauncher?.setActive(!0),this._showDrawer(),this.emit("open"),me("gengage:chat:open",{state:this._openState}),Tt("chat"),this.config.onOpen?.(),this._primeOpenPageContext()}_primeOpenPageContext(){this._showWelcomeIfNeeded(),this._maybePrimeEntryContextOpening(),!this._pdpLaunched&&this.config.pageContext?.pageType==="pdp"&&this.config.pageContext?.sku&&(this._pdpLaunched=!0,this._contextPrimingInFlight=!0,this._sendAction({title:"",type:"launchSingleProduct",payload:{sku:this.config.pageContext.sku,...this._resolveContextualOpeningMessage("product")?{opening_message:this._resolveContextualOpeningMessage("product")}:{},...this._resolveContextualOpeningGuidance("product")?{opening_guidance:this._resolveContextualOpeningGuidance("product")}:{}}},{silent:!0,isContextPrime:!0,preservePills:!0})),!this._plpLaunched&&this.config.pageContext?.pageType==="plp"&&this.config.pageContext.skuList?.length&&(this._plpLaunched=!0,this._contextPrimingInFlight=!0,this._sendAction({title:"",type:"launchProductList",payload:{sku_list:this.config.pageContext.skuList.slice(0,48)}},{silent:!0,isContextPrime:!0,preservePills:!0})),!this._homepageLaunched&&(this.config.pageContext?.pageType==="home"||this.config.pageContext?.pageType==="other")&&(this._homepageLaunched=!0,this._contextPrimingInFlight=!0,this._sendAction({title:"",type:"launchHomepage",payload:{}},{silent:!0,isContextPrime:!0,preservePills:!0}))}onHide(){this._inlineLauncher?.setActive(!1),(this.config.variant??"floating")==="floating"&&(this.root.style.display=""),this._hideDrawer(),this.emit("close"),me("gengage:chat:close",{}),this.config.onClose?.()}_setupLauncherAnchor(e){const a=e.launcherAnchor;if(!a||!a.mobile&&!a.desktop)return;const n=this.root,i=e.mobileBreakpoint??768,r=()=>window.innerWidth<=i?a.mobile:a.desktop,o=()=>{const T=r();return!!T?.dynamicRelocate&&!!T.selector},s="--gengage-chat-launcher-anchor-bottom",c="--gengage-chat-launcher-anchor-right";(a.mobile?.dynamicRelocate||a.desktop?.dynamicRelocate)&&n.style.setProperty("--gengage-chat-launcher-anchor-transition","0.35s");const l=()=>{const T=window.innerWidth<=i?a.mobile:a.desktop;if(!T)return;const w=T.selector,E=!!w,z=(E?document.querySelector(w):null)?.getBoundingClientRect();if(T.bottom!==void 0){const{offset:$,type:K}=T.bottom;if(!E)n.style.setProperty(s,`${Math.max(0,$)}px`);else if(z){const oe=K==="root"||$===0?z.bottom:z.top,ie=Math.max(0,window.innerHeight-oe+$);n.style.setProperty(s,`${ie}px`)}}if(T.right!==void 0){const{offset:$,type:K}=T.right;if(!E)n.style.setProperty(c,`${Math.max(0,$)}px`);else if(z){const oe=K==="root"||$===0?z.right:z.left,ie=Math.max(0,window.innerWidth-oe+$);n.style.setProperty(c,`${ie}px`)}}},p=()=>{n.style.removeProperty(s),n.style.removeProperty(c)};let d=!1,h=0;const f=()=>{!o()||!d||h||(h=requestAnimationFrame(()=>{h=0,o()&&d&&l()}))},b=new ResizeObserver(()=>{(!o()||d)&&l()});let m=null,u=null;const g=()=>{const T=r()?.selector;return!T||!!document.querySelector(T)},v=()=>{!o()||g()||(u?.disconnect(),u=new MutationObserver(()=>{g()&&(u?.disconnect(),u=null,_())}),u.observe(document.body,{childList:!0,subtree:!0}))},_=()=>{b.disconnect(),m?.disconnect(),m=null,d=!1;const T=r();if(!T)return;if(!T.selector){l();return}const w=document.querySelector(T.selector);w&&(b.observe(w),o()?(m=new IntersectionObserver(E=>{for(const z of E)z.isIntersecting?(d=!0,l()):(d=!1,p(),v())},{threshold:0}),m.observe(w)):l())};_();let y=0;const k=()=>{y||(y=requestAnimationFrame(()=>{y=0,d=!1,p(),u?.disconnect(),u=null,_(),v(),o()||l()}))};window.addEventListener("resize",k,{passive:!0}),window.addEventListener("scroll",f,{passive:!0}),window.visualViewport?.addEventListener("scroll",f,{passive:!0}),this._syncLauncherAnchor=()=>{d=!1,p(),u?.disconnect(),u=null,_(),v()},o()?v():(l(),[100,400,1e3].forEach(T=>window.setTimeout(l,T))),this._launcherAnchorCleanup=()=>{b.disconnect(),m?.disconnect(),u?.disconnect(),window.removeEventListener("resize",k),window.removeEventListener("scroll",f),window.visualViewport?.removeEventListener("scroll",f),y&&cancelAnimationFrame(y),h&&cancelAnimationFrame(h)}}syncLauncherAnchor(){this._syncLauncherAnchor?.()}syncInlineLauncher(){this._inlineLauncher?.sync(this.config.pageContext?.pageType)}_setupInlineLauncher(e){const a=e.inlineLauncher;a&&(this._inlineLauncher=Rd(a,{onClick:()=>this.open()},{shadowRoot:this._shadow,getPageType:()=>this.config.pageContext?.pageType}),this._inlineLauncher.sync(this.config.pageContext?.pageType),[100,400,1e3,2500].forEach(n=>{window.setTimeout(()=>{this._inlineLauncher?.sync(this.config.pageContext?.pageType)},n)}))}onDestroy(){this._releaseHostDocumentScrollLock(),this._abortAllActiveRequests(),this._activeTypewriter?.cancel(),this._activeTypewriter=null,this._presentationScrollTimerIds.forEach(e=>clearTimeout(e)),this._presentationScrollTimerIds.clear(),this._activeTtsHandle?.stop(),this._activeTtsHandle=null,this._comparisonRefreshRafId!==null&&(cancelAnimationFrame(this._comparisonRefreshRafId),this._comparisonRefreshRafId=null),this._launcherAnchorCleanup?.(),this._launcherAnchorCleanup=null,this._syncLauncherAnchor=null,this._floatingLauncher?.destroy(),this._floatingLauncher=null,this._inlineLauncher?.destroy(),this._inlineLauncher=null,this._drawer?.destroy(),Si(),this._drawer=null,this._bridge?.destroy(),this._bridge=null,this._extendedModeManager=null,this._panel?.destroy(),this._panel=null,this._session?.close(),this._session=null,this._historyStorage=null,this._activeHistorySessionId=null,this._localPanelHistory=[],this._currentPanelSource=null,window.gengage&&delete window.gengage.chat,this._shadow&&(this._shadow.innerHTML="",this._shadow=null),this._rootEl=null}open(e){e?.state!==void 0&&(this._openState=e.state,this._drawerVisible&&this._applyOpenStateClasses()),this.show(),e?.initialMessage!==void 0&&this._sendMessage(e.initialMessage)}openWithAction(e,a){a?.sku!==void 0&&this.update({sku:a.sku}),this._pdpLaunched=!0,a?.state!==void 0?this._openState=a.state:this._isMobileViewport&&(this._openState="half"),this.show(),this._drawerVisible&&this._applyOpenStateClasses(),this._sendAction(e,{skipFullSheet:!0})}sendMessage(e){this._sendMessage(e)}sendAction(e,a){this._sendAction(e,a)}close(){this.hide()}saveSession(e,a){sessionStorage.setItem("gengage_restore_session_id",e),sessionStorage.setItem("gengage_restore_sku",a),this._activeHistorySessionId?sessionStorage.setItem("gengage_restore_history_id",this._activeHistorySessionId):sessionStorage.removeItem("gengage_restore_history_id")}get isOpen(){return this._drawerVisible}addCallback(e,a){let n=this._eventCallbacks.get(e);return n||(n=new Set,this._eventCallbacks.set(e,n)),n.add(a),()=>{n.delete(a),n.size===0&&this._eventCallbacks.delete(e)}}_applyDiscountedPriceColorVar(e){const a=this.root;e==="client"?a.style.setProperty("--gengage-discounted-price-color","var(--client-primary)"):a.style.removeProperty("--gengage-discounted-price-color")}_abortAllActiveRequests(){for(const e of this._abortControllers)e.abort();this._abortControllers.clear()}_pruneEmptyStreamingAssistantPlaceholders(){const e=[];for(const a of this._messages){if(a.role==="assistant"&&!a.frontendOnly&&(a.status==="streaming"||a.status==="done")&&(a.content==null||a.content.length===0)){if(a.threadId){const n=this._messages.some(i=>i.id!==a.id&&i.threadId===a.threadId&&i.frontendOnly)||this._panel?.snapshotTypes.has(a.id)===!0;this._threadsWithFirstBot.delete(a.threadId),this._presentation.finalizeAssistantGroup(a.threadId),this._shadow?.querySelectorAll(`[data-thread-id="${ve(a.threadId)}"]:not([data-message-id])`).forEach(i=>i.remove()),this._panel&&!n&&(this._panel.threads=this._panel.threads.filter(i=>i!==a.threadId))}this._drawer?.removeMessageBubble(a.id),this._panel?.snapshots.delete(a.id),this._panel?.snapshotTypes.delete(a.id);continue}e.push(a)}this._messages.length=0,this._messages.push(...e)}_clearConversationState(e){this._activeRequestThreadId=null,this._abortAllActiveRequests(),this._activeTypewriter?.cancel(),this._activeTypewriter=null,this._activeTtsHandle?.stop(),this._activeTtsHandle=null,this._messages.length=0,this._drawer?.clearMessages(),this._drawer?.clearPanel(),this._currentPanelSource=null,this._currentInlineProductSummaryRecord=null,this._localPanelHistory=[],this._panel&&(this._panel.clearSnapshots(),this._panel.threads=[],this._panel.activePanelMessageId=null,this._panel.currentType=null),this._panelAiSpecByThread.clear(),this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,this._viewedProductSkus.clear(),this._threadsWithFirstBot.clear(),this._currentThreadId=null,this._lastThreadId=null,this._lastBackendContext=null,this._chatCreatedAt=new Date().toISOString(),e&&(this._pdpLaunched=!1,this._plpLaunched=!1,this._homepageLaunched=!1,this._entryContextPrimed=!1),this._contextPrimingInFlight=!1,this._queuedUserMessages=[],this._productContextUnavailableSku=null,this._presentation.reset(),this._presentation.setShown(this._drawerVisible),this._drawer?.setPresentationFocus(null),this._drawer?.setFormerMessagesButtonVisible(!1),this._drawer?.setPills([]),Fr(),this._modeController.reset()&&(this._drawer?.setInputPlaceholder(this._i18n.inputPlaceholder),this._drawer?.setAttachmentControlsVisible(!0),this._drawer?.setBeautyPhotoStepCard({visible:!1}))}_resetForNewPage(){this._activeHistorySessionId=null,this._bridgeContext=null,this._clearConversationState(!0)}_startNewChat(){this._activeHistorySessionId=null,this._clearConversationState(!1),this._showWelcomeIfNeeded(),this._drawer?.focusInput()}_clearAssistantPanelLikeStreamClearPanel(){this._clearChoicePrompter(),this._drawer?.clearPanel(),this._currentPanelSource=null,this._panelAiSpecByThread.clear(),this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,this._panel&&(this._panel.currentType=null,this._panel.updateExtendedMode(""),this._panel.updateTopBar(""))}_flushPresentationScroll(){const e=this._presentation.scrollRequest;if(!e||!this._drawer)return;let a=!1;e.type==="thread"&&e.threadId?(a=this._drawer.scrollThreadIntoView(e.threadId,e.behavior),a||(this._drawer.scrollToBottomPresentation(e.behavior),a=!0)):e.type==="bottom"&&(this._drawer.scrollToBottomPresentation(e.behavior),a=!0),a&&this._presentation.consumeScrollRequest(e.id)}_schedulePresentationScrollFlush(){const e=setTimeout(()=>{this._presentationScrollTimerIds.delete(e),this._flushPresentationScroll()},40);this._presentationScrollTimerIds.add(e)}_focusPresentationThread(e,a="smooth",n=!1){this._presentation.requestThreadFocus(e,a),n&&this._drawer?.setPresentationFocus(e),this._drawer?.setFormerMessagesButtonVisible(!1),this._schedulePresentationScrollFlush()}_scrollInlineIntoView(e,a){if(a){this._focusPresentationThread(a,"auto");return}e.scrollIntoView({behavior:"auto",block:"start"})}_releasePresentationFocus(){this._presentation.releaseFocusedThread(),this._drawer?.setPresentationFocus(null),this._drawer?.setFormerMessagesButtonVisible(!1)}_hasMultipleThreadIds(){const e=new Set;for(const a of this._messages)a.threadId&&e.add(a.threadId);return e.size>1}_orderedThreadIds(){const e=[],a=new Set;for(const n of this._messages)n.threadId&&!a.has(n.threadId)&&(a.add(n.threadId),e.push(n.threadId));return e}_maybeAutoAnchorUnreadAssistant(){if(!this._drawer||!this._presentation.shown)return;const e=this._orderedThreadIds();if(e.length===0)return;const a=dp(e,this._presentation);if(!a)return;const n=`${a}:assistant`;this._presentation.lastAutoAnchoredGroupId!==n&&(this._presentation.userInteracting&&!this._presentation.pinnedToBottom||this._drawer.scrollThreadIntoView(a,"smooth")&&this._presentation.markGroupAutoAnchored(n))}_handleBridgeMessage(e){switch(e.type){case"openChat":this.open();break;case"closeChat":this.close();break;case"startNewChatWithLauncherAction":{const a=e.payload,n=a?.action,i=pn(n)?n:pn(a)?a:null;i&&this._sendAction(i,{silent:!0}),this.open();break}case"startNewChatWithDetailContext":{const a=e.payload;if(a&&typeof a=="object"){this._bridgeContext=a;const n=a.sku;if(n&&this.update({sku:n}),pn(a.action)){this._pdpLaunched=!0,this.open(),this._sendAction(a.action);break}}this.open();break}case"launcherAction":{const a=e.payload?.action;a&&typeof a=="object"&&"type"in a&&this._sendAction(a);break}case"scrollToBottom":this._presentation.requestScrollToBottom("smooth"),this._schedulePresentationScrollFlush();break;case"addToCardHandler":this._bridge?.send("addToCardResult",e.payload);break;case"cartQuantityHandler":{const a=e.payload;a&&"quantity"in a&&typeof a.quantity=="number"&&(this._cartQuantity=a.quantity);break}case"favoritesCountHandler":{const a=e.payload?.count;typeof a=="number"&&a>=0&&this._drawer?.updateFavoritesBadge(a);break}case"minimizeRequestedByUser":this._extendedModeManager?.setHiddenByUser(!0);break;case"bgColorChange":{const a=e.payload?.color;typeof a=="string"&&vo(a)&&this._shadow&&this._shadow.host.style.setProperty("--gengage-chat-bg",a);break}default:break}}_registerPublicAPI(){window.gengage||(window.gengage={}),window.gengage.chat={open:e=>this.open(e),openWithAction:(e,a)=>this.openWithAction(e,a),sendMessage:e=>this.sendMessage(e),sendAction:(e,a)=>this.sendAction(e,a),close:()=>this.close(),saveSession:(e,a)=>this.saveSession(e,a),get isOpen(){return!1},on:(e,a)=>this.on(e,a),addCallback:(e,a)=>this.addCallback(e,a)},Object.defineProperty(window.gengage.chat,"isOpen",{get:()=>this._drawerVisible})}_showDrawer(){if(this._drawerVisible)return;this._drawerVisible=!0;const e=this._drawer?.getElement();e&&e.classList.remove("gengage-chat-drawer--hidden"),this._applyOpenStateClasses(),this._syncVisualVh?.(),this._drawer?.trapFocus(),this._isMobileViewport||this._drawer?.focusInput(),this._extendedModeManager?.setChatShown(!0),this._presentation.setShown(!0),setTimeout(()=>this._maybeAutoAnchorUnreadAssistant(),60)}_showWelcomeIfNeeded(){if(this._messages.length!==0)return;const e=this._resolveOpeningContextKey(),a=this._resolveContextualOpeningActions(e);if(a.length>0&&this._drawer?.setPills(a.map(r=>({label:r.title,onAction:()=>this._sendAction(this._resolveContextualOpeningAction(r,e))}))),this._hasDedicatedContextLaunch()||this._shouldPrimeContextualOpening())return;const n=this._resolveContextualOpeningMessage(e);if(!n)return;const i={id:Qn(),role:"assistant",content:n,timestamp:Date.now(),status:"done"};this._messages.push(i),this._drawer?.addMessage(i)}_resolveOpeningContextKey(){switch(this.config.pageContext?.pageType){case"home":return"home";case"search":case"plp":return"listing";case"pdp":return"product";default:return"default"}}_resolveContextualOpeningMessage(e=this._resolveOpeningContextKey()){return this.config.openingMessagesByContext?.[e]??(e!=="default"?this.config.openingMessagesByContext?.default:void 0)??this.config.welcomeMessage}_resolveContextualOpeningGuidance(e=this._resolveOpeningContextKey()){return this.config.openingGuidanceByContext?.[e]??(e!=="default"?this.config.openingGuidanceByContext?.default:void 0)}_resolveContextualOpeningActions(e=this._resolveOpeningContextKey()){const a=this.config.welcomeActionsByContext?.[e]??(e!=="default"?this.config.welcomeActionsByContext?.default:void 0);return a?.length?a.filter(n=>typeof n?.title=="string"&&n.title.trim().length>0):(this.config.welcomeActions??[]).filter(n=>typeof n=="string"&&n.trim().length>0).map(n=>({title:n}))}_resolveContextualOpeningAction(e,a=this._resolveOpeningContextKey()){const n=e.title.trim(),i=this.config.pageContext?.sku??this._readContextStringField("sku"),r=this._readContextStringListField("visible_skus")??[];return e.icon==="review"&&i?{title:n,type:"reviewSummary",payload:{sku:i}}:e.icon==="similar"&&i?{title:n,type:"findSimilar",payload:{sku:i}}:e.icon==="compare"&&a==="listing"&&r.length>=2?{title:n,type:"getComparisonTable",payload:{sku_list:r.slice(0,2)}}:{title:n,type:"user_message",payload:n}}_readContextStringField(e){const a=this.config.pageContext,n=a?.extra&&typeof a.extra=="object"&&!Array.isArray(a.extra)?a.extra:void 0,i=e.replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),r=a?.[e]??n?.[e]??a?.[i]??n?.[i];return typeof r=="string"&&r.trim().length>0?r.trim():void 0}_readContextStringListField(e){const a=this.config.pageContext,n=a?.extra&&typeof a.extra=="object"&&!Array.isArray(a.extra)?a.extra:void 0,i=e.replace(/_([a-z])/g,(s,c)=>c.toUpperCase()),r=a?.[e]??n?.[e]??a?.[i]??n?.[i];if(!Array.isArray(r))return;const o=r.filter(s=>typeof s=="string"&&s.trim().length>0);return o.length>0?o:void 0}_buildEntryOpeningPageDetails(){const e={};e.url=this.config.pageContext?.url??window.location.href;const a=this._readContextStringField("page_title");a&&(e.page_title=a);const n=this._readContextStringField("page_description");n&&(e.page_description=n);const i=this._readContextStringField("search_query");i&&(e.search_query=i);const r=this._readContextStringListField("visible_skus");r?.length&&(e.visible_skus=r);const o=this._readContextStringListField("popular_searches");o?.length&&(e.popular_searches=o);const s=this.config.pageContext?.categoryTree??this._readContextStringListField("category_path");return s?.length&&(e.category_path=s),Object.keys(e).length>0?e:void 0}_hasDedicatedContextLaunch(){const e=this.config.pageContext;return e?!!(e.pageType==="pdp"&&e.sku||e.pageType==="plp"&&e.skuList?.length||e.pageType==="home"):!1}_shouldPrimeContextualOpening(){return this._messages.length!==0||this._entryContextPrimed||this._contextPrimingInFlight||this._hasDedicatedContextLaunch()?!1:!!(this.config.openingMessagesByContext||this.config.openingGuidanceByContext||this.config.welcomeActionsByContext)}_maybePrimeEntryContextOpening(){const e=this._resolveOpeningContextKey();if(!this._shouldPrimeContextualOpening())return;this._entryContextPrimed=!0;const a={text:"",is_entry_context_opening:1,opening_context_key:e},n=this._buildEntryOpeningPageDetails();n&&(a.page_details=n);const i=this._resolveContextualOpeningMessage(e);i&&(a.opening_message=i);const r=this._resolveContextualOpeningGuidance(e);r&&(a.opening_guidance=r),this._sendAction({title:"",type:"user_message",payload:a},{silent:!0,preservePills:!0})}_hideDrawer(){if(!this._drawerVisible)return;this._drawer?.releaseFocus(),this._activeTypewriter?.cancel(),this._activeTypewriter=null,this._activeTtsHandle?.stop(),this._activeTtsHandle=null,this._drawerVisible=!1,this._openState="full";const e=this._drawer?.getElement();e&&(e.classList.add("gengage-chat-drawer--hidden"),e.style.removeProperty("--gengage-chat-keyboard-inset")),this._lastAppliedKeyboardInset=0,this._applyOpenStateClasses(),this._extendedModeManager?.setChatShown(!1),this._presentation.setShown(!1),this._drawer?.setPresentationFocus(null),this._drawer?.setFormerMessagesButtonVisible(!1)}_syncViewportState(){if(this._rootEl){if(this._isMobileViewport=window.innerWidth<=this._mobileBreakpoint,this._rootEl.classList.toggle("gengage-chat-root--mobile",this._isMobileViewport),this._launcher){const e=this._isMobileViewport&&this.config.hideMobileLauncher===!0;this._launcher.container.classList.toggle("gengage-chat-launcher--hidden-mobile",e)}this._applyOpenStateClasses()}}_isMaximizedForHostChrome(){if(!this._drawerVisible)return!1;const e=this.config.variant??"floating";return e==="inline"?!1:e==="overlay"?!0:!(!(this._drawer?.isPanelVisible()??!1)||!this._isMobileViewport&&(this._drawer?.isPanelCollapsed()??!1))}_shouldLockHostDocumentScroll(){if(!this._drawerVisible)return!1;const e=this.config.variant??"floating";return e==="inline"?!1:e==="overlay"||this._isMobileViewport?!0:this._isMaximizedForHostChrome()}_applyOpenStateClasses(){if(!this._rootEl)return;const e=this._drawerVisible&&this._isMobileViewport&&this._openState==="half",a=this._drawerVisible&&this._isMobileViewport&&this._openState==="full",n=this._isMaximizedForHostChrome();if(this._rootEl.classList.toggle("gengage-chat-root--open",this._drawerVisible),this._rootEl.classList.toggle("gengage-chat-root--mobile-half",e),this._rootEl.classList.toggle("gengage-chat-root--mobile-full",a),this._rootEl.classList.toggle("gengage-chat-root--maximized-host-chrome",n),a&&this._syncVisualVh?.(),this._backdropEl){const i=n&&(this.config.variant??"floating")!=="inline";this._backdropEl.setAttribute("aria-hidden",i?"false":"true")}this._syncHostDocumentScrollLock(),this._maybeTrackChatbotMainPaneGa()}_mainPaneExpandedForAnalytics(){const e=this._drawer;return e?.isPanelVisible()?this._isMobileViewport?!0:!e.isPanelCollapsed():!1}_maybeTrackChatbotMainPaneGa(){const e=this._mainPaneExpandedForAnalytics();e&&!this._gaPrevMainPaneExpanded&&ys(),this._gaPrevMainPaneExpanded=e}_syncHostDocumentScrollLock(){if(!(typeof document>"u")){if((this.config.variant??"floating")==="inline"){this._releaseHostDocumentScrollLock();return}this._shouldLockHostDocumentScroll()?this._applyHostDocumentScrollLock():this._releaseHostDocumentScrollLock()}}_hostScrollEventShouldReachChatScroller(e){try{const a=e.composedPath();if(a.length===0)return!0;if(!a.includes(this.root))return!1;for(const n of a){if(n===this.root)break;if(!(n instanceof HTMLElement))continue;if(this._backdropEl&&(n===this._backdropEl||this._backdropEl.contains(n)))return!1;const i=window.getComputedStyle(n),r=(i.overflowY==="auto"||i.overflowY==="scroll")&&n.scrollHeight>n.clientHeight+1,o=(i.overflowX==="auto"||i.overflowX==="scroll")&&n.scrollWidth>n.clientWidth+1;if(r||o)return!0}return!1}catch{return!1}}_applyHostDocumentScrollLock(){if(typeof document>"u"||typeof window>"u")return;const e=document.documentElement;if(!this._hostOverflowRestore){const a=document.body;this._hostOverflowRestore={htmlOverflow:e.style.overflow,bodyOverflow:a?.style.overflow??"",htmlOverscroll:e.style.overscrollBehavior,bodyOverscroll:a?.style.overscrollBehavior??""},e.dataset.gengageHostScrollLock="1",e.style.overflow="hidden",e.style.overscrollBehavior="none",a&&(a.style.overflow="hidden",a.style.overscrollBehavior="none"),this._hostScrollLockViewport={x:window.scrollX,y:window.scrollY}}this._hostScrollLockActive||(window.addEventListener("touchmove",this._preventHostDocumentTouchMove,{capture:!0,passive:!1}),window.addEventListener("wheel",this._preventHostDocumentWheel,{capture:!0,passive:!1}),document.addEventListener("touchmove",this._preventHostDocumentTouchMove,{capture:!0,passive:!1}),document.addEventListener("wheel",this._preventHostDocumentWheel,{capture:!0,passive:!1}),window.addEventListener("scroll",this._pinHostViewportScroll,{capture:!0,passive:!0}),this._hostScrollLockActive=!0)}_releaseHostDocumentScrollLock(){if(typeof document>"u")return;typeof window<"u"&&(window.removeEventListener("scroll",this._pinHostViewportScroll,{capture:!0}),window.removeEventListener("touchmove",this._preventHostDocumentTouchMove,{capture:!0}),window.removeEventListener("wheel",this._preventHostDocumentWheel,{capture:!0})),document.removeEventListener("touchmove",this._preventHostDocumentTouchMove,{capture:!0}),document.removeEventListener("wheel",this._preventHostDocumentWheel,{capture:!0}),this._hostScrollLockActive=!1,this._hostScrollLockViewport=null,this._hostScrollPinning=!1;const e=document.documentElement,a=document.body;this._hostOverflowRestore?(e.style.overflow=this._hostOverflowRestore.htmlOverflow,e.style.overscrollBehavior=this._hostOverflowRestore.htmlOverscroll,a&&(a.style.overflow=this._hostOverflowRestore.bodyOverflow,a.style.overscrollBehavior=this._hostOverflowRestore.bodyOverscroll),this._hostOverflowRestore=null):e.dataset.gengageHostScrollLock==="1"&&(e.style.removeProperty("overflow"),e.style.removeProperty("overscroll-behavior"),a?.style.removeProperty("overflow"),a?.style.removeProperty("overscroll-behavior")),delete e.dataset.gengageHostScrollLock}_handleAttachment(e){const a=Ys(e);if(!a.ok){me("gengage:global:error",{message:a.reason==="invalid_type"?this._i18n.invalidFileType:this._i18n.fileTooLarge,source:"chat"});return}this._drawer?.stageAttachment(e)}_sendMessage(e,a){if(a===void 0){if(this._contextPrimingInFlight&&eo(e)==="directAddToCart"){this._queuedUserMessages.push({text:e});return}if(this._maybeHandleDirectAddToCartCommand(e))return}this._contextPrimingInFlight&&(this._abortAllActiveRequests(),this._contextPrimingInFlight=!1,this._queuedUserMessages=[]),this._ensureMobileFullSheetForPanel(),xs(),this._messages.some(i=>i.role==="user")||_s(),Be("chat","sendMessage",{mode:this._assistantMode,hasAttachment:a!==void 0,textLength:e.length});const n=a!==void 0?{title:e,type:this._modeController.resolveAttachmentActionType(),payload:e?{text:e}:{}}:{title:e,type:"user_message",payload:e};a!==void 0?this._sendAction(n,{attachment:a}):this._sendAction(n)}_flushQueuedUserMessages(){if(this._contextPrimingInFlight||this._queuedUserMessages.length===0)return;const e=[...this._queuedUserMessages];this._queuedUserMessages=[];for(const a of e)this._sendMessage(a.text,a.attachment)}_applyUiHints(){this._modeController.applyUiHints(this._drawer,this._i18n.inputPlaceholder,()=>{this._clearChoicePrompter()})}_handleRedirectMetadata(e){this._modeController.handleRedirect(e)}_sendAction(e,a){if(a?.skipFullSheet||this._ensureMobileFullSheetForPanel(),this._activeTypewriter?.cancel(),this._activeTypewriter=null,this._activeTtsHandle?.stop(),this._activeTtsHandle=null,this._lastSentAction={action:e,options:a},!this._initComplete){this._pendingActions.length<10&&this._pendingActions.push({action:e,options:a});return}if(this._clearChoicePrompter(),a?.preservePanel||Fr(),!a?.preservePanel&&this._comparisonSelectMode&&e.type!=="getComparisonTable"&&(this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[]),a?.preservePanel||(this._localPanelHistory=[]),this._currentThreadId&&this._lastThreadId&&this._lastThreadId>this._currentThreadId){const x=this._currentThreadId,N=this._messages.filter(I=>I.threadId!==void 0&&I.threadId>x);this._messages=this._messages.filter(I=>!I.threadId||I.threadId<=x);for(const I of N)this._shadow?.querySelector(`[data-message-id="${ve(I.id)}"]`)?.remove(),this._panel?.deleteSnapshotForMessage(I.id);this._panel?.pruneThreadsAfter(x),this._shadow?.querySelectorAll("[data-thread-id]")?.forEach(I=>{I instanceof HTMLElement&&I.dataset.threadId&&I.dataset.threadId>x&&I.remove()})}a?.preservePills||this._drawer?.setPills([]),this._drawer?.clearInputAreaChips();let n=!1;const i=x=>{n!==x&&(n=x,this._bridge?.send("isResponding",x))};i(!0);const r=Qn();this._currentThreadId=r,this._lastThreadId=r,this._panel&&!yo.has(e.type)&&(this._panel.lastActionType=e.type);const o=a?.preservePanel===!0,s=a?.silent===!0&&a?.isContextPrime===!0,c=s&&e.type==="launchSingleProduct";let l;if(o||(this._activeRequestThreadId=r),!a?.silent&&!o&&this._drawer?.setPresentationFocus(r),!a?.silent){const x=typeof e.payload=="string"?e.payload:typeof e.payload?.text=="string"?e.payload.text:e.title,N=this._messages.length>0?this._messages[this._messages.length-1]:void 0;if(!(N!==void 0&&N.role==="user"&&N.content===x)){(!this._messages.some(B=>B.role==="user")||this._drawer?.isKvkkBannerVisible())&&(gn(this.config.accountId),this._drawer?.hideKvkkBanner());const I=this._createMessage("user",x);I.threadId=r,a?.attachment!==void 0&&(I.attachment=a.attachment),this._drawer?.addMessage(I),a?.attachment!==void 0&&this._modeController.isBeautyConsulting&&this._drawer?.setBeautyPhotoStepCard({visible:!1}),this._messages.push(I),this._persistHistoryToLocalStorage()}}const p=!a?.silent&&this._assistantMode==="shopping"&&this._hasUnavailableProductContext()&&(e.type==="user_message"||e.type==="inputText");let d=this._currentPanelSource,h=!1;const f=e.type==="user_message"||e.type==="inputText",b=()=>{h||a?.preservePanel||(d=this._currentPanelSource,h=!0)},m=()=>{if(this._drawer?.isPanelLoading()){if(!f&&d){const x=this._buildRenderContext(),N=this._renderPanelFromSource(d,x);this._drawer.setPanelContent(N),this._currentPanelSource=d}else this._drawer.clearPanel(),this._currentPanelSource=null;d=null}};e.type==="getComparisonTable"&&(this._drawer?.showPanelLoading("comparisonTable"),this._panel?.updateTopBarForLoading("comparisonTable")),!a?.silent&&!o&&this._pruneEmptyStreamingAssistantPlaceholders(),this._drawer?.showTypingIndicator();let u="";const g=this._createMessage("assistant","");g.threadId=r,g.status="streaming",a?.silent&&(g.silent=!0),this._messages.push(g),this._presentation.registerAssistantActivity(r),this._focusPresentationThread(r,"smooth",a?.silent||o),a?.preservePanel||(this._contextPrimingInFlight&&!s&&(this._contextPrimingInFlight=!1,this._queuedUserMessages=[]),this._abortAllActiveRequests());const v={middlewareUrl:this.config.middlewareUrl,...this.config.accountId?{accountId:this.config.accountId}:{},...this.config.injectorAdapter?{injectorAdapter:this.config.injectorAdapter}:{}};a?.attachment!==void 0&&(v.attachment=a.attachment);const _=this._getVisibleMessages().filter(x=>!x.frontendOnly&&x!==g&&(x.content||x.role==="assistant")).slice(-50).map(x=>({role:x.role==="user"?"user":"model",content:x.content??""})),y={outputLanguage:wp(this.config.locale),parentUrl:window.location.href,windowWidth:String(window.innerWidth),windowHeight:String(window.innerHeight),selfUrl:"",id:this.config.session?.sessionId??"",userId:this.config.session?.userId??"",appId:this.config.accountId,threads:[],createdAt:this._chatCreatedAt,kvkkApproved:ho(this.config.accountId),voiceEnabled:this.config.voiceEnabled??!1,threadId:r,isControlGroup:this.config.session?.abTestVariant==="control",isMobile:this._isMobileViewport};this.config.isDemoWebsite===!0&&(y.openPdpSimilars=!0),this._modeController.isShopping||(y.assistantMode=this._modeController.mode),this.config.session?.viewId!==void 0&&(y.viewId=this.config.session.viewId);const k=cl(e,{pageContext:this.config.pageContext,backendContext:this._lastBackendContext,isMobile:this._isMobileViewport}),T={account_id:this.config.accountId,session_id:this.config.session?.sessionId??"",correlation_id:this.config.session?.sessionId??"",type:k.type,locale:He(this.config.locale),meta:y,context:{...this._lastBackendContext??{},messages:_,session_id:this.config.session?.sessionId??""}};this.config.session?.userId!==void 0&&(T.user_id=this.config.session.userId),this.config.session?.viewId!==void 0&&(T.view_id=this.config.session.viewId),k.payload!==void 0&&(T.payload=k.payload),!p&&this.config.pageContext?.sku!==void 0&&(T.sku=this.config.pageContext.sku),!p&&this.config.pageContext?.pageType!==void 0&&(T.page_type=this.config.pageContext.pageType);let w=!1,E=!1,z=!1,$=!1,K=!1,oe=!1;const ie=ql();let A=null,D=null;const C=()=>{if(this._drawer&&!$){if(!z){this._drawer.setPanelAiZoneState("hidden");return}K?this._drawer.setPanelAiZoneState("hidden"):this._drawer.setPanelAiZoneState("analyzing",{analyzingLabel:this._i18n.aiAnalysisAnalyzingLabel})}},M=x=>{if(!A||!this._drawer)return;const N=this._buildRenderContext();N.isStreaming=x;const I=this._renderUISpec(A,N);$=!0,this._drawer.setPanelAiZoneState("results",{resultEl:I}),A=null},O=(x,N,I)=>{if(x==="ProductGrid"||x==="CategoriesContainer"){z=!0,M(I),C();return}N!=="appendSimilars"&&N!=="append"&&(z=!1,$=!1,A=null,this._drawer?.setPanelAiZoneState("hidden"))},U=x=>(x==="ProductGrid"||x==="CategoriesContainer")&&(z||$||A!==null),R=()=>{oe||(oe=!0,this._drawer?.removeTypingIndicator(),i(!1),this._bridge?.send("loadingMessage",{text:null}))},ne=(x,N,I)=>{if(!this._drawer||!this._panel)return;const B=x.elements[x.root];if(I==="ProductGrid"&&B){const q=Za(B);if(q.isConsulting){const j=this._drawer.getPanelContentElement();if(j&&Sd(j,q,N)){this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,this._drawer.setComparisonDockContent(null),this._currentPanelSource={kind:"spec",spec:x},this._panel.currentType=I,this._drawer.resyncPanelTopBarFromCurrentContent();return}}}this._comparisonSelectMode=!1,this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,this._drawer.setComparisonDockContent(null),this._drawer.setPanelContent(this._renderUISpec(x,N),{preserveAiZone:U(I)}),this._currentPanelSource={kind:"spec",spec:x},this._panel.currentType=I},ae=(x,N,I,B)=>{if(!this._panel)return;x==="ProductDetailsPanel"&&e.type==="launchSingleProduct"&&this._clearUnavailableProductContext(),g.threadId&&this._panel.threads[this._panel.threads.length-1]!==g.threadId&&this._panel.threads.push(g.threadId),this._isMobileViewport&&x==="ProductGrid"&&this._ensureMobilePanelOverlayVisible();const q=this._panel.currentType??x,j=N?.props?.panelTitle;this._panel.updateTopBar(q,j),this._panel.updateExtendedMode(x),this._isMobileViewport&&c&&this._drawer?.hideMobilePanel(),O(x,I,B)};let V=null;if(V=dl(T,{onTextChunk:(x,N,I)=>{if(!o&&r!==this._activeRequestThreadId||(u+=x,Tp(u)&&R(),I?.skuToProductItem&&(this._skuToProductItem={...this._skuToProductItem,...I.skuToProductItem}),I?.conversationMode&&(this._conversationMode=I.conversationMode),I?.renderHint&&(g.renderHint=I.renderHint),!this._drawer))return;let B=u;const q=I?.kvkk===!0,j=q?{fallbackToFirstBlock:!0}:void 0;if(q||ln(B)){if(N){const X=this.config.accountId;if(!ho(X)){const G=_p(B,j);G&&this._drawer?.showKvkkBanner(G),gn(X)}}B=xp(B,j)}const W=this._shadow?.querySelector(`[data-message-id="${g.id}"] .gengage-chat-bubble-text`);if(W?W.innerHTML=ye(B):(g.content=B,g.role==="assistant"&&g.threadId&&!this._threadsWithFirstBot.has(g.threadId)&&(this._threadsWithFirstBot.add(g.threadId),this._drawer.markFirstBotMessage(g.id)),this._drawer.addMessage(g)),N)if(g.content=B,g.status="done",Fn(),$l(g))this._drawer?.updateBotMessage(g.id,B,"photo_analysis",g.photoAnalysis),g.threadId&&this._focusPresentationThread(g.threadId,"auto");else{const X=this._shadow?.querySelector(`[data-message-id="${g.id}"] .gengage-chat-bubble-text`);if(X){this._activeTypewriter?.cancel();const G=I?.productMentions;this._activeTypewriter=qd({container:X,html:ye(B),onTick:()=>this._drawer?.scrollToBottomIfNeeded(),onComplete:()=>{this._activeTypewriter=null,G&&G.length>0&&X&&$d({container:X,mentions:G,onProductClick:se=>{this._sendAction({title:G.find(ge=>ge.sku===se)?.short_name??se,type:"launchSingleProduct",payload:{sku:se}})}})}})}}},onUISpec:(x,N,I,B)=>{if(!o&&r!==this._activeRequestThreadId||N!=="chat")return;B&&(this._clearAssistantPanelLikeStreamClearPanel(),w=!1,D=null);const q=x.elements[x.root],j=q?.type??"unknown";if(jl(j,q?.props??{},ie,{drawer:this._drawer,ensureRendered:()=>this._ensureAssistantMessageRendered(g),cancelTypewriter:()=>{this._activeTypewriter?.cancel(),this._activeTypewriter=null},sendSkipMessage:()=>this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),streamDone:K},g)){j==="PhotoAnalysisCard"&&g.threadId&&this._focusPresentationThread(g.threadId,"auto");return}const W=Xt(q),X=this.config.productDetailsExtended!==!0&&(j==="ProductDetailsPanel"||W);X&&!B&&(this._clearAssistantPanelLikeStreamClearPanel(),w=!1);const G=j==="ProductDetailsPanel"&&I!=="panel"?"panel":I,se=this._buildRenderContext();if(se.isStreaming=!0,j==="ComparisonTable"){const F=q?.props?.products;us(Array.isArray(F)?F.length:0)}if(j==="ProductGrid"){const F=q?.children?.length??0;bs(void 0,F)}const ge=G==="panel"&&this._panel?this._panel.toPanelSpec(x):x;if(G==="panel"&&this._panel&&!X&&j==="ProductGrid"&&q){const F=Za(q);if(F.isConsulting&&!Cd(F)){D=x;return}F.isConsulting&&(D=null)}if(Ep(q)&&R(),G==="panel"&&this._panel&&!X){const F=!E;E=!0;const Y=q?.props?.replacePanel===!0,Q=q?.props?.rankingState,J=Y||Q==="pending"||Q==="final"?"replace":ep({componentType:j,similarsAppend:q?.props?.similarsAppend===!0,currentPanelType:this._panel.currentType,hasPanelContent:this._drawer?.hasPanelContent()??!1,isPanelLoading:this._drawer?.isPanelLoading()??!1,isFirstPanelContentInStream:F});se.panelProductListHeading=void 0,j==="ProductGrid"&&(J==="appendSimilars"?se.panelProductListHeading=this._i18n.similarProductsLabel??"Similar Products":this._applyPanelListHeadingToContext(se,{kind:"spec",spec:ge})),J==="appendSimilars"?this._appendSimilarsToPanel(ge,se):J==="append"?(this._drawer?.appendPanelContent(this._renderUISpec(ge,se)),this._comparisonSelectMode&&this._refreshComparisonUI()):ne(ge,se,j),ae(j,q,J,!0)}if(j==="ProductDetailsPanel"&&G==="panel"&&(!g.silent||c)){const F=q?.props?.product;if(F){c&&(l=F),this._currentInlineProductSummaryRecord=F;const Y={root:"root",elements:{root:{type:"ProductSummaryCard",props:{product:F}}}},Q=this._shadow?.querySelector(".gengage-chat-messages");if(Q){const J=this._renderUISpec(Y,se);g.threadId&&(J.dataset.threadId=g.threadId);const be=this._shadow?.querySelector(`[data-message-id="${g.id}"]`);be&&be.parentNode===Q?be.after(J):Q.appendChild(J),this._scrollInlineIntoView(J,g.threadId),this._drawer?.refreshPresentationCollapsed(),E=!0}}}const S=j==="AITopPicks"||j==="AIGroupingCards",P=j==="ActionButtons"?q?.props?.buttons:void 0,H=j==="ActionButtons"&&this._modeController.mode!=="shopping"&&Array.isArray(P)&&P.length>0&&P.every(F=>F.action?.type==="inputText");let Z=!1,re=!1;if(X&&W&&(se.panelProductListHeading=this._i18n.similarProductsLabel??"Similar Products"),S&&(!g.silent||s))if(g.threadId&&this._rememberPanelAiSpec(g.threadId,x),z){const F=this._renderUISpec(x,se);$=!0,this._drawer?.setPanelAiZoneState("results",{resultEl:F}),Z=!0,A=null}else A=x,re=!0;const ce=s&&(j==="GroundingReviewCard"||S);if(!S&&(!g.silent||ce)&&(G!=="panel"||j==="ProductCard"||X&&j==="ProductGrid"&&!W)&&(j!=="ActionButtons"||H)&&!Z&&!(re&&S)){const F=this._shadow?.querySelector(".gengage-chat-messages");if(F){const Y=this._renderUISpec(x,se);g.threadId&&(Y.dataset.threadId=g.threadId),F.appendChild(Y),this._scrollInlineIntoView(Y,g.threadId),this._drawer?.refreshPresentationCollapsed(),X&&j==="ProductGrid"&&(E=!0)}}if((j==="ProductGrid"||j==="ProductCard")&&g.threadId){const F=q?.children??[],Y=j==="ProductGrid"?F.map(Q=>x.elements[Q]?.props?.product).filter(Boolean):[q?.props?.product].filter(Boolean);for(const Q of Y){const J=Q.sku;J&&this._viewedProductSkus.add(J)}}if(j==="ProductGrid"||j==="ProductDetailsPanel"){const F=(j==="ProductGrid"?(q?.children??[]).map(Y=>x.elements[Y]?.props?.product).filter(Boolean):[q?.props?.product??q?.props].filter(Boolean)).map(Y=>Y.imageUrl).filter(Y=>typeof Y=="string").slice(0,5);F.length>0&&this._bridge?.send("previewImages",{images:F})}const fe=q?.children?.length??0;if(j==="ProductGrid"&&G==="panel"&&!X&&fe>1&&!this._isMobileViewport&&!this._modeController.isChoicePrompterHidden&&!this._comparisonSelectMode&&!Yd(this._currentThreadId??"")&&(this._clearChoicePrompter(),this._choicePrompterEl=Kd({heading:this._i18n.choicePrompterHeading,suggestion:this._i18n.choicePrompterSuggestion,ctaLabel:this._i18n.choicePrompterCta,threadId:this._currentThreadId??"",dismissAriaLabel:this._i18n.dismissAriaLabel,onCtaClick:()=>{this._comparisonSelectMode=!0,this._choicePrompterEl=null,this._refreshComparisonUI()},onDismiss:()=>{this._choicePrompterEl=null}}),this._mountChoicePrompter()),j==="ActionButtons"){const F=q?.props?.buttons;if(F&&F.length>0&&!H){const Y=[],Q=[];for(const J of F)if(Gd(J)){const be={label:J.label,action:J.action};J.icon&&(be.icon=J.icon),Y.push(be)}else Q.push(J);Y.length>0&&this._drawer?.setInputAreaChips(Y.map(J=>({label:J.label,onAction:()=>this._sendAction(J.action),...J.icon?{icon:J.icon}:{}}))),Q.length>0&&this._drawer?.setPills(Q.map(J=>{const be={label:J.label,onAction:()=>this._sendAction(J.action)};return J.icon&&(be.icon=J.icon),J.image&&(be.image=J.image),J.description&&(be.description=J.description),be}))}}C(),g.uiSpec=x},onAction:x=>{if(!(!o&&r!==this._activeRequestThreadId)&&x.type==="action"){const N={};this.config.actionHandling?.unknownActionPolicy!==void 0&&(N.unknownActionPolicy=this.config.actionHandling.unknownActionPolicy),this.config.actionHandling?.allowScriptCall!==void 0&&(N.allowScriptCall=this.config.actionHandling.allowScriptCall),Vs(x,{openChat:()=>this.open(),navigate:I=>{he(I.url)&&(this._bridge?.send("navigate",I),I.newTab?window.open(I.url,"_blank","noopener,noreferrer"):window.location.href=I.url)},saveSession:I=>this.saveSession(I.sessionId,I.sku),addToCart:I=>{this._runChatAddToCartFlow(I)},scriptCall:I=>{me("gengage:chat:script-call",I),this.config.onScriptCall?.(I)}},N)}},onMetadata:x=>{if(!(!o&&r!==this._activeRequestThreadId)&&x.type==="metadata"&&x.meta){if(x.meta.panel!==void 0||x.meta.messages!==void 0||x.meta.message_id!==void 0){this._lastBackendContext=x.meta;const N=ke(x.meta.panel);N&&(this._modeController.updateFromContext(N),this._applyUiHints())}if(x.meta.panelLoading){const N=typeof x.meta.panelPendingType=="string"?x.meta.panelPendingType:void 0;this.config.productDetailsExtended!==!0&&(N==="productDetails"||N==="productDetailsSimilars")||(w=!0,E=!1,b(),this._panel&&(this._panel.currentType=null),this._drawer?.showPanelLoading(N),this._isMobileViewport&&N==="productList"&&this._ensureMobilePanelOverlayVisible(),N&&this._panel?.updateTopBarForLoading(N))}if(x.meta.voice){const N=new CustomEvent("gengage:chat:voice",{detail:{payload:x.meta.voice},bubbles:!1,cancelable:!0}),I=window.dispatchEvent(N);if(ws(),I){const B=x.meta.voice;B.audio_base64&&(this._activeTtsHandle?.stop(),this._activeTtsHandle=Hd(B.audio_base64,B.content_type??"audio/ogg"))}}if((x.meta.redirectTarget||x.meta.redirect)&&(me("gengage:chat:redirect",{target:x.meta.redirectTarget??null,payload:x.meta.redirect??null}),Be("redirect","redirect dispatched",{target:x.meta.redirectTarget??null}),this._handleRedirectMetadata(x.meta.redirect)),x.meta.analyzeAnimation&&this.config.productDetailsExtended===!0&&(w=!0,E=!1,b(),this._panel&&(this._panel.currentType=null),this._drawer?.showPanelLoading(),this._panel?.updateTopBarForLoading("productDetails")),x.meta.loading){const N=Array.isArray(x.meta.thinkingMessages)?x.meta.thinkingMessages.filter(B=>typeof B=="string"):[],I=typeof x.meta.loadingText=="string"?x.meta.loadingText:void 0;if(N.length>0){const B=I&&this._modeController.shouldCondenseThinking()?[...N.slice(0,2),I]:N;this._drawer?.setThinkingSteps(B)}typeof I=="string"&&I.length>0&&(this._drawer?.addThinkingStep(I),oe||this._bridge?.send("loadingMessage",{text:I}))}x.meta.visitorDataResponse&&this._bridge?.send("engagingMessage",x.meta.visitorDataResponse),x.meta.formType&&this._bridge?.send("glovForm",{type:x.meta.formType,data:x.meta.formPayload}),x.meta.launcherContent&&this._bridge?.send("launcherContent",x.meta.launcherContent),me("gengage:chat:metadata",{payload:x.meta})}},onError:x=>{if(V&&this._abortControllers.delete(V),!o&&r!==this._activeRequestThreadId)return;K=!0,this._activeTypewriter?.cancel(),this._activeTypewriter=null,C(),A=null,D=null,i(!1),this._bridge?.send("loadingMessage",{text:null}),this._drawer?.removeTypingIndicator(),this._drawer?.clearInputAreaChips(),Gl(ie,{drawer:this._drawer,ensureRendered:()=>{},cancelTypewriter:()=>{},sendSkipMessage:()=>this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),streamDone:!0});const N=E;w&&!E&&m(),w=!1,E=!1;const I=g.content!=null&&g.content.length>0||u.length>0||N,B=g.silent||I,q=typeof navigator<"u"&&navigator.onLine===!1&&ua(x),j=()=>{this._shadow?.querySelector(`[data-message-id="${ve(g.id)}"]`)?.remove();const G=this._messages.indexOf(g);G>=0&&this._messages.splice(G,1)};let W=!1;const X=()=>{if(q)return;this.emit("error",x);const G=x.message;G===this._lastErrorMessage?this._consecutiveErrorCount++:(this._consecutiveErrorCount=1,this._lastErrorMessage=G);const se=x.message.trim(),ge=se.length>0?se:this._i18n.errorMessage,S={onRetry:()=>{this._lastSentAction&&this._sendAction(this._lastSentAction.action,this._lastSentAction.options)},onNewQuestion:()=>{this._drawer?.focusInput()}};if(this._consecutiveErrorCount>=2){j(),W=!0,this._drawer?.showErrorWithRecovery(this._i18n.accountInactiveMessage,S);return}if(vp(x,ge)){j(),W=!0,this._drawer?.showErrorWithRecovery(ge,S);return}g.content=ge,g.status="done";const P=ye(ge.replace(/\r\n/g,`
547
547
  `).split(`
548
- `).join("<br />"));this._ensureAssistantMessageRendered(g),this._drawer?.updateBotMessage(g.id,T),this._drawer?.showRecoveryPillsOnly(S)};if(s&&!I)if(c||this._hasUnavailableProductContext()){this._drawer?.setPills([]);const Y=this._i18n.productNotFoundMessage;g.content=Y,g.status="done",this._ensureAssistantMessageRendered(g),this._drawer?.updateBotMessage(g.id,Y),this._markUnavailableProductContext()}else g.status="done";else if(B)this._drawer?.setPills([]),g.silent||J();else if(J(),q)return;s&&(this._contextPrimingInFlight=!1,this._flushQueuedUserMessages()),!$&&g.status==="streaming"&&(g.status="error")},onDone:()=>{if(G&&this._abortControllers.delete(G),!o&&r!==this._activeRequestThreadId)return;if(W=!0,D&&this._panel&&this._drawer){const q=this._buildRenderContext();q.isStreaming=!1;const j=D.elements[D.root],$=this._panel.toPanelSpec(D);this._applyPanelListHeadingToContext(q,{kind:"spec",spec:$});const J=j?.type??"ProductGrid";ne($,q,J),ae(J,j,"replace",!1),E=!0}D=null,A&&M(!1),C(),this._activeRequestThreadId=null,this._consecutiveErrorCount=0,this._lastErrorMessage="",i(!1),this._bridge?.send("loadingMessage",{text:null}),this._drawer?.removeTypingIndicator(),Vl(ie,{drawer:this._drawer,ensureRendered:()=>{},cancelTypewriter:()=>{},sendSkipMessage:()=>this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),streamDone:!0});const x=E;if(w&&!E&&m(),w=!1,c&&!u&&!x){const q=this._i18n.productNotFoundMessage;g.content=q,this._ensureAssistantMessageRendered(g),this._drawer?.updateBotMessage(g.id,q),this._markUnavailableProductContext()}if(E=!1,s){this._contextPrimingInFlight=!1;const q=this._queuedUserMessages.length>0;this._flushQueuedUserMessages(),!q&&c&&this._ensurePdpPrimeSuggestedUiIfNeeded(l)}g.status==="streaming"&&(g.status="done",Fn()),this._presentation.finalizeAssistantGroup(r);const N=this._shadow?.querySelector(".gengage-chat-comparison-toggle-btn--hidden");N&&(N.classList.remove("gengage-chat-comparison-toggle-btn--hidden"),N.classList.add("gengage-chat-comparison-toggle-btn--reveal")),this.emit("message",g);const I=this._currentPanelSource,B=I?this._clonePanelSourceForHistory(I):null;this._panel?.snapshotForMessage(g.id,B?{source:B,threadId:g.threadId,rebuild:()=>{const q=this._buildRenderContext();return this._renderPanelFromSource(B,q)}}:void 0),this._maybeAddPanelRestoreMessage(g),this._persistConversationState()}},v),this._abortControllers.add(G),!a?.silent&&!o){const x=G;this._drawer?.showStopButton(()=>{x.abort(),this._abortControllers.delete(x),this._drawer?.removeTypingIndicator(),i(!1),this._bridge?.send("loadingMessage",{text:null}),g.status==="streaming"&&(g.status="done")})}}_getVisibleMessages(){const e=this._messages.filter(n=>!n.silent);if(!this._currentThreadId)return e;const a=this._currentThreadId;return e.filter(n=>!n.threadId||n.threadId<=a)}_appendSimilarsToPanel(e,a){if(!this._drawer)return;const n=this._drawer.getPanelContentElement();if(!n)return;a.panelProductListHeading=this._i18n.similarProductsLabel??"Similar Products";const i=this._renderUISpec(e,a);i.classList.add("gengage-chat-product-details-similars"),n.appendChild(i),this._mergePanelSourceWithSimilars(e)}_coerceSkuKey(e){return typeof e=="string"?e.trim():typeof e=="number"&&Number.isFinite(e)?String(e).trim():""}_productSkuKey(e){return e?this._coerceSkuKey(e.sku):""}_pdpPageContextSkuKey(){const e=this.config.pageContext?.pageType;return typeof e!="string"||e.toLowerCase()!=="pdp"?null:this._coerceSkuKey(this.config.pageContext?.sku)||null}_productDetailsRecordFromSpec(e){if(!e)return null;const a=e.elements[e.root];if(!a||a.type!=="ProductDetailsPanel")return null;const n=ke(a.props);return ke(n?.product)??n??null}_productGridRecordFromSpec(e,a){if(!e)return null;const n=e.elements[e.root];if(!n||n.type!=="ProductGrid")return null;const i=Object.values(e.elements).filter(o=>o.type==="ProductCard").map(o=>ke(o.props?.product)).filter(o=>o!==null);if(i.length===0)return null;const r=this._coerceSkuKey(a);if(r){const o=i.find(s=>this._productRecordMatchesSku(s,r));if(o)return o}return i.length===1?i[0]:null}_productRecordMatchesSku(e,a){if(this._coerceSkuKey(e.sku)===a||this._coerceSkuKey(e.group_id??e.groupId)===a)return!0;const n=ke(e.extras);return this._coerceSkuKey(n?.group_id??n?.groupId)===a}_getCurrentPanelProductRecord(){const e=this._currentPanelSource;return e?e.kind==="spec"?this._productDetailsRecordFromSpec(e.spec):e.kind==="productDetailsWithSimilars"?this._productDetailsRecordFromSpec(e.pdpSpec):null:null}_getCurrentPanelProductGridRecord(e){const a=this._currentPanelSource;return a?a.kind==="spec"?this._productGridRecordFromSpec(a.spec,e):a.kind==="productDetailsWithSimilars"?this._productGridRecordFromSpec(a.similarsSpec,e):null:null}_panelSourceFromMessage(e){const a=e?.uiSpec;if(!a)return null;const n=a.elements[a.root];return!n||hn.has(n.type)?null:{kind:"spec",spec:a}}_getLatestProductDetailsRecord(){for(let e=this._messages.length-1;e>=0;e-=1){const a=this._productDetailsRecordFromSpec(this._messages[e]?.uiSpec);if(a)return a}return null}_getLatestProductGridRecord(e){for(let a=this._messages.length-1;a>=0;a-=1){const n=this._productGridRecordFromSpec(this._messages[a]?.uiSpec,e);if(n)return n}return null}_getInlinePdpProductRecord(){const e=this._pdpPageContextSkuKey();if(!e)return null;const a=this._currentInlineProductSummaryRecord;return a&&this._coerceSkuKey(a.sku)===e?a:null}_getCurrentPanelProductSku(){const e=this._getCurrentPanelProductRecord();return e&&this._coerceSkuKey(e.sku)||null}_activeSkuForProductSummaryClick(){const e=this._getCurrentPanelProductSku();return e||this._pdpPageContextSkuKey()}_mergePanelSourceWithSimilars(e){const a=this._currentPanelSource;a?.kind==="spec"&&this._panel?.currentType==="ProductDetailsPanel"&&(this._currentPanelSource={kind:"productDetailsWithSimilars",pdpSpec:a.spec,similarsSpec:e})}_renderProductDetailsWithSimilars(e,a,n){this._applyPanelListHeadingToContext(n,{kind:"productDetailsWithSimilars",pdpSpec:e,similarsSpec:a});const i=this._renderUISpec(e,n),r=this._renderUISpec(a,n);return r.classList.add("gengage-chat-product-details-similars"),i.appendChild(r),i}_applyPanelListHeadingToContext(e,a){if(e.panelProductListHeading=void 0,!!this._panel){if(a.kind==="spec"){const n=a.spec.elements[a.spec.root];n?.type==="ProductGrid"&&(n.children?.length??0)>0&&(e.panelProductListHeading=this._panel.titleForComponent("ProductGrid",n.props?.panelTitle??void 0))}else if(a.kind==="productDetailsWithSimilars"){const n=a.similarsSpec.elements[a.similarsSpec.root];n?.type==="ProductGrid"&&(n.children?.length??0)>0&&(e.panelProductListHeading=this._i18n.similarProductsLabel??"Similar Products")}}}_clonePanelSourceForHistory(e){try{return structuredClone(e)}catch{return e}}_renderPanelFromSource(e,a){return this._applyPanelListHeadingToContext(a,e),e.kind==="favorites"?this._buildFavoritesPageEl():e.kind==="history"?this._buildHistoryPageEl():e.kind==="productDetailsWithSimilars"?this._renderProductDetailsWithSimilars(e.pdpSpec,e.similarsSpec,a):this._renderUISpec(e.spec,a)}_handleRollback(e){const a=this._messages.find(n=>n.id===e);a?.threadId&&this._rollbackToThread(a.threadId)}_ensureMobileFullSheetForPanel(){!this._drawerVisible||!this._isMobileViewport||this._openState==="full"||(this._openState="full",this._applyOpenStateClasses())}_ensureMobilePanelOverlayVisible(){!this._drawerVisible||!this._isMobileViewport||(this._ensureMobileFullSheetForPanel(),this._drawer?.showMobilePanel())}_ensurePdpPrimeSuggestedUiIfNeeded(e){const a=this._resolvePdpPrimeSku(e);if(!a||!this._drawer||this._hasUnavailableProductContext())return;const n=this._buildPdpPrimeFindSimilarPayload(a,e),i=e!==void 0?this._productNumber(e,"review_count","reviewCount"):void 0,r="product",o=this._resolveContextualOpeningActions(r);if(o.length>0){this._drawer.setInputAreaChips(o.map(s=>({label:s.title,onAction:()=>this._sendAction(this._resolveContextualOpeningAction(s,r)),...s.icon?{icon:s.icon}:{}})));return}this._drawer.setInputAreaChips([...this.config.hideUserReviews!==!0&&i&&i>0?[{label:this._i18n.groundingReviewCta,icon:"review",onAction:()=>this._sendAction({title:this._i18n.customerReviewsTitle,type:"reviewSummary",payload:{sku:a}})}]:[],{label:this._i18n.findSimilarLabel,icon:"similar",onAction:()=>this._sendAction({title:this._i18n.findSimilarLabel,type:"findSimilar",payload:n})}])}_resolvePdpPrimeSku(e){return this.config.pageContext?.sku?this.config.pageContext.sku:e!==void 0?this._productString(e,"sku","id"):void 0}_buildPdpPrimeFindSimilarPayload(e,a){const n={sku:e};if(a===void 0)return n;const i=this._productString(a,"name","productName","product_name","title");return i!==void 0&&(n.product_name=i),n}_productString(e,...a){for(const n of a){const i=e[n];if(typeof i=="string"&&i.trim().length>0)return i.trim()}}_productNumber(e,...a){for(const n of a){const i=e[n];if(typeof i=="number"&&Number.isFinite(i))return i;if(typeof i=="string"&&i.trim().length>0){const r=Number(i);if(Number.isFinite(r))return r}}}_rollbackToThread(e){if(this._panel&&this._panel.threads.length>0&&!this._panel.threads.includes(e)&&!this._messages.some(s=>s.threadId===e))return;this._currentThreadId=e,this._extendedModeManager?.setHiddenByUser(!1),this._lastThreadId!=null&&e===this._lastThreadId?(this._presentation.setFocusedThreadId(e),this._drawer?.setPresentationFocus(e)):(this._presentation.releaseFocusedThread(),this._drawer?.setPresentationFocus(null)),this._drawer?.setFormerMessagesButtonVisible(!1);for(const s of this._messages){const c=this._shadow?.querySelector(`[data-message-id="${ve(s.id)}"]`);c&&(s.threadId&&s.threadId>e?c.classList.add("gengage-chat-bubble--hidden"):c.classList.remove("gengage-chat-bubble--hidden"))}this._shadow?.querySelectorAll("[data-thread-id]").forEach(s=>{s instanceof HTMLElement&&s.dataset.threadId&&s.dataset.threadId>e?s.classList.add("gengage-chat-bubble--hidden"):s instanceof HTMLElement&&s.classList.remove("gengage-chat-bubble--hidden")});const a=this._messages.find(s=>s.role==="assistant"&&s.threadId===e),n=this._panel?.threads.includes(e)??!1,i=(a?this._panel?.sourceForMessage(a.id):null)??this._panel?.sourceForThread(e)??(n?this._panelSourceFromMessage(a):null);let r=a?this._panel?.restoreForMessage(a.id)??!1:!1;if(!r&&i){const s=this._buildRenderContext();this._drawer?.setPanelContent(this._renderPanelFromSource(i,s)),this._currentPanelSource=i,this._panel&&(this._panel.currentType=this._panel.componentTypeForSource(i)),r=!0}r||(this._drawer?.clearPanel(),this._currentPanelSource=null,this._drawer?.setPanelAiZoneState("hidden")),r&&(this._currentPanelSource=i,this._restorePanelAiZoneForThread(e));const o=this._panel.currentType??"";if(this._panel?.updateTopBar(o),this._drawer?.setPills([]),requestAnimationFrame(()=>{this._drawer?.scrollThreadIntoView(e,"auto")}),this._session?.db&&this.config.session?.sessionId){const s=this.config.session.sessionId;(async()=>{try{const c=await this._session?.db?.loadContext(s,e);c&&(this._lastBackendContext=c.context),await this._session?.db?.deleteContextsAfterThread(s,e)}catch{}})()}this._persistHistoryToLocalStorage()}_persistHistoryToLocalStorage(){if(!this._historyStorage)return;const e=this._activeHistorySessionId??this._historyStorage.findSessionId(this.config.session?.sessionId??"",this._chatCreatedAt)??this._historyStorage.createHistoryId(),a=this._historyStorage.saveSession({historyId:e,userId:this.config.session?.userId??"",appId:this.config.accountId,sourceSessionId:this.config.session?.sessionId??"",messages:this._messages,currentThreadId:this._currentThreadId,lastThreadId:this._lastThreadId,chatCreatedAt:this._chatCreatedAt,panelSnapshots:this._panel?.snapshots??new Map,panelSnapshotTypes:this._panel?.snapshotTypes??new Map,panelThreads:this._panel?.threads??[],panelAiSpecByThread:this._panelAiSpecByThread,lastBackendContext:this._lastBackendContext,pageType:this.config.pageContext?.pageType,sku:this.config.pageContext?.sku,attachmentPlaceholder:this._i18n.historyImageAttachmentLabel});a&&(this._activeHistorySessionId=a.id)}_persistConversationState(){this._persistHistoryToLocalStorage(),this._persistToIndexedDB().catch(()=>{})}async _persistConversationStateForNavigation(){this._persistHistoryToLocalStorage(),await this._persistToIndexedDB()}_formatHistoryTimestamp(e){try{return new Intl.DateTimeFormat(He(this.config.locale),{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(e))}catch{return e}}_resolvePanelRestorePreviewLabel(e){for(let a=e.messages.length-1;a>=0;a--){const n=e.messages[a];if(!n||n.silent||!n.uiSpec)continue;const i=n.uiSpec.elements[n.uiSpec.root];if(i?.type!=="PanelRestoreCard")continue;const r=i.props??{},o=typeof r.ctaLabel=="string"?r.ctaLabel.trim():"";if(o.length>0)return o}return null}_resolveHistoryPreviewText(e){const a=(e.preview||"").trim();if(a&&a!=="PanelRestoreCard")return a;if(!this._historyStorage)return a||e.title;const n=this._historyStorage.loadSession(e.id);if(!n)return a||e.title;const i=this._resolvePanelRestorePreviewLabel(n);return i||a||e.title}_openHistoryPanel(e=!0){if(this._drawer){if(e&&this._currentPanelSource&&this._currentPanelSource.kind!=="history"){const a=this._drawer.getPanelTopBarTitle()??"";this._localPanelHistory.push({source:this._currentPanelSource,title:a}),this._localPanelHistory.length>et._MAX_PANEL_HISTORY&&this._localPanelHistory.shift()}this._drawer.setPanelContent(this._buildHistoryPageEl()),this._currentPanelSource={kind:"history"},this._drawer.updatePanelTopBar(!0,!1,this._i18n.historyPageTitle)}}_buildHistoryPageEl(){const e=document.createElement("div");e.className="gengage-chat-history-page";const a=document.createElement("div");a.className="gengage-chat-history-actions";const n=document.createElement("button");n.type="button",n.className="gengage-chat-history-new-chat",n.textContent=this._i18n.newChatButton,n.addEventListener("click",()=>this._startNewChat()),a.appendChild(n),e.appendChild(a);const i=this._historyStorage?.listSessions()??[];if(i.length===0){const o=document.createElement("div");o.className="gengage-chat-history-empty",o.innerHTML='<div class="gengage-chat-history-empty-icon" aria-hidden="true"><svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8v5l3 2"/><path d="M3.05 11A9 9 0 1 1 5 17.5"/><path d="M3 8v4h4"/></svg></div>';const s=document.createElement("p");return s.textContent=this._i18n.emptyHistoryMessage,o.appendChild(s),e.appendChild(o),e}const r=document.createElement("div");r.className="gengage-chat-history-list";for(const o of i){const s=document.createElement("div");s.className="gengage-chat-history-item",o.id===this._activeHistorySessionId&&s.classList.add("gengage-chat-history-item--active");const c=document.createElement("button");c.type="button",c.className="gengage-chat-history-open",c.title=o.title,c.setAttribute("aria-label",`${this._i18n.historyAriaLabel}: ${o.title}`),c.addEventListener("click",()=>{this._loadHistorySession(o.id)});const l=document.createElement("div");l.className="gengage-chat-history-item-title-row";const p=document.createElement("span");p.className="gengage-chat-history-item-title",p.textContent=o.title,l.appendChild(p);const d=document.createElement("span");d.className="gengage-chat-history-item-meta",d.textContent=this._formatHistoryTimestamp(o.updatedAt),l.appendChild(d),c.appendChild(l);const h=document.createElement("p");h.className="gengage-chat-history-item-preview",h.textContent=this._resolveHistoryPreviewText(o),c.appendChild(h),s.appendChild(c);const f=document.createElement("button");f.type="button",f.className="gengage-chat-history-delete",f.setAttribute("aria-label",`${this._i18n.historyDeleteLabel}: ${o.title}`),f.title=this._i18n.historyDeleteLabel,f.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6h18"/><path d="M8 6V4h8v2"/><path d="M19 6l-1 14H6L5 6"/><path d="M10 11v6"/><path d="M14 11v6"/></svg>',f.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),window.confirm(this._i18n.historyDeleteConfirmMessage)&&this._deleteHistorySession(o.id)}),s.appendChild(f),r.appendChild(s)}return e.appendChild(r),e}_deleteHistorySession(e){if(!this._historyStorage)return;const a=e===this._activeHistorySessionId;if(this._historyStorage.deleteSession(e),a){this._activeHistorySessionId=null,this._startNewChat();return}this._currentPanelSource?.kind==="history"&&this._openHistoryPanel(!1)}async _loadHistorySession(e){const a=this._historyStorage?.loadSession(e);a&&(this._clearConversationState(!1),this._activeHistorySessionId=a.id,await this._restoreFromHistoryRecord(a))}async _restoreFromHistoryRecord(e){if(this._drawer?.lockScrollForRestore(),e.messages.length>0&&(this.config.pageContext?.pageType==="pdp"&&this.config.pageContext?.sku&&(this._pdpLaunched=!0),this.config.pageContext?.pageType==="plp"&&this.config.pageContext?.skuList?.length&&(this._plpLaunched=!0),this.config.pageContext?.pageType==="home"&&(this._homepageLaunched=!0)),this._currentThreadId=e.currentThreadId,this._lastThreadId=e.lastThreadId,this._currentThreadId&&this._lastThreadId&&this._currentThreadId>this._lastThreadId&&(this._currentThreadId=this._lastThreadId),this._chatCreatedAt=e.createdAt,this._lastBackendContext=e.lastBackendContext,e.panelThreads&&(this._panel.threads=[...e.panelThreads]),e.panelSnapshotHtml)for(const[n,i]of Object.entries(e.panelSnapshotHtml)){const r=document.createElement("div");r.innerHTML=ye(i),this._panel.snapshots.set(n,r)}if(e.panelSnapshotTypes)for(const[n,i]of Object.entries(e.panelSnapshotTypes))this._panel.snapshotTypes.set(n,i);e.panelAiSpecByThread&&this._restorePanelAiSpecMap(e.panelAiSpecByThread);let a=0;for(const n of e.messages){const i={id:n.id,role:n.role,timestamp:n.timestamp,status:n.status};if(n.threadId!==void 0&&(i.threadId=n.threadId),n.content!==void 0&&(i.content=n.content),n.uiSpec!==void 0&&(i.uiSpec=n.uiSpec),n.frontendOnly&&(i.frontendOnly=!0),n.silent&&(i.silent=!0),n.renderHint!==void 0&&(i.renderHint=n.renderHint),n.photoAnalysis!==void 0&&(i.photoAnalysis=n.photoAnalysis),this._messages.push(i),!i.silent){const o=i.role!=="assistant"||!!i.content||!!i.attachment||this._isMessageHostedUISpec(i.uiSpec);i.role==="assistant"&&i.threadId&&o&&!this._threadsWithFirstBot.has(i.threadId)&&(this._threadsWithFirstBot.add(i.threadId),this._drawer?.markFirstBotMessage(i.id)),this._drawer?.addMessage(i),i.role==="assistant"&&i.threadId&&i.uiSpec&&(this._hydrateRestoredUISpecMetadata(i.id,i.threadId,i.uiSpec)||this._restoreInlineUISpec(i))}const r=parseInt(n.id.replace("msg-",""),10);!isNaN(r)&&r>a&&(a=r)}if(a>this._currentMessageId&&(this._currentMessageId=a),this._currentThreadId){const n=[...this._messages].reverse().find(i=>i.role==="assistant"&&i.threadId===this._currentThreadId&&!i.silent);n&&this._panel.snapshots.has(n.id)&&(this._panel?.restoreForMessage(n.id)??!1)&&this._restorePanelAiZoneForThread(this._currentThreadId)}if(this._currentThreadId){const n=this._currentThreadId;for(const i of this._messages)i.threadId&&i.threadId>n&&this._shadow?.querySelector(`[data-message-id="${ve(i.id)}"]`)?.classList.add("gengage-chat-bubble--hidden");this._shadow?.querySelectorAll("[data-thread-id]").forEach(i=>{i instanceof HTMLElement&&i.dataset.threadId&&i.dataset.threadId>n&&i.classList.add("gengage-chat-bubble--hidden")})}this._presentation.releaseFocusedThread(),this._drawer?.setPresentationFocus(null),this._isMobileViewport&&this._drawer?.hasPanelContent()&&this._drawer.hideMobilePanel(),setTimeout(()=>{this._drawer?.scrollToLastThread()},550)}async _persistToIndexedDB(){!this._session||!this.config.session?.sessionId||await this._session.persist({userId:this.config.session.userId??"",appId:this.config.accountId,sessionId:this.config.session.sessionId,messages:this._messages,currentThreadId:this._currentThreadId,lastThreadId:this._lastThreadId,chatCreatedAt:this._chatCreatedAt,panelSnapshots:this._panel?.snapshots??new Map,panelSnapshotTypes:this._panel?.snapshotTypes??new Map,panelThreads:this._panel?.threads??[],panelAiSpecByThread:this._panelAiSpecByThread,lastBackendContext:this._lastBackendContext,sku:this.config.pageContext?.sku})}_isSameOriginUrl(e){try{return e.trim()?new URL(e,window.location.href).origin===window.location.origin:!1}catch{return!1}}_markUnavailableProductContext(){this._productContextUnavailableSku=this.config.pageContext?.sku??null}_clearUnavailableProductContext(){this._productContextUnavailableSku=null}_hasUnavailableProductContext(){const e=this.config.pageContext?.sku;return e!==void 0&&e.length>0&&this._productContextUnavailableSku===e}_ensureAssistantMessageRendered(e){if(!(this._shadow?.querySelector(`[data-message-id="${ve(e.id)}"]`)||!this._drawer)){if(e.role==="assistant"&&e.threadId&&!this._threadsWithFirstBot.has(e.threadId)){this._threadsWithFirstBot.add(e.threadId),this._drawer.addMessage(e),this._drawer.markFirstBotMessage(e.id);return}this._drawer.addMessage(e)}}async _saveSessionAndOpenURL(e){this._session&&await this._session.saveAndOpenURL(e,()=>this._persistConversationStateForNavigation(),this._bridge)}async _loadPayload(e,a){return this._session?this._session.loadPayload(e,a):null}async _restoreFromIndexedDB(e){if(!this._session?.db)return;const a=this.config.session?.sessionId;if(!a)return;const n=this.config.session?.userId??"",i=this.config.accountId;if(await this._session.loadFavorites(n,i),this._drawer?.updateFavoritesBadge(this._session.favoritedSkus.size),!e)return;const r=await this._session.db?.loadSession(n,i,a);if(!r||r.messages.length===0)return;const o=this.config.pageContext?.sku;if(o&&r.sku&&r.sku!==o)return;if(this._pdpLaunched=!0,this._drawer?.lockScrollForRestore(),this._currentThreadId=r.currentThreadId,this._lastThreadId=r.lastThreadId,this._currentThreadId&&this._lastThreadId&&this._currentThreadId>this._lastThreadId&&(this._currentThreadId=this._lastThreadId),this._chatCreatedAt=r.createdAt,r.panelThreads&&(this._panel.threads=r.panelThreads),r.panelSnapshotHtml)for(const[c,l]of Object.entries(r.panelSnapshotHtml)){const p=document.createElement("div");p.innerHTML=ye(l),this._panel.snapshots.set(c,p)}if(r.panelSnapshotTypes)for(const[c,l]of Object.entries(r.panelSnapshotTypes))this._panel.snapshotTypes.set(c,l);r.panelAiSpecByThread&&this._restorePanelAiSpecMap(r.panelAiSpecByThread);let s=0;for(const c of r.messages){const l={id:c.id,role:c.role,timestamp:c.timestamp,status:c.status};if(c.threadId!==void 0&&(l.threadId=c.threadId),c.content!==void 0&&(l.content=c.content),c.frontendOnly&&(l.frontendOnly=!0),c.silent&&(l.silent=!0),this._messages.push(l),l.silent)continue;if(l.role==="assistant"&&l.threadId){const h=await this._loadPayload(l.threadId,l.id);h&&(l.uiSpec=h,this._hydrateRestoredUISpecMetadata(l.id,l.threadId,h))}const p=l.role!=="assistant"||!!l.content||!!l.attachment||this._isMessageHostedUISpec(l.uiSpec);l.role==="assistant"&&l.threadId&&p&&!this._threadsWithFirstBot.has(l.threadId)&&(this._threadsWithFirstBot.add(l.threadId),this._drawer?.markFirstBotMessage(l.id)),this._drawer?.addMessage(l);const d=parseInt(c.id.replace("msg-",""),10);!isNaN(d)&&d>s&&(s=d),l.uiSpec&&(this._isMessageHostedUISpec(l.uiSpec)||this._restoreInlineUISpec(l),delete l.uiSpec)}if(s>this._currentMessageId&&(this._currentMessageId=s),this._currentThreadId){let c=await this._session.db?.loadContext(a,this._currentThreadId);c||(c=await this._session.db?.loadLatestContext(a)),c&&(this._lastBackendContext=c.context)}if(this._currentThreadId){const c=[...this._messages].reverse().find(l=>l.role==="assistant"&&l.threadId===this._currentThreadId&&!l.silent);c&&this._panel.snapshots.has(c.id)&&(this._panel?.restoreForMessage(c.id)??!1)&&this._restorePanelAiZoneForThread(this._currentThreadId)}if(this._currentThreadId){const c=this._currentThreadId;for(const l of this._messages)l.threadId&&l.threadId>c&&this._shadow?.querySelector(`[data-message-id="${ve(l.id)}"]`)?.classList.add("gengage-chat-bubble--hidden");this._shadow?.querySelectorAll("[data-thread-id]").forEach(l=>{l instanceof HTMLElement&&l.dataset.threadId&&l.dataset.threadId>c&&l.classList.add("gengage-chat-bubble--hidden")})}if(this._panel.threads.length>0&&this._currentThreadId){const c=this._panel.threads[this._panel.threads.length-1];if(c){const l=[...this._messages].reverse().find(d=>d.role==="assistant"&&d.threadId===c&&this._panel?.snapshots.has(d.id)),p=l?this._panel?.snapshotTypes.get(l.id):void 0;p&&this._panel?.updateTopBar(p)}}this._presentation.releaseFocusedThread(),this._drawer?.setPresentationFocus(null),setTimeout(()=>{this._drawer?.scrollToLastThread()},550),this._activeHistorySessionId||this._persistHistoryToLocalStorage()}_navigatePanelBack(){const e=this._localPanelHistory.pop();if(e){const a=this._buildRenderContext(),n=this._renderPanelFromSource(e.source,a);this._drawer?.setPanelContent(n),this._currentPanelSource=e.source;const i=this._localPanelHistory.length>0||(this._panel?.threads.length??0)>1;this._drawer?.updatePanelTopBar(i,!1,e.title);return}if(this._currentPanelSource?.kind==="favorites"||this._currentPanelSource?.kind==="history"){this._drawer?.clearPanel(),this._currentPanelSource=null;return}if(this._isMobileViewport){this._drawer?.hideMobilePanel();return}this._panel?.navigateBack()}_toggleComparisonSku(e){if(e==="")this._comparisonSelectMode=!this._comparisonSelectMode,this._comparisonSelectionWarning=null,this._comparisonSelectMode&&(Qd(this._currentThreadId??""),this._clearChoicePrompter()),this._comparisonSelectMode||(this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,hs());else if(this._comparisonSelectedSkus.indexOf(e)>=0)this._comparisonSelectedSkus=this._comparisonSelectedSkus.filter(a=>a!==e),this._comparisonSelectionWarning=null;else{if(this._comparisonSelectedSkus.length>=et._MAX_COMPARISON_SELECTION){this._comparisonSelectionWarning=this._i18n.compareMaxHint??`You can select up to ${et._MAX_COMPARISON_SELECTION} products`,this._comparisonRefreshRafId!==null&&cancelAnimationFrame(this._comparisonRefreshRafId),this._comparisonRefreshRafId=requestAnimationFrame(()=>{this._comparisonRefreshRafId=null,this._refreshComparisonUI()});return}this._comparisonSelectedSkus=[...this._comparisonSelectedSkus,e],this._comparisonSelectionWarning=null,ds(e)}this._comparisonRefreshRafId!==null&&cancelAnimationFrame(this._comparisonRefreshRafId),this._comparisonRefreshRafId=requestAnimationFrame(()=>{this._comparisonRefreshRafId=null,this._refreshComparisonUI()})}_refreshComparisonUI(){const e=this._shadow?.querySelector(".gengage-chat-panel");if(!e){this._drawer?.setComparisonDockContent(null);return}const a=e.querySelector(".gengage-chat-product-grid-wrapper");if(!a){this._drawer?.setComparisonDockContent(null);return}const n=a.querySelectorAll(".gengage-chat-product-card[data-sku]");if(n.length===0){this._drawer?.setComparisonDockContent(null);return}const i=a.querySelector(".gengage-chat-comparison-toggle-btn");if(i&&i.classList.toggle("gengage-chat-comparison-toggle-btn--active",this._comparisonSelectMode),this._comparisonSelectMode)for(const r of n){if(r.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")){const h=r.parentElement,f=this._comparisonSelectedSkus.includes(r.dataset.sku);h.classList.toggle("gengage-chat-comparison-select-wrapper--selected",f);const b=h.querySelector(".gengage-chat-comparison-checkbox");if(b){b.dataset.selected=f?"true":"false",b.setAttribute("aria-pressed",f?"true":"false");const m=b.querySelector(".gengage-chat-comparison-checkbox-icon"),u=b.querySelector(".gengage-chat-comparison-checkbox-label");m&&(m.innerHTML=f?'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>':'<span class="gengage-chat-comparison-checkbox-dot"></span>'),u&&(u.textContent=f?this._i18n.comparisonSelectedLabel??"Selected":this._i18n.comparisonSelectLabel??"Select to compare")}continue}const o=r.dataset.sku,s=document.createElement("div");s.className="gengage-chat-comparison-select-wrapper";const c=this._comparisonSelectedSkus.includes(o);c&&s.classList.add("gengage-chat-comparison-select-wrapper--selected");const l=document.createElement("button");l.type="button",l.className="gengage-chat-comparison-checkbox",l.dataset.selected=c?"true":"false",l.setAttribute("aria-pressed",c?"true":"false");const p=document.createElement("span");p.className="gengage-chat-comparison-checkbox-icon",p.innerHTML=c?'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>':'<span class="gengage-chat-comparison-checkbox-dot"></span>';const d=document.createElement("span");d.className="gengage-chat-comparison-checkbox-label",d.textContent=c?this._i18n.comparisonSelectedLabel??"Selected":this._i18n.comparisonSelectLabel??"Select to compare",l.appendChild(p),l.appendChild(d),l.addEventListener("click",h=>{h.stopPropagation(),this._toggleComparisonSku(o)}),r.parentNode.insertBefore(s,r),s.appendChild(l),s.appendChild(r),s.classList.add("gds-clickable"),s.addEventListener("click",h=>{h.target.closest(".gengage-chat-comparison-checkbox")||(h.stopPropagation(),this._toggleComparisonSku(o))})}else{const r=a.querySelectorAll(".gengage-chat-comparison-select-wrapper");for(const o of r){const s=o.querySelector(".gengage-chat-product-card");s&&o.parentNode&&(o.parentNode.insertBefore(s,o),o.remove())}}if(a.querySelector(".gengage-chat-comparison-floating-btn")?.remove(),this._comparisonSelectMode){const r=Ji(this._comparisonSelectedSkus,this._buildRenderContext());this._isMobileViewport?(this._drawer?.setComparisonDockContent(r),this._ensureMobilePanelOverlayVisible()):(this._drawer?.setComparisonDockContent(null),a.appendChild(r))}else this._drawer?.setComparisonDockContent(null)}_clearChoicePrompter(){this._choicePrompterEl?.remove(),this._choicePrompterEl=null,this._shadow?.querySelectorAll(".gengage-chat-choice-prompter").forEach(e=>e.remove())}_mountChoicePrompter(){if(!this._choicePrompterEl)return!1;if(this._isMobileViewport)return this._drawer?.setComparisonDockContent(this._choicePrompterEl),this._ensureMobilePanelOverlayVisible(),!0;const e=this._shadow?.querySelector(".gengage-chat-panel-float");return e?(e.appendChild(this._choicePrompterEl),!0):(this._choicePrompterEl=null,!1)}_parseAddToCartActionPayload(e){if(typeof e!="object"||e===null)return null;const a=e,n=this._coerceAddToCartString(a.sku),i=this._coerceAddToCartString(a.cartCode??a.cart_code);let r=1;return typeof a.quantity=="number"&&Number.isFinite(a.quantity)&&a.quantity>0&&(r=Math.max(1,Math.floor(a.quantity))),!n||!i?null:{sku:n,cartCode:i,quantity:r}}_coerceAddToCartString(e){return typeof e=="string"&&e.length>0?e:typeof e=="number"&&Number.isFinite(e)?String(e):""}_maybeHandleDirectAddToCartCommand(e){if(eo(e)!=="directAddToCart")return!1;const a=this._resolveCurrentProductAddToCartParams();return a?(this._runChatAddToCartFlow(a),!0):!1}_resolveCurrentProductAddToCartParams(){const e=ke(this.config.pageContext?.extra),a=this._activeSkuForProductSummaryClick()??this._coerceSkuKey(this._bridgeContext?.sku),n=this.config.pageContext?.pageType==="pdp",i=this._getCurrentPanelProductRecord(),r=n?this._getCurrentPanelProductGridRecord(a):null,o=n?this._getInlinePdpProductRecord():null;if(!i&&!r&&this._currentPanelSource&&!o)return null;const s=[i,r];n&&s.push(o),this._currentPanelSource||(s.push(this._getLatestProductDetailsRecord()),n&&s.push(this._getLatestProductGridRecord(a))),n&&s.push(ke(this._bridgeContext?.product),ke(this._bridgeContext?.productDetails),this._bridgeContext,ke(e?.product),ke(e?.productDetails),e);for(const c of s){const l=this._extractAddToCartParamsFromRecord(c,a);if(l)return l}return null}_extractAddToCartParamsFromRecord(e,a){if(!e||(e.inStock??e.in_stock)===!1)return null;const n=this._coerceSkuKey(e.sku??a),i=this._coerceAddToCartString(e.cartCode??e.cart_code);return!n||!i?null:{sku:n,cartCode:i,quantity:1}}_hasAddToCartConfirmationHandler(){return this.config.onAddToCart!==void 0||(this._eventCallbacks.get("gengage-cart-add")?.size??0)>0}_addToCartRequestKey(e){return`${e.sku}\0${e.cartCode}\0${e.quantity}`}async _runChatAddToCartFlow(e){const a=this._addToCartRequestKey(e);if(this._pendingAddToCartKeys.has(a))return;this._pendingAddToCartKeys.add(a);const n={...e,sessionId:this.config.session?.sessionId??null};try{if(!this._hasAddToCartConfirmationHandler()){this._handleCallbackFailure("gengage-cart-add",n);return}if(this.config.onAddToCart!==void 0)try{await Promise.resolve(this.config.onAddToCart(e))}catch(r){console.error("[gengage] onAddToCart",r),this._handleCallbackFailure("gengage-cart-add",n);return}if(!await this._runEventCallbacks("gengage-cart-add",n))return;Hn(e.sku,e.quantity),ue("gengage:chat:add-to-cart",n),this._bridge?.send("addToCart",e),this._sendAction({title:this._i18n.addToCartButton??"Add to Cart",type:"addToCart",payload:{sku:e.sku,cart_code:e.cartCode,quantity:e.quantity}},{preservePanel:!0});const i=this._i18n.addedToCartToast??"Added to cart";this._drawer?.showCartToast(i),this._drawer?.flashCartBadge()}finally{this._pendingAddToCartKeys.delete(a)}}_buildRenderContext(){const e={locale:He(this.config.locale),onAction:a=>{if(a.type==="frontend_restore_panel_message"){this._restorePanelFromFrontendMessage(a.payload);return}if(la(a.title,a.type),a.type==="addToCart"){const i=this._parseAddToCartActionPayload(a.payload);if(i){this._runChatAddToCartFlow(i);return}}if(a.type==="launchSingleProduct"){const i=typeof a.payload=="object"&&a.payload!==null&&"sku"in a.payload?a.payload.sku:void 0,r=this._coerceSkuKey(i),o=this._activeSkuForProductSummaryClick();if(r&&o&&r===o)return;r&&ga(r,a.title)}if(a.type==="findSimilar"){const i=typeof a.payload=="object"&&a.payload!==null&&"sku"in a.payload?String(a.payload.sku):"";Rn(i)}if(a.type==="getComparisonTable"){const i=a.payload,r=i&&typeof i=="object"?i:null,o=r&&typeof r.gengage_analytics_source=="string"?r.gengage_analytics_source:"";let s=[];r&&Array.isArray(r.sku_list)&&(s=r.sku_list.filter(c=>typeof c=="string")),o==="floating_compare_dock"?vs(s):ps(s.length>0?s:this._comparisonSelectedSkus)}const n=a.type==="addToCart"||a.type==="like";this._sendAction(a,n?{preservePanel:!0}:void 0)},onProductClick:a=>{const n=this.config.isDemoWebsite===!0,i=!n&&this._isSameOriginUrl(a.url);if(!i){const s=this._coerceSkuKey(a.sku),c=this._activeSkuForProductSummaryClick();if(s&&c&&s===c)return}if(i){ue("gengage:similar:product-click",{sku:a.sku,url:a.url,sessionId:this.config.session?.sessionId??null,...a.name!==void 0&&a.name!==""?{productName:a.name}:{}}),this._saveSessionAndOpenURL(a.url);return}const r=a.url.trim();if(!n&&this.config.onProductNavigate!==void 0&&r.length>0&&pe(r)){ga(a.sku),this.config.onProductNavigate(r,a.sku,this.config.session?.sessionId??null);return}ga(a.sku);const o=a.name?.trim()?a.name.trim():a.sku;this._sendAction({title:o,type:"launchSingleProduct",payload:{sku:a.sku}})},onAddToCart:a=>{this._runChatAddToCartFlow(a)},onProductSelect:a=>{const n=this._productSkuKey(a),i=this._activeSkuForProductSummaryClick();if(n&&i&&n===i)return;if(this._currentInlineProductSummaryRecord=a,this._currentPanelSource){const l=this._drawer?.getPanelTopBarTitle()??"";this._localPanelHistory.push({source:this._currentPanelSource,title:l}),this._localPanelHistory.length>et._MAX_PANEL_HISTORY&&this._localPanelHistory.shift()}const r=this._buildRenderContext(),o={root:"root",elements:{root:{type:"ProductSummaryCard",props:{product:a}}}},s=this._shadow?.querySelector(".gengage-chat-messages");if(s){const l=this._renderUISpec(o,r);this._currentThreadId&&(l.dataset.threadId=this._currentThreadId),s.appendChild(l),this._scrollInlineIntoView(l,this._currentThreadId),this._drawer?.refreshPresentationCollapsed()}if(this.config.productDetailsExtended!==!0){this._clearAssistantPanelLikeStreamClearPanel();return}const c={root:"root",elements:{root:{type:"ProductDetailsPanel",props:{product:a}}}};this._drawer?.setPanelContent(this._renderUISpec(c,e)),this._currentPanelSource={kind:"spec",spec:c},this._panel&&(this._panel.currentType="ProductDetailsPanel"),this._drawer?.updatePanelTopBar(!0,!1,this._i18n.panelTitleProductDetails)},i18n:this._i18n,pricing:this.config.pricing,productPriceUi:this.config.productPriceUi,hideProductDiscountBadge:this.config.hideProductDiscountBadge,hideUserReviews:this.config.hideUserReviews,hideStockStatus:this.config.hideStockStatus,productSort:this._productSort,onSortChange:a=>{this._productSort=a},comparisonSelectMode:this._comparisonSelectMode,comparisonSelectedSkus:this._comparisonSelectedSkus,comparisonMaxSelection:et._MAX_COMPARISON_SELECTION,comparisonSelectionWarning:this._comparisonSelectionWarning,onToggleComparisonSku:a=>{this._toggleComparisonSku(a)},favoritedSkus:this._session?.favoritedSkus??new Set,onFavoriteToggle:(a,n)=>{this._toggleProductFavorite(a,n)},isMobile:this._isMobileViewport};return e}async _toggleFavorite(e,a){if(!this._session)return;const n=this.config.session?.userId??"",i=this.config.accountId;await this._session.toggleFavorite(n,i,e,a),this._drawer?.updateFavoritesBadge(this._session.favoritedSkus.size)}_revertFavoriteHeartUi(e){const a=this._shadow?.querySelectorAll(`[data-gengage-favorite-sku="${ve(e)}"]`);if(a?.length)for(const n of a){if(!(n instanceof HTMLButtonElement))continue;n.classList.toggle("gengage-chat-favorite-btn--active");const i=n.querySelector("svg");i&&i.setAttribute("fill",n.classList.contains("gengage-chat-favorite-btn--active")?"currentColor":"none")}}async _toggleProductFavorite(e,a){const n=!(this._session?.favoritedSkus.has(e)??!1),i={sku:e,product:a,favorited:n,sessionId:this.config.session?.sessionId??null};ue("gengage:chat:product-favorite",i),this._bridge?.send("productFavorite",i);const r=this._eventCallbacks.get("gengage-product-favorite");if(r&&r.size>0){for(const o of r)try{const s=o(i);if((s instanceof Promise?await s:s)===!1){this._revertFavoriteHeartUi(e),this._handleCallbackFailure("gengage-product-favorite",i);return}}catch{this._revertFavoriteHeartUi(e),this._handleCallbackFailure("gengage-product-favorite",i);return}this._session&&(n?this._session.favoritedSkus.add(e):this._session.favoritedSkus.delete(e),this._drawer?.updateFavoritesBadge(this._session.favoritedSkus.size));return}if(await this._toggleFavorite(e,a),n){ms(e);const o=a.name??e;this._sendAction({title:o,type:"like",payload:{sku:e}},{preservePanel:!0})}}_openFavoritesPanel(){if(this._drawer){if(this._currentPanelSource){const e=this._drawer.getPanelTopBarTitle()??"";this._localPanelHistory.push({source:this._currentPanelSource,title:e}),this._localPanelHistory.length>et._MAX_PANEL_HISTORY&&this._localPanelHistory.shift()}this._drawer.setPanelContent(this._buildFavoritesPageEl()),this._currentPanelSource={kind:"favorites"},this._drawer.updatePanelTopBar(!0,!1,this._i18n.favoritesPageTitle)}}_buildFavoritesPageEl(){const e=this._session?.getFavoriteProducts()??[];if(e.length===0){const r=document.createElement("div");r.className="gengage-chat-favorites-empty";const o=document.createElement("div");o.className="gengage-chat-favorites-empty-icon",o.innerHTML='<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>',r.appendChild(o);const s=document.createElement("p");return s.textContent=this._i18n.emptyFavoritesMessage,r.appendChild(s),r}const a={},n=[];for(const[r,o]of e.entries()){const s=`card_${r}`;n.push(s),a[s]={type:"ProductCard",props:{product:{sku:o.sku,name:o.name,imageUrl:o.imageUrl,price:o.price}}}}a.grid={type:"ProductGrid",children:n};const i={root:"grid",elements:a};return this._renderUISpec(i,this._buildRenderContext())}_isMessageHostedUISpec(e){if(!e)return!1;const a=e.elements[e.root];return!!a&&hn.has(a.type)}_isPanelAiSpec(e){if(!e)return!1;const a=e.elements[e.root];return a?.type==="AITopPicks"||a?.type==="AIGroupingCards"}_rememberPanelAiSpec(e,a){this._isPanelAiSpec(a)&&this._panelAiSpecByThread.set(e,a)}_restorePanelAiSpecMap(e){for(const[a,n]of Object.entries(e))this._rememberPanelAiSpec(a,n)}_hydrateRestoredUISpecMetadata(e,a,n){const i=this._isMessageHostedUISpec(n);this._rememberPanelAiSpec(a,n);const r=n.elements[n.root];return r&&!i&&!this._panel?.snapshotTypes.has(e)&&this._panel?.snapshotTypes.set(e,r.type),i}_renderMessageUISpec(e){return!e.uiSpec||!this._isMessageHostedUISpec(e.uiSpec)?null:this._renderUISpec(e.uiSpec,this._buildRenderContext())}_maybeAddPanelRestoreMessage(e){if(!this._panel||!e.threadId||this._panel.snapshotTypes.get(e.id)!=="ProductGrid")return;const a=this._currentPanelSource;if(a?.kind!=="spec")return;const n=a.spec.elements[a.spec.root];if(!n||n.type!=="ProductGrid"||Xt(n))return;const i=(n.children??[]).map(l=>{const p=a.spec.elements[l]?.props?.product;return p?{imageUrl:typeof p.imageUrl=="string"?p.imageUrl:void 0,name:typeof p.name=="string"?p.name:void 0}:null}).filter(l=>l!==null).slice(0,3);if(i.length===0)return;const r=typeof n.props?.panelTitle=="string"?n.props.panelTitle:void 0,o=this._panel.titleForComponent("ProductGrid",r),s=this._createMessage("assistant","");s.threadId=e.threadId,s.frontendOnly=!0,s.uiSpec={root:"root",elements:{root:{type:"PanelRestoreCard",props:{title:o,showTitle:!1,ctaLabel:this._i18n.showPanelAriaLabel??"Show Results",panelMessageId:s.id,highlightMessageId:s.id,threadId:e.threadId,products:i}}}},this._messages.push(s);const c=this._clonePanelSourceForHistory(a);this._panel.snapshotForMessage(s.id,{source:c,threadId:s.threadId,rebuild:()=>{const l=this._buildRenderContext();return this._renderPanelFromSource(c,l)}}),this._ensureAssistantMessageRendered(s)}_restorePanelFromFrontendMessage(e){const a=e&&typeof e=="object"?e:null;if(!a)return;const n=typeof a.panelMessageId=="string"?a.panelMessageId:"",i=typeof a.highlightMessageId=="string"?a.highlightMessageId:n,r=typeof a.threadId=="string"?a.threadId:"";if(!n)return;const o=()=>{if(this._panel?.snapshotTypes.get(n)==="ProductGrid"&&this._ensureMobilePanelOverlayVisible(),this._panel?.restoreForMessage(n,i)??!1){const s=this._messages.find(l=>l.id===n);this._currentPanelSource=this._panel?.sourceForMessage(n)??this._panelSourceFromMessage(s);const c=this._panel?.currentType??"";this._panel?.updateTopBar(c),r&&this._restorePanelAiZoneForThread(r)}};if(r&&this._currentThreadId!==r){this._rollbackToThread(r),requestAnimationFrame(o);return}o()}_restorePanelAiZoneForThread(e){const a=this._panelAiSpecByThread.get(e);if(!a||!this._drawer){this._drawer?.setPanelAiZoneState("hidden");return}const n=this._renderUISpec(a,this._buildRenderContext());this._drawer.setPanelAiZoneState("results",{resultEl:n})}async _runEventCallbacks(e,a){const n=this._eventCallbacks.get(e);if(!n||n.size===0)return!0;for(const i of n)try{if(await Promise.resolve(i(a))===!1)return this._handleCallbackFailure(e,a),!1}catch{return this._handleCallbackFailure(e,a),!1}return!0}_handleCallbackFailure(e,a){if(e==="gengage-cart-add"){const n=this._i18n.cartAddErrorMessage,i=this._createMessage("assistant",n);this._currentThreadId&&(i.threadId=this._currentThreadId),this._messages.push(i),this._drawer?.addMessage(i),this._persistConversationState()}if(e==="gengage-product-favorite"){const n=this._i18n.favoriteToggleErrorMessage,i=this._createMessage("assistant",n);this._currentThreadId&&(i.threadId=this._currentThreadId),this._messages.push(i),this._drawer?.addMessage(i),this._persistConversationState()}}_restoreInlineUISpec(e){if(!e.uiSpec||!this._drawer)return;const a=e.uiSpec,n=a.elements[a.root];if(!n)return;const i=n.type;if(i==="ActionButtons"||i==="ComparisonTable"||i==="ProductGrid"&&this._panel?.snapshotTypes.get(e.id)==="ProductGrid"||Xt(n))return;const r=this._buildRenderContext(),o=this._shadow?.querySelector(".gengage-chat-messages");if(!o)return;if(i==="ProductDetailsPanel"){const c=n.props?.product;if(!c)return;this._currentInlineProductSummaryRecord=c;const l={root:"root",elements:{root:{type:"ProductSummaryCard",props:{product:c}}}},p=this._renderUISpec(l,r);e.threadId&&(p.dataset.threadId=e.threadId),o.appendChild(p),this._drawer?.refreshPresentationCollapsed();return}const s=this._renderUISpec(a,r);e.threadId&&(s.dataset.threadId=e.threadId),o.appendChild(s),this._drawer?.refreshPresentationCollapsed()}_createMessage(e,a){return this._currentMessageId++,{id:`msg-${this._currentMessageId}`,role:e,content:a,timestamp:Date.now(),status:"done"}}_resolveI18n(e){return{...xl(e.locale),...e.i18n}}_resolveUISpecRegistry(){return pa(or(),this.config.renderer?.registry)}_renderUISpec(e,a){const n=e.elements[e.root];if(n?.type==="ProductSummaryCard"){const c=ke(n.props),l=ke(c?.product)??c;l&&(this._currentInlineProductSummaryRecord=l)}const i=this._resolveUISpecRegistry(),r=this.config.renderer?.unknownRenderer??Wt,o=(c,l)=>sr(c,l,i,r),s=this.config.renderer?.renderUISpec;return s?s(e,a,{registry:i,unknownRenderer:r,defaultRender:o}):o(e,a)}}}));function Lp(t){return typeof t=="string"&&t.toLowerCase().startsWith("tr")}function _o(t){return Lp(t)?"İnternet bağlantısında sorun var gibi görünüyor. İstek sürerken yeniden deneyeceğiz.":"Your internet connection looks unstable. We'll keep retrying while this request is active."}function wo(){let t;for(const e of Re.values())t=e;return t}function mn(){Ze&&(clearTimeout(Ze),Ze=null)}function Ip(){dt&&(clearInterval(dt),dt=null)}async function ko(){try{if(typeof navigator<"u"&&navigator.onLine===!1)return!1;if(typeof window<"u"){const a=window.location.hostname;if(a==="localhost"||a==="127.0.0.1")return navigator.onLine}const t=new AbortController,e=setTimeout(()=>t.abort(),3e3);try{return await fetch(Po,{method:"HEAD",mode:"no-cors",cache:"no-cache",signal:t.signal}),!0}catch{return navigator.onLine}finally{clearTimeout(e)}}catch{return typeof navigator>"u"?!0:navigator.onLine}}function Jt(){Ge=!1,Ip(),qn()}function ea(){Ze||Ge||Re.size===0||(Ze=setTimeout(async()=>{Ze=null,!(Ge||Re.size===0)&&!await ko()&&Re.size>0&&(Ge=!0,ma({source:"sdk",message:_o(wo()),sticky:!0}),dt||(dt=setInterval(async()=>{if(Re.size===0){Jt();return}await ko()&&(Jt(),ea())},Eo)))},So))}function Np(){fn||typeof window>"u"||(fn=!0,window.addEventListener("online",()=>{Jt(),ea()}),window.addEventListener("offline",()=>{Re.size===0||Ge||(Ge=!0,mn(),ma({source:"sdk",message:_o(wo()),sticky:!0}))}))}function Co(t){Np();const e=Symbol(t.source);Re.set(e,t.locale),ea();let a=!1;return()=>{if(!a){if(a=!0,Re.delete(e),Re.size===0){mn(),Jt();return}Ge||(mn(),ea())}}}var So,Eo,Po,Re,fn,Ze,dt,Ge,To=L((()=>{it(),So=8e3,Eo=5e3,Po="https://www.google.com/favicon.ico",Re=new Map,fn=!1,Ze=null,dt=null,Ge=!1}));async function Mp(t,e,a){const n=zt("launcher_action",e),i={uiSpecs:[],actions:[]},r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)};a!==void 0&&(r.signal=a);const o=await Ht(n,r);if(!o.ok)throw new Error(`HTTP ${o.status}: ${o.statusText}`);const s={onEvent:c=>{const l=Rt(c);if(l&&(l.type==="ui_spec"&&i.uiSpecs.push(l.spec),l.type==="ui_spec"&&l.spec.elements)){for(const p of Object.values(l.spec.elements))if(p.type==="ActionButton"&&p.props?.action){const d=p.props.action;i.actions.push(d)}}}};return a!==void 0&&(s.signal=a),await Nt(o,s),i}var Bp=L((()=>{va(),Ta(),Pa(),Ma()}));function Ao(t){const e=document.createElement("div");e.className="gengage-qna-buttons gds-toolbar",e.dataset.gengagePart="qna-button-row",e.setAttribute("role","group"),e.setAttribute("aria-label",t.quickQuestionsAriaLabel??"Quick questions"),t.orientation==="vertical"&&(e.style.flexDirection="column");for(const a of t.actions){const n=document.createElement("button");n.className="gengage-qna-button gds-chip",n.dataset.gengagePart="qna-quick-question",n.textContent=a.title,n.type="button",n.addEventListener("click",()=>{const i={title:a.title,type:a.type};a.payload!==void 0&&(i.payload=a.payload),t.onAction(i)}),e.appendChild(n)}if(t.ctaText||t.onOpenChat){const a=document.createElement("button");a.className="gengage-qna-cta gds-btn gds-btn-secondary",a.dataset.gengagePart="qna-cta",a.textContent=t.ctaText??t.defaultCtaText??"Ask something else",a.type="button",a.addEventListener("click",()=>{t.onOpenChat?.()}),e.appendChild(a)}return e}var Rp=L((()=>{}));function zp(t){const e=document.createElement("div");e.className="gengage-qna-input-wrapper",e.dataset.gengagePart="qna-input-wrapper";const a=document.createElement("div");a.className="gengage-qna-input-combo",a.dataset.gengagePart="qna-input-combo";const n=document.createElement("input");n.type="text",n.className="gengage-qna-input",n.dataset.gengagePart="qna-input",n.setAttribute("aria-label",t.askQuestionAriaLabel??"Ask a question");const i=Array.isArray(t.placeholders)?t.placeholders:t.placeholders?[t.placeholders]:[t.defaultInputPlaceholder??"Ask a question..."];let r=0,o=i[0]??"";n.placeholder=o;let s=null,c=null,l=!1;const p=()=>{s&&clearInterval(s),s=null,c&&clearTimeout(c),c=null,n.classList.remove("gengage-qna-input--fade")},d=()=>i.length>1&&!l&&n.value.trim().length===0,h=()=>{p(),d()&&(s=setInterval(()=>{d()&&(n.classList.add("gengage-qna-input--fade"),c=setTimeout(()=>{r=(r+1)%i.length,o=i[r]??"",n.placeholder=o,n.classList.remove("gengage-qna-input--fade")},180))},3e3))},f=document.createElement("div");f.className="gengage-qna-input-actions",f.dataset.gengagePart="qna-input-actions";const b=document.createElement("button");b.className="gengage-qna-icon-btn gengage-qna-clear gengage-qna-icon-btn--hidden",b.type="button",b.dataset.gengagePart="qna-clear",b.setAttribute("aria-label","Clear question"),b.innerHTML='<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M18 6L6 18" /><path d="M6 6L18 18" /></svg>';const m=document.createElement("button");m.className="gengage-qna-icon-btn gengage-qna-send gengage-qna-icon-btn--hidden",m.type="button",m.dataset.gengagePart="qna-send",m.setAttribute("aria-label",t.sendQuestionAriaLabel??"Send question"),m.disabled=!0,m.innerHTML=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M22 2L11 13" /><path d="M22 2L15 22L11 13L2 9L22 2Z" /></svg><span class="gengage-qna-sr-only">${t.ctaLabel??t.sendButtonText??"Ask"}</span>`;const u=()=>{const v=n.value.trim().length>0;b.classList.toggle("gengage-qna-icon-btn--hidden",!v),m.classList.toggle("gengage-qna-icon-btn--hidden",!v),m.classList.toggle("gengage-qna-send--active",v),m.disabled=!v},g=()=>{const v=n.value.trim();v&&(t.onSubmit({title:v,type:"user_message",payload:v}),n.value="",u(),h())};return b.addEventListener("click",()=>{n.value="",u(),n.focus({preventScroll:!0})}),m.addEventListener("click",g),n.addEventListener("focus",()=>{l=!0,p(),n.placeholder=""}),n.addEventListener("blur",()=>{l=!1,n.value.trim().length===0&&(n.placeholder=o),h()}),n.addEventListener("input",()=>{if(u(),n.value.trim().length>0){p();return}n.placeholder=l?"":o,h()}),n.addEventListener("keydown",v=>{v.key==="Enter"&&(v.preventDefault(),g()),v.key==="Escape"&&n.value.length>0&&(n.value="",u(),h())}),f.appendChild(b),f.appendChild(m),a.appendChild(n),a.appendChild(f),e.appendChild(a),u(),h(),e._cleanup=()=>{p()},e}var Hp=L((()=>{}));function ta(t,e){if(!t||typeof t!="object")return null;const a=t,n=a.type;if(typeof n!="string"||n.length===0)return null;const i=a.title,r=a.payload,o=typeof i=="string"&&i.length>0?i:e;if(!o)return null;const s={title:o,type:n};return r!==void 0&&(s.payload=r),s}function Lo(t){const e={title:t.title,type:t.type};return t.payload!==void 0&&(e.payload=t.payload),e}function Io(t,e){const a=[],n=t.props?.actions;if(Array.isArray(n))for(const o of n){const s=ta(o);s&&a.push(s)}const i=t.props?.buttons;if(Array.isArray(i))for(const o of i){if(!o||typeof o!="object")continue;const s=o,c=typeof s.label=="string"?s.label:void 0,l=ta(s.action,c);l&&a.push(l)}if(t.children)for(const o of t.children){const s=e.elements[o];if(!s||s.type!=="ActionButton")continue;const c=typeof s.props?.label=="string"?s.props.label:void 0,l=ta(s.props?.action,c);l&&a.push(l)}const r=new Set;return a.filter(o=>r.has(o.title)?!1:(r.add(o.title),!0))}function No(){return{...bn}}function Mo(t,e,a=bn,n=aa){return da({spec:t,context:e,registry:a,containerClassName:"gengage-qna-uispec",unknownRenderer:n})}var bn,aa,Fp=L((()=>{nt(),Rp(),Hp(),bn={ButtonRow:({element:t,spec:e,context:a})=>{const n=Io(t,e).map(Lo),i=t.props?.orientation,r={actions:n,onAction:a.onAction,defaultCtaText:a.i18n.defaultCtaText,quickQuestionsAriaLabel:a.i18n.quickQuestionsAriaLabel};return a.onOpenChat!==void 0&&(r.onOpenChat=a.onOpenChat),a.ctaText!==void 0&&(r.ctaText=a.ctaText),(i==="horizontal"||i==="vertical")&&(r.orientation=i),Ao(r)},ActionButtons:({element:t,spec:e,context:a})=>{const n={actions:Io(t,e).map(Lo),onAction:a.onAction,defaultCtaText:a.i18n.defaultCtaText,quickQuestionsAriaLabel:a.i18n.quickQuestionsAriaLabel};return a.onOpenChat!==void 0&&(n.onOpenChat=a.onOpenChat),a.ctaText!==void 0&&(n.ctaText=a.ctaText),Ao(n)},ActionButton:({element:t,context:e})=>{const a=document.createElement("button");a.className="gengage-qna-button gds-chip",a.type="button",a.dataset.gengagePart="qna-action-button";const n=t.props?.label;typeof n=="string"?a.textContent=n:a.textContent=e.i18n.defaultCtaText;const i=ta(t.props?.action,typeof n=="string"?n:void 0);return i&&a.addEventListener("click",()=>e.onAction(i)),a},TextInput:({element:t,context:e})=>{const a=t.props?.placeholder,n=typeof a=="string"||Array.isArray(a)?a:e.inputPlaceholder,i=typeof t.props?.ctaLabel=="string"?t.props.ctaLabel:void 0,r={onSubmit:e.onAction,askQuestionAriaLabel:e.i18n.askQuestionAriaLabel,defaultInputPlaceholder:e.i18n.defaultInputPlaceholder,sendButtonText:e.i18n.sendButton,sendQuestionAriaLabel:e.i18n.sendQuestionAriaLabel};return n!==void 0&&(r.placeholders=n),i!==void 0&&(r.ctaLabel=i),zp(r)},QuestionHeading:({element:t,context:e})=>{const a=document.createElement("h3");a.className="gengage-qna-heading",a.dataset.gengagePart="qna-heading";const n=t.props?.text,i=e.headingTitleOverride;return a.textContent=typeof i=="string"&&i.trim().length>0?i:typeof n=="string"?n:"",a},ProductCard:()=>null},aa=({element:t,renderElement:e})=>{if(!t.children||t.children.length===0)return null;const a=document.createElement("div");for(const n of t.children){const i=e(n);i&&a.appendChild(i)}return a}}));function Dp(t){if(!t)return;const e=t.extra;if(e&&typeof e=="object"&&!Array.isArray(e)){const n=e.visible_skus??e.visibleSkus;if(Array.isArray(n)){const i=n.filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()).slice(0,200);if(i.length>0)return i}}const a=typeof t.sku=="string"&&t.sku.trim()?t.sku.trim():void 0;return a?[a]:void 0}function Bo(t,e){if(!t)return null;const a=t.action;if(!a||typeof a!="object")return null;const n=a,i=n.type;if(typeof i!="string"||i.length===0)return null;const r=n.title,o=typeof r=="string"&&r.length>0?r:typeof e=="string"&&e.length>0?e:"";if(!o)return null;const s=n.payload,c={title:o,type:i};return s!==void 0&&(c.payload=s),c}function Up(t,e){const a=t.elements[t.root];if(!a)return!1;const n=i=>{if(i.type!=="ActionButton")return!1;const r=i.props;if(!r||typeof r!="object")return!1;const o=typeof r.label=="string"?r.label:void 0;return o===e?!0:Bo(r,o)?.title===e};if(a.type==="ActionButton")return n(a);if(a.children)for(const i of a.children){const r=t.elements[i];if(r&&n(r))return!0}if(a.type==="ActionButtons"&&Array.isArray(a.props?.buttons)){for(const i of a.props.buttons)if(i?.label===e||i?.action?.title===e)return!0}return!1}function Ro(){return vn+=1,`gengage-merge-${vn}`}function Op(t,e){const a=t.elements[t.root];if(!a||a.type!=="ButtonRow")return;const n=Ro();t.elements[n]={type:"ActionButton",props:{label:e.title,action:{title:e.title,type:e.type,...e.payload!==void 0?{payload:e.payload}:{}}}},a.children=a.children?[n,...a.children]:[n]}function qp(t,e){const a=t.elements[t.root];if(!a||a.type!=="ActionButtons")return;const n=Ro();t.elements[n]={type:"ActionButton",props:{label:e.title,action:{title:e.title,type:e.type,...e.payload!==void 0?{payload:e.payload}:{}}}},a.children=a.children?[n,...a.children]:[n];const i=a.props?.buttons??[],r={label:e.title,action:{title:e.title,type:e.type,...e.payload!==void 0?{payload:e.payload}:{}}};a.props={...a.props,buttons:[r,...i]}}function jp(t){const e={},a=[];for(let n=0;n<t.length;n++){const i=t[n],r=`action-${n}`;a.push(r),e[r]={type:"ActionButton",props:{label:i.title,action:{title:i.title,type:i.type,...i.payload!==void 0?{payload:i.payload}:{}}}}}return e.root={type:"ButtonRow",children:a},{root:"root",elements:e}}function $p(t){return t.find(e=>{const a=e.elements[e.root];return a?.type==="ActionButtons"||a?.type==="ButtonRow"})}function zo(t,e){const a=t.productContextQuickPillLabel,n={text:a};return e&&e.length>0&&(n.sku_list=e),{title:a,type:"user_message",payload:n}}function Vp(t,e,a){const n=a?.skuList,i=[],r=[];for(const c of t){const l=c.elements[c.root];if(l?.type==="ActionButton"){const p=l.props;if(Bo(p,typeof p?.label=="string"?p.label:void 0)?.type==="findSimilar"){i.push(zo(e,n));continue}}r.push(c)}if(i.length===0)return t;const o=zo(e,n),s=$p(r);if(!s)return[...r,jp([o])];if(!Up(s,o.title)){const c=s.elements[s.root];c?.type==="ActionButtons"?qp(s,o):c?.type==="ButtonRow"&&Op(s,o)}return r}var vn,Gp=L((()=>{vn=0})),yn,Wp=L((()=>{yn={quickQuestionsAriaLabel:"Hızlı sorular",askQuestionAriaLabel:"Soru sorun",defaultInputPlaceholder:"Bir soru sorun...",sendButton:"Sor",sendQuestionAriaLabel:"Soruyu gönder",defaultCtaText:"Başka bir şey sor",redirectingToChat:"Sohbete yönlendiriliyor...",productContextQuickPillLabel:"Bu ürün hakkında ne bilmeliyim?"}})),Ho,Kp=L((()=>{Ho={quickQuestionsAriaLabel:"Quick questions",askQuestionAriaLabel:"Ask a question",defaultInputPlaceholder:"Ask a question...",sendButton:"Ask",sendQuestionAriaLabel:"Send question",defaultCtaText:"Ask something else",redirectingToChat:"Redirecting to chat...",productContextQuickPillLabel:"What should I know about this product?"}}));function Yp(t){return t?t.toLowerCase().split("-")[0]??"tr":"tr"}function Qp(t){return Yp(t)==="en"?Ho:yn}var Zp=L((()=>{Wp(),Kp()})),Xp=L((()=>{})),Jp=St({GengageQNA:()=>xn,createDefaultQnaUISpecRegistry:()=>No,createQNAWidget:()=>eh,defaultQnaUnknownUISpecRenderer:()=>aa,renderQnaUISpec:()=>Mo});function eh(){return new xn}var xn,th=L((()=>{nt(),Lt(),ht(),Ke(),To(),it(),ge(),Bp(),at(),Fp(),Gp(),Zp(),Xp(),xn=class extends pt{constructor(...t){super(...t),this._abortController=null,this._debounceTimer=null,this._contentEl=null,this._i18n=yn,this._actionHandler=this._handleAction.bind(this),this._openChatHandler=this._handleOpenChat.bind(this)}async onInit(t){this._i18n=this._resolveI18n(t),this._contentEl=document.createElement("div"),this._contentEl.className="gengage-qna-container",this._contentEl.dataset.gengagePart="qna-container",this._contentEl.lang=He(t.locale);const e=this._createChrome(t);if(e){const n=document.createElement("div");n.className="gengage-qna-chrome-widget",n.dataset.gengagePart="qna-chrome-widget",n.appendChild(this._contentEl),e.appendChild(n),this.root.appendChild(e)}else this.root.appendChild(this._contentEl);const a=t.pageContext?.sku;a&&(this._lastSku=a,await this._fetchAndRender(a)),Et("qna")}onUpdate(t){const e=t.sku;!e||e===this._lastSku||(this._debounceTimer&&clearTimeout(this._debounceTimer),this._debounceTimer=setTimeout(()=>{this._debounceTimer=null,this._lastSku=e,this._fetchAndRender(e)},50))}onShow(){this._contentEl&&(this._contentEl.style.opacity="0",this._contentEl.style.transition="opacity 0.2s ease-in",requestAnimationFrame(()=>{this._contentEl&&(this._contentEl.style.opacity="1")}))}onHide(){}onDestroy(){this._abort(),this._debounceTimer&&(clearTimeout(this._debounceTimer),this._debounceTimer=null),this._contentEl&&(this._cleanupTextInputTimers(),this._contentEl.remove(),this._contentEl=null)}_abort(){this._abortController?.abort(),this._abortController=null}_resolvedQnaHeaderTitle(){const t=this.config.headerTitle??this.config.headingTitle;if(typeof t!="string")return;const e=t.trim();return e.length>0?e:void 0}_cleanupTextInputTimers(){if(!this._contentEl)return;const t=this._contentEl.querySelectorAll(".gengage-qna-input-wrapper");for(const e of t)e._cleanup?.()}async _fetchAndRender(t){if(this._abort(),this._abortController=new AbortController,!this._contentEl)return;this._cleanupTextInputTimers(),this._contentEl.innerHTML="";const e=this._createLoadingIndicator();this._contentEl.appendChild(e);const a={middlewareUrl:this.config.middlewareUrl},n=Co({source:"qna",locale:this.config.locale});try{const i=this.config.session?.sessionId??"",r={account_id:this.config.accountId,session_id:i,correlation_id:i,sku:t,locale:He(this.config.locale)};this.config.session?.userId!==void 0&&(r.user_id=this.config.session.userId),this.config.session?.viewId!==void 0&&(r.view_id=this.config.session.viewId);const o=this.config.pageContext?.pageType;o!==void 0&&(r.page_type=o);const s=await Mp(r,a,this._abortController.signal);if(!this._contentEl)return;this._contentEl.innerHTML="";const c=document.createElement("div");c.className="gengage-qna-panel gds-panel",c.dataset.gengagePart="qna-panel",this._contentEl.appendChild(c);const l=this._specIncludesType(s.uiSpecs,"QuestionHeading"),p=this._resolvedQnaHeaderTitle()??(this.config.showStaticQuestion&&this.config.staticQuestionText?this.config.staticQuestionText:void 0);if(!l&&p){const v=document.createElement("h3");v.className="gengage-qna-heading",v.textContent=p,c.appendChild(v)}const d=this.config.inputPlaceholder;let h;if(d!==!0)h=d??this._i18n.defaultInputPlaceholder;else if(s.actions.length>0){const v=s.actions.filter(_=>_.type==="user_message"||_.title.includes("?")).map(_=>_.title);h=v.length>0?v:this._i18n.defaultInputPlaceholder}else h=this._i18n.defaultInputPlaceholder;const f={onAction:this._actionHandler,i18n:this._i18n},b=this._resolvedQnaHeaderTitle();b!==void 0&&(f.headingTitleOverride=b),this.config.hideButtonRowCta||(f.onOpenChat=this._openChatHandler,this.config.ctaText!==void 0&&(f.ctaText=this.config.ctaText)),h!==void 0&&(f.inputPlaceholder=h);const m=this._buildFallbackActionsSpec(s.actions),u=Dp(this.config.pageContext),g=(s.uiSpecs.length>0?Vp(s.uiSpecs,this._i18n,{skuList:u}):[m]).filter(v=>Object.keys(v.elements).length>0);for(const v of g){const _=this._renderUISpec(v,f);c.appendChild(_)}g.length>0&&Pt("qna"),this._specIncludesType(g,"TextInput")||this._insertStandaloneInputBeforePills(c,f,h)}catch(i){if(i instanceof DOMException&&i.name==="AbortError")return;if(ue("gengage:global:error",{source:"qna",code:"FETCH_ERROR",message:On(this.config.locale,i)}),this._contentEl){this._cleanupTextInputTimers(),this._contentEl.innerHTML="";const r=document.createElement("div");r.className="gengage-qna-panel",this._contentEl.appendChild(r);const o=this.config.inputPlaceholder===!0?this._i18n.defaultInputPlaceholder:this.config.inputPlaceholder??this._i18n.defaultInputPlaceholder,s={onAction:this._actionHandler,i18n:this._i18n,onOpenChat:this._openChatHandler},c=this._resolvedQnaHeaderTitle();c!==void 0&&(s.headingTitleOverride=c),this.config.ctaText!==void 0&&(s.ctaText=this.config.ctaText),this._appendStandaloneInput(s,o,r)}}finally{n()}}_createLoadingIndicator(){const t=document.createElement("div");t.className="gengage-qna-loading";for(let e=0;e<3;e++){const a=document.createElement("div");a.className="gengage-qna-loading-dot",t.appendChild(a)}return t}_resolveI18n(t){return{...Qp(t.locale),...t.i18n}}_createChrome(t){const e=t.chrome;if(!e)return null;const a=typeof e.title=="string"?e.title.trim():"",n=typeof e.subtitle=="string"?e.subtitle.trim():"",i=typeof e.startButtonLabel=="string"?e.startButtonLabel.trim():"",r=typeof e.imageUrl=="string"?e.imageUrl.trim():"",o=typeof e.imagePadding=="string"?e.imagePadding.trim():"",s=document.createElement("section");s.className="gengage-qna-chrome",s.dataset.gengagePart="qna-chrome",e.layout==="side-image"&&(s.classList.add("gengage-qna-chrome--side-image"),s.dataset.gengageChromeLayout="side-image"),o&&s.style.setProperty("--gengage-qna-chrome-image-padding",o);const c=document.createElement("div");if(c.className="gengage-qna-chrome-copy",c.dataset.gengagePart="qna-chrome-copy",a){const l=document.createElement("h2");l.className="gengage-qna-chrome-title",l.dataset.gengagePart="qna-chrome-title",l.textContent=a,c.appendChild(l)}if(n){const l=document.createElement("p");l.className="gengage-qna-chrome-subtitle",l.dataset.gengagePart="qna-chrome-subtitle",l.textContent=n,c.appendChild(l)}if(c.children.length>0&&s.appendChild(c),r&&we(r)){const l=document.createElement("img");l.className="gengage-qna-chrome-image",l.dataset.gengagePart="qna-chrome-image",l.src=r,l.alt=typeof e.imageAlt=="string"?e.imageAlt:"",l.loading="lazy",l.addEventListener("error",()=>{l.style.display="none"},{once:!0}),s.appendChild(l)}if(i){const l=document.createElement("button");l.className="gengage-qna-chrome-start",l.dataset.gengagePart="qna-chrome-start",l.type="button",l.textContent=i,l.addEventListener("click",()=>this._handleOpenChat()),s.appendChild(l)}return s.children.length===0?null:s}_resolveUISpecRegistry(){return pa(No(),this.config.renderer?.registry)}_renderUISpec(t,e){const a=this._resolveUISpecRegistry(),n=this.config.renderer?.unknownRenderer??aa,i=(o,s)=>Mo(o,s,a,n),r=this.config.renderer?.renderUISpec;return r?r(t,e,{registry:a,unknownRenderer:n,defaultRender:i}):i(t,e)}_specIncludesType(t,e){for(const a of t)for(const n of Object.values(a.elements))if(n.type===e)return!0;return!1}_buildFallbackActionsSpec(t){if(t.length===0)return{root:"root",elements:{}};const e={},a=[];for(let n=0;n<t.length;n++){const i=t[n],r=`action-${n}`;a.push(r),e[r]={type:"ActionButton",props:{label:i.title,action:{title:i.title,type:i.type,payload:i.payload}}}}return e.root={type:"ButtonRow",children:a},{root:"root",elements:e}}_insertStandaloneInputBeforePills(t,e,a){const n={root:"root",elements:{root:{type:"TextInput",props:{placeholder:a}}}},i=this._renderUISpec(n,e),r=i.querySelector(".gengage-qna-input-wrapper");if(!r)return;const o=t.querySelector(".gengage-qna-uispec"),s=t.querySelector(".gengage-qna-uispec > .gengage-qna-buttons"),c=this.config.inputAfterPills===!0;if(s)c?s.insertAdjacentElement("afterend",r):s.insertAdjacentElement("beforebegin",r);else if(o){const l=o.querySelector(":scope > .gengage-qna-heading");!c&&l?l.insertAdjacentElement("afterend",r):o.appendChild(r)}else{t.appendChild(i);return}i.remove()}_appendStandaloneInput(t,e,a){if(!this._contentEl)return;const n={root:"root",elements:{root:{type:"TextInput",props:{placeholder:e}}}},i=this._renderUISpec(n,t);(a??this._contentEl).appendChild(i)}_handleAction(t){this._showTransitionIndicator(),la(t.title,t.type),this.config.onActionSelected?.(t),setTimeout(()=>ue("gengage:qna:action",t),350)}_handleOpenChat(){this._showTransitionIndicator(),this.config.onOpenChat?.(),setTimeout(()=>ue("gengage:qna:open-chat",{}),350)}_showTransitionIndicator(){if(!this._contentEl)return;this._contentEl.querySelector(".gengage-qna-transition-indicator")?.remove(),this._contentEl.classList.add("gengage-qna--transitioning");const t=this._i18n.redirectingToChat??"Redirecting to chat...",e=document.createElement("div");e.className="gengage-qna-transition-indicator",e.textContent=t,(this._contentEl.querySelector(".gengage-qna-panel")??this._contentEl).appendChild(e),setTimeout(()=>{this._contentEl?.classList.remove("gengage-qna--transitioning"),e.remove()},600)}}}));function Fo(t){const e=[];for(const a of Object.values(t))if(a.type==="ProductCard"&&a.props){const n=a.props.product??a.props;typeof n.sku=="string"&&typeof n.name=="string"&&e.push(n)}return e}function Do(t){const e=t.headers.get("Content-Type")??"";return e.includes("application/x-ndjson")||e.includes("text/event-stream")}async function ah(t,e){const a=[],n={onEvent:i=>{const r=Rt(i);!r||r.type!=="ui_spec"||a.push(...Fo(r.spec.elements))}};return e!==void 0&&(n.signal=e),await Nt(t,n),a}async function nh(t,e,a){const n=zt("similar_products",e),i={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)};a!==void 0&&(i.signal=a);const r=await Ht(n,i);if(!r.ok)throw new Error(`HTTP ${r.status}: ${r.statusText}`);if(Do(r))return ah(r,a);const o=await r.text();if(!o)throw new Error("Empty response body from similar_products endpoint");try{return qc(JSON.parse(o))}catch{throw new Error("Invalid JSON from similar_products endpoint")}}async function ih(t,e){const a=[];let n=null;const i={onEvent:r=>{const o=Rt(r);if(o){if(o.type==="metadata"&&o.meta){const s=o.meta.group_name;if(typeof s=="string"){n={name:s,products:[]};const c=o.meta.highlight;typeof c=="string"&&(n.highlight=c),a.push(n)}}o.type==="ui_spec"&&n&&n.products.push(...Fo(o.spec.elements))}}};return e!==void 0&&(i.signal=e),await Nt(t,i),a}async function rh(t,e,a){const n=zt("product_groupings",e),i={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)};a!==void 0&&(i.signal=a);const r=await Ht(n,i);if(!r.ok)throw new Error(`HTTP ${r.status}: ${r.statusText}`);if(Do(r))return ih(r,a);const o=await r.text();if(!o)return[];try{return jc(JSON.parse(o))}catch{throw new Error("Invalid JSON from product_groupings endpoint")}}var oh=L((()=>{Ta(),va(),Ma(),Pa()}));function Uo(t){const{product:e,index:a,discountType:n,onClick:i,onAddToCart:r,renderCard:o}=t,s=t.i18n,c=t.pricing;if(t.renderCardElement){const m=t.renderCardElement(e,a);if(m)return m}if(o){const m=document.createElement("div");return m.className="gengage-simrel-card gengage-simrel-card--custom gds-card gds-product-card gds-card-interactive",m.dataset.gengagePart="simrel-product-card",m.innerHTML=ye(o(e,a)),m.addEventListener("click",u=>{u.target.closest(".gengage-simrel-atc")||u.target.closest(".gengage-chat-product-card-atc")||i(e)}),m}const l=document.createElement("article");l.className="gengage-simrel-card gengage-chat-product-card gds-card gds-product-card gds-card-interactive",l.dataset.gengagePart="simrel-product-card",e.inStock===!1&&l.classList.add("gengage-simrel-card--out-of-stock"),l.setAttribute("role","listitem"),l.dataset.sku=e.sku;const p=document.createElement("div");if(p.className="gengage-simrel-card-image gengage-chat-product-card-img-wrapper",p.dataset.gengagePart="simrel-product-card-image",e.imageUrl&&we(e.imageUrl)){const m=document.createElement("img");m.className="gengage-chat-product-card-img",m.src=e.imageUrl,m.alt=e.name,m.loading="lazy",Ce(m),p.appendChild(m)}if(n==="badge"&&e.discountPercent&&e.discountPercent>0){const m=document.createElement("span");m.className="gengage-simrel-badge gengage-chat-product-card-discount-badge",m.textContent=`%${Ua(e.discountPercent)}`,p.appendChild(m)}l.appendChild(p);const d=document.createElement("div");if(d.className="gengage-simrel-card-info gengage-chat-product-card-body",d.dataset.gengagePart="simrel-product-card-body",e.brand){const m=document.createElement("div");m.className="gengage-simrel-card-brand gengage-chat-product-card-brand",m.textContent=e.brand,d.appendChild(m)}const h=document.createElement("div");if(h.className="gengage-simrel-card-name gengage-chat-product-card-name",h.textContent=e.name,h.title=e.name,d.appendChild(h),e.rating!=null&&e.rating>0){const m=document.createElement("div");if(m.className="gengage-simrel-card-rating gengage-chat-product-card-rating",m.appendChild(Oa(e.rating)),e.reviewCount!=null){const u=document.createElement("span");u.className="gengage-simrel-card-review-count gengage-chat-product-card-review-count",u.textContent=` (${e.reviewCount})`,m.appendChild(u)}d.appendChild(m)}const f=document.createElement("div");if(f.className="gengage-simrel-card-price gengage-chat-product-card-price",e.originalPrice&&e.originalPrice!==e.price&&(n==="strike-through"||n==="inline"||!n)){const m=document.createElement("span");m.className=["gengage-simrel-card-price-original","gengage-chat-product-card-original-price"].join(" "),n==="inline"&&m.classList.add("gengage-simrel-card-price-original--inline"),m.textContent=te(e.originalPrice,c),f.appendChild(m)}if(e.price&&parseFloat(e.price)>0){const m=document.createElement("span");m.className="gengage-simrel-card-price-current gengage-chat-product-card-price-current",m.textContent=te(e.price,c),f.appendChild(m)}d.appendChild(f),l.appendChild(d);const b=document.createElement("button");if(b.className="gengage-simrel-card-cta gengage-chat-product-card-cta gds-btn gds-btn-secondary",b.type="button",b.dataset.gengagePart="simrel-product-card-cta",b.textContent=s?.ctaLabel??"View",b.addEventListener("click",m=>{m.preventDefault(),m.stopPropagation(),i(e)}),l.appendChild(b),e.inStock===!1){const m=document.createElement("div");m.className="gengage-simrel-card-oos",m.textContent=s?.outOfStockLabel??"Out of Stock",l.appendChild(m)}else if(e.cartCode){const m=document.createElement("button");m.className="gengage-simrel-atc gengage-simrel-atc-button gds-btn gds-btn-secondary",m.type="button",m.textContent=s?.addToCartButton??"Add to Cart",m.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),r({sku:e.sku,quantity:1,cartCode:e.cartCode})}),l.appendChild(m)}return l.addEventListener("click",m=>{m.target.closest(".gengage-simrel-atc")||m.target.closest(".gengage-chat-product-card-atc")||m.target.closest(".gengage-chat-product-card-cta")||i(e)}),l}var Oo=L((()=>{ct(),ge(),je()}));function qo(t){const e=document.createElement("div");e.className="gengage-simrel-grid",e.setAttribute("role","list"),e.setAttribute("aria-label",t.i18n?.similarProductsAriaLabel??"Similar products"),t.columns&&e.style.setProperty("--gengage-simrel-columns",String(t.columns));for(let a=0;a<t.products.length;a++){const n={product:t.products[a],index:a,onClick:t.onClick,onAddToCart:t.onAddToCart};t.i18n!==void 0&&(n.i18n=t.i18n),t.discountType!==void 0&&(n.discountType=t.discountType),t.renderCard!==void 0&&(n.renderCard=t.renderCard),t.renderCardElement!==void 0&&(n.renderCardElement=t.renderCardElement);const i=Uo(n);e.appendChild(i)}return t.products.length===0&&(e.style.display="none",e.dataset.empty="true"),e}var sh=L((()=>{Oo()}));function ch(t){const e=jo++,a=document.createElement("div");if(a.className="gengage-simrel-groups",a.dataset.gengagePart="simrel-groups",t.groups.length===0)return a.style.display="none",a.dataset.empty="true",a;const n=document.createElement("div");n.className="gengage-simrel-tabs gds-toolbar",n.dataset.gengagePart="simrel-tab-bar",n.setAttribute("role","tablist");const i=[],r=[];let o=0;const s=u=>{const g={products:u.products,onClick:t.onClick,onAddToCart:t.onAddToCart};return t.i18n!==void 0&&(g.i18n=t.i18n),t.discountType!==void 0&&(g.discountType=t.discountType),t.renderCard!==void 0&&(g.renderCard=t.renderCard),t.renderCardElement!==void 0&&(g.renderCardElement=t.renderCardElement),t.columns!==void 0&&(g.columns=t.columns),g},c=(u,g=!1)=>{if(g&&u!==o&&t.onGroupingActivate){const k=t.groups[u];t.onGroupingActivate({grouping_label:k.name,grouping_index:u})}o=u;for(let k=0;k<i.length;k++){const P=k===u;i[k].classList.toggle("gengage-simrel-tab--active",P),i[k].setAttribute("aria-selected",String(P)),i[k].tabIndex=P?0:-1}const v=t.groups[u],_=r[u];_.innerHTML="";const y=qo(s(v));_.appendChild(y);for(let k=0;k<r.length;k++){const P=k===u;r[k].style.display=P?"":"none",r[k].tabIndex=P?0:-1}};for(let u=0;u<t.groups.length;u++){const g=t.groups[u],v=`gengage-simrel-tab-${e}-${u}`,_=`gengage-simrel-panel-${e}-${u}`,y=document.createElement("button");y.className="gengage-simrel-tab gds-tab",y.type="button",y.dataset.gengagePart="simrel-tab",y.id=v,y.textContent=g.name,y.setAttribute("role","tab"),y.setAttribute("aria-controls",_),y.setAttribute("aria-selected",String(u===0)),y.tabIndex=u===0?0:-1,u===0&&y.classList.add("gengage-simrel-tab--active"),y.addEventListener("click",()=>c(u,!0)),y.addEventListener("keydown",P=>{let w=-1;P.key==="ArrowRight"||P.key==="ArrowDown"?w=(u+1)%t.groups.length:P.key==="ArrowLeft"||P.key==="ArrowUp"?w=(u-1+t.groups.length)%t.groups.length:P.key==="Home"?w=0:P.key==="End"&&(w=t.groups.length-1),w>=0&&(P.preventDefault(),c(w,!0),i[w].focus())}),i.push(y),n.appendChild(y);const k=document.createElement("div");k.className="gengage-simrel-tab-panel",k.dataset.gengagePart="simrel-tab-panel",k.id=_,k.setAttribute("role","tabpanel"),k.setAttribute("aria-labelledby",v),k.tabIndex=u===0?0:-1,u!==0&&(k.style.display="none"),r.push(k)}const l=document.createElement("button");l.type="button",l.className="gengage-simrel-tabs-arrow gengage-simrel-tabs-arrow--left",l.setAttribute("aria-label",t.i18n?.scrollTabsLeft??"Scroll tabs left"),l.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"/></svg>';const p=document.createElement("button");p.type="button",p.className="gengage-simrel-tabs-arrow gengage-simrel-tabs-arrow--right",p.setAttribute("aria-label",t.i18n?.scrollTabsRight??"Scroll tabs right"),p.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>';const d=200;l.addEventListener("click",()=>{n.scrollBy({left:-200,behavior:"smooth"})}),p.addEventListener("click",()=>{n.scrollBy({left:d,behavior:"smooth"})});const h=()=>{const u=n.scrollLeft<=4,g=n.scrollLeft+n.clientWidth>=n.scrollWidth-4;l.style.display=u?"none":"",p.style.display=g?"none":"",n.classList.toggle("gengage-simrel-tabs--peek-right",!g),n.classList.toggle("gengage-simrel-tabs--peek-left",!u)};n.addEventListener("scroll",h,{passive:!0}),typeof ResizeObserver<"u"&&new ResizeObserver(h).observe(n),l.style.display="none",p.style.display="none",requestAnimationFrame(h);const f=document.createElement("div");f.className="gengage-simrel-tabs-wrapper",f.appendChild(l),f.appendChild(n),f.appendChild(p),a.appendChild(f);const b=r[0],m=qo(s(t.groups[0]));b.appendChild(m);for(const u of r)a.appendChild(u);return a}var jo,lh=L((()=>{sh(),jo=0}));function $o(t){if(!t||typeof t!="object")return null;const e=t;if(typeof e.sku!="string"||typeof e.name!="string"||typeof e.url!="string")return null;const a={sku:e.sku,name:e.name,url:e.url},n=e.imageUrl;typeof n=="string"&&(a.imageUrl=n);const i=e.price;typeof i=="string"&&(a.price=i);const r=e.originalPrice;typeof r=="string"&&(a.originalPrice=r);const o=e.discountPercent;typeof o=="number"&&(a.discountPercent=o);const s=e.brand;typeof s=="string"&&(a.brand=s);const c=e.rating;typeof c=="number"&&(a.rating=c);const l=e.reviewCount;typeof l=="number"&&(a.reviewCount=l);const p=e.cartCode;typeof p=="string"&&(a.cartCode=p);const d=e.inStock;typeof d=="boolean"&&(a.inStock=d);const h=e.extras;return h!=null&&typeof h=="object"&&(a.extras=h),a}function gh(t){if(!t||typeof t!="object")return null;const e=t,a=e.title,n=e.type;if(typeof a!="string"||typeof n!="string")return null;const i={title:a,type:n};return e.payload!==void 0&&(i.payload=e.payload),i}function Vo(){return{..._n}}function Go(t,e,a=_n,n=na){return da({spec:t,context:e,registry:a,containerClassName:"gengage-simrel-uispec",unknownRenderer:n})}var _n,na,dh=L((()=>{nt(),Oo(),lh(),_n={ProductGrid:({element:t,renderElement:e,context:a})=>{const n=document.createElement("div");n.className="gengage-simrel-grid",n.setAttribute("role","list");const i=t.props?.columns;let r;typeof i=="number"&&Number.isFinite(i)&&i>0?r=Math.floor(i):typeof a.gridColumns=="number"&&Number.isFinite(a.gridColumns)&&a.gridColumns>0&&(r=Math.floor(a.gridColumns)),r!==void 0&&n.style.setProperty("--gengage-simrel-columns",String(r));for(const o of t.children??[]){const s=e(o);s&&n.appendChild(s)}if(n.children.length===0){const o=document.createElement("div");o.className="gengage-simrel-empty",o.textContent=a.i18n.emptyStateMessage,n.appendChild(o)}return n},ProductCard:({element:t,context:e})=>{const a=$o(t.props?.product??t.props);if(!a)return null;const n=t.props?.index,i=typeof n=="number"&&Number.isFinite(n)?n:0,r=t.props?.discountType,o=r==="strike-through"||r==="badge"||r==="inline"?r:e.discountType,s={product:a,index:i,onClick:e.onClick,onAddToCart:e.onAddToCart,i18n:e.i18n};return o!==void 0&&(s.discountType=o),e.renderCard!==void 0&&(s.renderCard=e.renderCard),e.renderCardElement!==void 0&&(s.renderCardElement=e.renderCardElement),e.pricing!==void 0&&(s.pricing=e.pricing),Uo(s)},GroupTabs:({element:t,context:e})=>{const a=t.props?.groups;if(!Array.isArray(a))return null;const n=[];for(const o of a){if(!o||typeof o!="object")continue;const s=o;if(typeof s.name!="string")continue;const c=[];if(Array.isArray(s.products))for(const p of s.products){const d=$o(p);d&&c.push(d)}const l={name:s.name,products:c};typeof s.highlight=="string"&&(l.highlight=s.highlight),n.push(l)}const i={groups:n,onClick:e.onClick,onAddToCart:e.onAddToCart,i18n:e.i18n},r=t.props?.columns;return typeof r=="number"&&Number.isFinite(r)&&r>0?i.columns=Math.floor(r):typeof e.gridColumns=="number"&&Number.isFinite(e.gridColumns)&&e.gridColumns>0&&(i.columns=Math.floor(e.gridColumns)),e.discountType!==void 0&&(i.discountType=e.discountType),e.renderCard!==void 0&&(i.renderCard=e.renderCard),e.renderCardElement!==void 0&&(i.renderCardElement=e.renderCardElement),e.onGroupingActivate!==void 0&&(i.onGroupingActivate=e.onGroupingActivate),ch(i)},EmptyState:({element:t,context:e})=>{const a=document.createElement("div");a.className="gengage-simrel-empty";const n=t.props?.message;return a.textContent=typeof n=="string"?n:e.i18n.emptyStateMessage,a},AddToCartButton:({element:t,context:e})=>{const a=t.props?.sku,n=t.props?.cartCode;if(typeof a!="string"||typeof n!="string")return null;const i=document.createElement("button");i.className="gengage-simrel-atc gengage-chat-product-card-cta",i.type="button";const r=t.props?.label;return i.textContent=typeof r=="string"?r:e.i18n.addToCartButton,i.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation(),e.onAddToCart({sku:a,quantity:1,cartCode:n})}),i},QuickActions:({element:t,context:e})=>{const a=document.createElement("div");a.className="gengage-simrel-quick-actions";const n=t.props?.actions;if(!Array.isArray(n)||!e.onAction)return a;for(const i of n){if(!i||typeof i!="object")continue;const r=i,o=r.label,s=gh(r.action);if(typeof o!="string"||!s)continue;const c=document.createElement("button");c.className="gengage-simrel-quick-action",c.type="button",c.textContent=o,c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),e.onAction?.(s)}),a.appendChild(c)}return a}},na=({element:t,renderElement:e})=>{if(!t.children||t.children.length===0)return null;const a=document.createElement("div");for(const n of t.children){const i=e(n);i&&a.appendChild(i)}return a}})),wn,ph=L((()=>{wn={similarProductsAriaLabel:"Benzer ürünler",emptyStateMessage:"Benzer ürün bulunamadı.",addToCartButton:"Sepete Ekle",ctaLabel:"İncele",outOfStockLabel:"Stokta Yok",decreaseLabel:"Azalt",increaseLabel:"Artır",errorLoadingMessage:"Benzer ürünler yüklenemedi.",retryButtonText:"Tekrar dene",priceSuffix:" TL",scrollTabsLeft:"Sola kaydır",scrollTabsRight:"Sağa kaydır"}})),Wo,hh=L((()=>{Wo={similarProductsAriaLabel:"Similar products",emptyStateMessage:"No similar products found.",addToCartButton:"Add to cart",ctaLabel:"View",outOfStockLabel:"Out of Stock",decreaseLabel:"Decrease",increaseLabel:"Increase",errorLoadingMessage:"Could not load similar products.",retryButtonText:"Try again",priceSuffix:"",scrollTabsLeft:"Scroll tabs left",scrollTabsRight:"Scroll tabs right"}}));function uh(t){return t?t.toLowerCase().split("-")[0]??"tr":"tr"}function mh(t){return uh(t)==="en"?Wo:wn}var fh=L((()=>{ph(),hh()})),bh=L((()=>{})),vh=St({GengageSimRel:()=>kn,createDefaultSimRelUISpecRegistry:()=>Vo,createSimRelWidget:()=>xh,defaultSimRelUnknownUISpecRenderer:()=>na,renderSimRelUISpec:()=>Go});function yh(t){return t instanceof DOMException&&t.name==="AbortError"}function xh(){return new kn}var Ko,kn,_h=L((()=>{nt(),Lt(),ht(),Ke(),To(),it(),oh(),dh(),fh(),at(),bh(),Ko=12e4,kn=class extends pt{constructor(...t){super(...t),this._abortController=null,this._contentEl=null,this._lastResultCount=-1,this._i18n=wn,this._pendingAddToCartKeys=new Set}async init(t){if(!this.isInitialised&&(t.mountTarget===void 0||t.mountTarget===null))throw new Error("[gengage] SimRel mountTarget is required. Provide a merchant-owned mount before initializing.");await super.init(t)}async onInit(t){this._i18n=this._resolveI18n(t),this._contentEl=document.createElement("div"),this._contentEl.className="gengage-simrel-container",this._contentEl.dataset.gengagePart="simrel-container",this._contentEl.lang=He(t.locale);const e=this._clampGridColumns(t.gridColumns);e!==void 0&&this._contentEl.style.setProperty("--gengage-simrel-columns",String(e)),this.root.appendChild(this._contentEl),this._lastSku=t.sku,await this._fetchAndRender(t.sku),Et("simrel")}onUpdate(t){const e=t.sku;!e||e===this._lastSku&&this._lastResultCount!==0||(this._lastSku=e,this._fetchAndRender(e))}onShow(){this._contentEl&&(this._contentEl.style.opacity="0",this._contentEl.style.transition="opacity 0.3s ease-in",requestAnimationFrame(()=>{this._contentEl&&(this._contentEl.style.opacity="1")}))}onHide(){}onDestroy(){this._abort(),this._contentEl&&(this._contentEl.remove(),this._contentEl=null)}_handleProductClick(t){const e={sku:t.sku,name:t.name,url:t.url};if(t.imageUrl!==void 0&&(e.imageUrl=t.imageUrl),t.price!==void 0&&(e.price=t.price),t.originalPrice!==void 0&&(e.originalPrice=t.originalPrice),t.discountPercent!==void 0&&(e.discountPercent=t.discountPercent),t.brand!==void 0&&(e.brand=t.brand),t.rating!==void 0&&(e.rating=t.rating),t.reviewCount!==void 0&&(e.reviewCount=t.reviewCount),t.cartCode!==void 0&&(e.cartCode=t.cartCode),t.inStock!==void 0&&(e.inStock=t.inStock),this.config.onProductClick?.(e)===!1)return;const a=this.config.session?.sessionId??null;ue("gengage:similar:product-click",{sku:t.sku,url:t.url,sessionId:a,productName:t.name}),this.config.onProductNavigate?.(t.url,t.sku,a)}async _handleAddToCart(t){const e=`${t.sku}\0${t.cartCode}\0${t.quantity}`;if(!this._pendingAddToCartKeys.has(e)){this._pendingAddToCartKeys.add(e);try{if(this.config.onAddToCart===void 0)return;try{await Promise.resolve(this.config.onAddToCart(t))}catch(a){console.error("[gengage] simrel onAddToCart",a);return}Hn(t.sku,t.quantity),ue("gengage:similar:add-to-cart",t)}finally{this._pendingAddToCartKeys.delete(e)}}}_abort(){this._abortController?.abort(),this._abortController=null}_isSuperseded(t){return this._abortController?.signal!==t}_emitSimilarProductsImpression(t,e){const a=this.config.session?.sessionId??null;ue("gengage:similar:products-impression",{source_sku:this.config.sku,product_count:t,grouped:e,sessionId:a})}_resolveRequestTimeoutMs(){const t=this.config.requestTimeoutMs;return typeof t!="number"||!Number.isFinite(t)||t<=0?Ko:Math.floor(t)}async _fetchAndRender(t){this._abort();const e=new AbortController;this._abortController=e;const a=e.signal;let n=!1;const i=setTimeout(()=>{n=!0,e.abort()},this._resolveRequestTimeoutMs());if(a.addEventListener("abort",()=>clearTimeout(i),{once:!0}),!this._contentEl)return;this._contentEl.innerHTML="",this._contentEl.style.display="";const r=document.createElement("div");r.className="gengage-simrel-loading",r.dataset.gengagePart="simrel-loading";const o=document.createElement("div");o.className="gengage-simrel-spinner",o.dataset.gengagePart="simrel-loading-spinner",r.appendChild(o),this._contentEl.appendChild(r);const s={middlewareUrl:this.config.middlewareUrl},c=Co({source:"simrel",locale:this.config.locale});try{const l={account_id:this.config.accountId,session_id:this.config.session?.sessionId??"",correlation_id:this.config.session?.sessionId??"",sku:t};this.config.domain!==void 0&&(l.domain=this.config.domain);const p=await nh(l,s,a);if(this._lastResultCount=p.length,!this._contentEl)return;if(this._contentEl.innerHTML="",p.length>0&&this.config.enableProductGroupings!==!1)try{const d=p.map(b=>b.sku),h=new Map(p.map(b=>[b.sku,b])),f=(await rh({account_id:this.config.accountId,session_id:this.config.session?.sessionId??"",correlation_id:this.config.session?.sessionId??"",skus:d},s,a)).map(b=>({...b,products:b.products.map(m=>({...h.get(m.sku),...m})).filter(m=>typeof m.sku=="string"&&typeof m.name=="string"&&typeof m.url=="string")})).filter(b=>b.products.length>0);if(f.length>0&&this._contentEl){const b=this._buildGroupsSpec(f),m=this._renderUISpec(b);this._contentEl.appendChild(m),Pt("simrel"),this._emitSimilarProductsImpression(f.reduce((u,g)=>u+g.products.length,0),!0);return}}catch{}if(this._isSuperseded(a))return;if(this._contentEl){const d=this._buildProductsSpec(p),h=this._renderUISpec(d);this._contentEl.appendChild(h)}p.length>0&&Pt("simrel"),this._emitSimilarProductsImpression(p.length,!1)}catch(l){const p=yh(l);if(p&&this._isSuperseded(a))return;if(ue("gengage:global:error",{source:"simrel",code:p&&n?"REQUEST_TIMEOUT":"FETCH_ERROR",message:On(this.config.locale,l)}),this._contentEl){this._contentEl.innerHTML="";const d=document.createElement("div");d.className="gengage-simrel-error";const h=document.createElement("span");h.textContent=this._i18n.errorLoadingMessage,d.appendChild(h);const f=document.createElement("button");f.className="gengage-simrel-retry",f.textContent=this._i18n.retryButtonText,f.addEventListener("click",()=>{this._fetchAndRender(this.config.sku)}),d.appendChild(f),this._contentEl.appendChild(d)}}finally{clearTimeout(i),c()}}_clampGridColumns(t){if(!(t===void 0||typeof t!="number"||!Number.isFinite(t)))return Math.max(1,Math.min(12,Math.floor(t)))}_resolveI18n(t){return{...mh(t.locale),...t.i18n}}_resolveUISpecRegistry(){return pa(Vo(),this.config.renderer?.registry)}_buildRenderContext(){const t=this.config.renderCard,e={onClick:n=>this._handleProductClick(n),onAddToCart:n=>{this._handleAddToCart(n)},onGroupingActivate:n=>{ue("gengage:similar:grouping-click",{grouping_label:n.grouping_label,grouping_index:n.grouping_index,sessionId:this.config.session?.sessionId??null})},i18n:this._i18n};this.config.discountType!==void 0&&(e.discountType=this.config.discountType),t!==void 0&&(e.renderCard=t),this.config.renderCardElement!==void 0&&(e.renderCardElement=this.config.renderCardElement),this.config.pricing!==void 0&&(e.pricing=this.config.pricing);const a=this._clampGridColumns(this.config.gridColumns);return a!==void 0&&(e.gridColumns=a),e}_renderUISpec(t){const e=this._resolveUISpecRegistry(),a=this._buildRenderContext(),n=this.config.renderer?.unknownRenderer??na,i=(o,s)=>Go(o,s,e,n),r=this.config.renderer?.renderUISpec;return r?r(t,a,{registry:e,unknownRenderer:n,defaultRender:i}):i(t,a)}_buildProductsSpec(t){const e={},a=[];for(let r=0;r<t.length;r++){const o=t[r],s=`product-${r}`;a.push(s),e[s]={type:"ProductCard",props:{product:o,index:r,discountType:this.config.discountType}}}const n={layout:"grid"},i=this._clampGridColumns(this.config.gridColumns);return i!==void 0&&(n.columns=i),e.root={type:"ProductGrid",props:n,children:a},{root:"root",elements:e}}_buildGroupsSpec(t){return{root:"root",elements:{root:{type:"GroupTabs",props:{groups:t}}}}}}})),Cn,Yo,wh=L((()=>{Cn={findSimilarLabel:"Benzerlerini Bul"},Yo={findSimilarLabel:"Find Similar"}})),kh=L((()=>{})),Ch=St({GengageSimBut:()=>Sn,createSimButWidget:()=>Eh});function Sh(t,e){return e?.findSimilarLabel?e.findSimilarLabel:(t??"tr").toLowerCase().startsWith("en")?Yo.findSimilarLabel:Cn.findSimilarLabel}function ia(t){const e=typeof t.sku=="string"&&t.sku.length>0?t.sku:void 0,a=typeof t.pageContext?.sku=="string"&&t.pageContext.sku.length>0?t.pageContext.sku:void 0;return e??a}function Eh(){return new Sn}var Sn,Ph=L((()=>{Lt(),ge(),ht(),at(),wh(),kh(),Sn=class extends pt{constructor(...t){super(...t),this._button=null,this._inlineFrame=null,this._label=Cn.findSimilarLabel}async onInit(t){this._label=Sh(t.locale,t.i18n);const e=t.layout??"overlay";this.root.classList.add("gengage-simbut-root"),this.root.classList.toggle("gengage-simbut-root--overlay",e==="overlay"),this.root.classList.toggle("gengage-simbut-root--inline-card",e==="inline-card"),e==="overlay"&&window.getComputedStyle(this.root).position==="static"&&(this.root.style.position="relative");const a=document.createElement("button");a.type="button",a.className="gengage-chat-find-similar-pill",a.lang=He(t.locale),a.textContent=this._label,this._button=a;const n=()=>{a.disabled=!(ia(this.config)&&(this.config.onFindSimilar||this.config.chat))};if(a.addEventListener("click",i=>{i.stopPropagation();const r=ia(this.config);if(!r)return;const o=this.config.imageUrl,s=typeof o=="string"&&pe(o)?o:void 0;if(la(this._label,"findSimilar"),Rn(r),this.config.onFindSimilar){this.config.onFindSimilar(s?{sku:r,imageUrl:s}:{sku:r});return}const c=this.config.chat;if(!c)return;const l={title:this._label,type:"findSimilar",payload:{sku:r}};c.openWithAction(l,{sku:r})}),e==="inline-card"){const i=this._createInlineCard(t,a);this._inlineFrame=i,this.root.appendChild(i)}else this.root.appendChild(a);n(),Et("simbut")}_createInlineCard(t,e){const a=t.inlineCard,n=typeof a?.title=="string"?a.title.trim():"",i=typeof a?.description=="string"?a.description.trim():"",r=typeof a?.imageUrl=="string"?a.imageUrl.trim():"",o=document.createElement("section");o.className="gengage-simbut-inline-card",o.dataset.gengagePart="simbut-inline-card";const s=document.createElement("div");if(s.className="gengage-simbut-inline-copy",s.dataset.gengagePart="simbut-inline-copy",n){const l=document.createElement("h4");l.className="gengage-simbut-inline-title",l.dataset.gengagePart="simbut-inline-title",l.textContent=n,s.appendChild(l)}if(i){const l=document.createElement("p");l.className="gengage-simbut-inline-description",l.dataset.gengagePart="simbut-inline-description",l.textContent=i,s.appendChild(l)}s.children.length>0&&o.appendChild(s);const c=document.createElement("div");if(c.className="gengage-simbut-inline-action",c.dataset.gengagePart="simbut-inline-action",c.appendChild(e),o.appendChild(c),r&&we(r)){const l=document.createElement("img");l.className="gengage-simbut-inline-image",l.dataset.gengagePart="simbut-inline-image",l.src=r,l.alt=typeof a?.imageAlt=="string"?a.imageAlt:"",l.loading="lazy",l.addEventListener("error",()=>{l.style.display="none"},{once:!0}),o.appendChild(l)}return o}onUpdate(t){if(!this._button)return;const e=!!ia(this.config)&&(!!this.config.onFindSimilar||!!this.config.chat);this._button.disabled=!e}hide(){this.isVisible&&(this.isVisible=!1,this._inlineFrame&&(this._inlineFrame.style.display="none"),this._button&&(this._button.style.display="none"),this.onHide(),this.emit("hide"))}show(){this.isVisible||(this.isVisible=!0,this._inlineFrame&&(this._inlineFrame.style.display=""),this._button&&(this._button.style.display=""),this.onShow(),this.emit("show"))}_cleanupRoot(){}onShow(){}onHide(){}onDestroy(){this._inlineFrame?.remove(),this._inlineFrame=null,this._button?.remove(),this._button=null}setChat(t){if(this.config.chat=t,this._button){const e=!!ia(this.config)&&(!!this.config.onFindSimilar||!!this.config.chat);this._button.disabled=!e}}}}));Ln(),Ke(),ge(),at();var Th=`${os}_overlay_`,Ah="#gengage-qna",Lh="#gengage-simrel",Ih="#gengage-simbut";function Qo(){const t=window;return t.__gengageOverlayRegistry||(t.__gengageOverlayRegistry={instances:{},pending:{}}),t.__gengageOverlayRegistry}function Nh(t){const e={pageType:t.pageContext?.pageType??(typeof t.sku=="string"?"pdp":"other")},a=t.pageContext;return typeof a?.sku=="string"&&(e.sku=a.sku),a?.skuList!==void 0&&(e.skuList=a.skuList),a?.price!==void 0&&(e.price=a.price),a?.categoryTree!==void 0&&(e.categoryTree=a.categoryTree),a?.url!==void 0&&(e.url=a.url),a?.extra!==void 0&&(e.extra=a.extra),typeof t.sku=="string"&&(e.sku=t.sku),e}function Mh(t,e){const a={...t,...e,pageType:e.pageType??t.pageType};return e.sku!==void 0&&typeof e.sku!="string"&&delete a.sku,e.pageType!==void 0&&e.pageType!==t.pageType?(e.pageType!=="pdp"&&e.sku===void 0&&delete a.sku,e.pageType!=="plp"&&e.skuList===void 0&&delete a.skuList):(e.sku===void 0&&t.sku!==void 0&&(a.sku=t.sku),e.skuList===void 0&&t.skuList!==void 0&&(a.skuList=t.skuList)),a}function En(t){return t instanceof HTMLElement||document.querySelector(t)?t:null}function Zo(t){return t.idempotencyKey??`${Th}${t.accountId}`}var Bh=class{constructor(t,e){this.options=t,this.onDestroy=e,this._chat=null,this._qna=null,this._simrel=null,this._simbut=null,this._offQnaWire=null,this._destroyed=!1,this._queue=Promise.resolve(),this._warnedQnaMountMissing=!1,this._warnedSimRelMountMissing=!1,this._warnedSimButMountMissing=!1,this._warnedSimButNoChat=!1,this.idempotencyKey=Zo(t),this.session=An(t.session),this._pageContext=Nh(t)}get chat(){return this._chat}get qna(){return this._qna}get simrel(){return this._simrel}get simbut(){return this._simbut}async init(){window.gengage||(window.gengage={}),window.gengage.sessionId=this.session.sessionId,window.gengage.pageContext=this._pageContext,await this._initChat(),this.options.wireQnaToChat!==!1&&(this._offQnaWire=Ss()),await this._syncPdpWidgets(),window.gengage.overlay=this}openChat(t){this._chat?.open(t)}closeChat(){this._chat?.close()}async updateContext(t){this._destroyed||await this._enqueue(async()=>{this._pageContext=Mh(this._pageContext,t),window.gengage||(window.gengage={}),window.gengage.pageContext=this._pageContext,this._chat?.update(this._pageContext),this._qna?.update(this._pageContext),this._simrel?.update(this._pageContext),this._simbut?.update(this._pageContext),await this._syncPdpWidgets()})}async updateSku(t,e="pdp"){await this.updateContext({sku:t,pageType:e})}async updatePageContext(t){await this.updateContext(t)}async setPageContext(t){await this.updateContext(t)}destroy(){this._destroyed||(this._destroyed=!0,this._offQnaWire?.(),this._offQnaWire=null,this._chat?.destroy(),this._qna?.destroy(),this._simrel?.destroy(),this._simbut?.destroy(),this._chat=null,this._qna=null,this._simrel=null,this._simbut=null,window.gengage?.overlay===this&&delete window.gengage.overlay,this.onDestroy())}async _initChat(){if(this.options.chat?.enabled===!1)return;const t=this.options.middlewareUrl,e=this.options.chat?.productDetailsExtended??this.options.productDetailsExtended,a=this.options.chat?.isDemoWebsite??this.options.isDemoWebsite,n=this.options.chat?.injectorAdapter??this.options.injectorAdapter,i={accountId:this.options.accountId,middlewareUrl:t,session:this.session,pageContext:this._pageContext,variant:this.options.chat?.variant??"floating"};this.options.theme!==void 0&&(i.theme=this.options.theme),n!==void 0&&(i.injectorAdapter=n),this.options.locale!==void 0&&(i.locale=this.options.locale),this.options.pricing!==void 0&&(i.pricing=this.options.pricing),this.options.chat?.mountTarget!==void 0&&(i.mountTarget=this.options.chat.mountTarget),this.options.chat?.pillLauncher!==void 0&&(i.pillLauncher=this.options.chat.pillLauncher),this.options.chat?.floatingLauncher!==void 0&&(i.floatingLauncher=this.options.chat.floatingLauncher),this.options.chat?.inlineLauncher!==void 0&&(i.inlineLauncher=this.options.chat.inlineLauncher),this.options.chat?.launcherAnchor!==void 0&&(i.launcherAnchor=this.options.chat.launcherAnchor),this.options.chat?.launcherImageUrl!==void 0?i.launcherImageUrl=this.options.chat.launcherImageUrl:this.options.chat?.launcherSvg!==void 0&&(i.launcherSvg=this.options.chat.launcherSvg),this.options.chat?.mobileLauncherImageUrl!==void 0&&(i.mobileLauncherImageUrl=this.options.chat.mobileLauncherImageUrl),this.options.chat?.headerTitle!==void 0&&(i.headerTitle=this.options.chat.headerTitle),this.options.chat?.headerAvatarUrl!==void 0&&(i.headerAvatarUrl=this.options.chat.headerAvatarUrl),this.options.chat?.headerBadge!==void 0&&(i.headerBadge=this.options.chat.headerBadge),this.options.chat?.headerCartUrl!==void 0&&(i.headerCartUrl=this.options.chat.headerCartUrl),this.options.chat?.headerFavoritesToggle!==void 0&&(i.headerFavoritesToggle=this.options.chat.headerFavoritesToggle),this.options.chat?.onFavoritesClick!==void 0&&(i.onFavoritesClick=this.options.chat.onFavoritesClick),this.options.chat?.hideMobileLauncher!==void 0&&(i.hideMobileLauncher=this.options.chat.hideMobileLauncher),this.options.chat?.mobileBreakpoint!==void 0&&(i.mobileBreakpoint=this.options.chat.mobileBreakpoint),this.options.chat?.mobileInitialState!==void 0&&(i.mobileInitialState=this.options.chat.mobileInitialState),this.options.chat?.i18n!==void 0&&(i.i18n=this.options.chat.i18n),this.options.chat?.actionHandling!==void 0&&(i.actionHandling=this.options.chat.actionHandling),this.options.chat?.renderer!==void 0&&(i.renderer=this.options.chat.renderer),e!==void 0&&(i.productDetailsExtended=e),a!==void 0&&(i.isDemoWebsite=a),this.options.chat?.productPriceUi!==void 0&&(i.productPriceUi=this.options.chat.productPriceUi),this.options.chat?.hideProductDiscountBadge!==void 0&&(i.hideProductDiscountBadge=this.options.chat.hideProductDiscountBadge),this.options.chat?.hideUserReviews!==void 0&&(i.hideUserReviews=this.options.chat.hideUserReviews),this.options.chat?.hideStockStatus!==void 0&&(i.hideStockStatus=this.options.chat.hideStockStatus),this.options.onScriptCall!==void 0&&(i.onScriptCall=this.options.onScriptCall),this.options.onAddToCart!==void 0&&(i.onAddToCart=this.options.onAddToCart),this.options.onProductNavigate!==void 0&&(i.onProductNavigate=this.options.onProductNavigate),this.options.chat?.onOpen!==void 0&&(i.onOpen=this.options.chat.onOpen),this.options.chat?.onClose!==void 0&&(i.onClose=this.options.chat.onClose);const{GengageChat:r}=await Promise.resolve().then(()=>(Ap(),Sp));this._chat=new r,await this._chat.init(i)}async _syncPdpWidgets(){if(this._destroyed)return;const t=typeof this._pageContext.sku=="string"?this._pageContext.sku:void 0;if(!(this._pageContext.pageType==="pdp"&&t!==void 0&&t.length>0)){this._qna?.hide(),this._simrel?.hide(),this._simbut?.hide();return}const e=this.options.middlewareUrl;if(this.options.qna?.enabled!==!1){const a=this.options.qna?.mountTarget??Ah,n=En(a);if(n)if(this._warnedQnaMountMissing=!1,this._qna)this._qna.show(),this._qna.update({pageType:"pdp",sku:t});else{const{GengageQNA:i}=await Promise.resolve().then(()=>(th(),Jp)),r=new i,o={accountId:this.options.accountId,middlewareUrl:e,session:this.session,pageContext:{pageType:"pdp",sku:t},mountTarget:n};this.options.theme!==void 0&&(o.theme=this.options.theme),this.options.qna?.chrome!==void 0&&(o.chrome=this.options.qna.chrome),this.options.qna?.ctaText!==void 0&&(o.ctaText=this.options.qna.ctaText),this.options.qna?.hideButtonRowCta!==void 0&&(o.hideButtonRowCta=this.options.qna.hideButtonRowCta),this.options.qna?.inputPlaceholder!==void 0&&(o.inputPlaceholder=this.options.qna.inputPlaceholder),this.options.qna?.inputAfterPills!==void 0&&(o.inputAfterPills=this.options.qna.inputAfterPills),this.options.qna?.i18n!==void 0&&(o.i18n=this.options.qna.i18n),this.options.qna?.renderer!==void 0&&(o.renderer=this.options.qna.renderer);const s=this.options.qna?.headerTitle??this.options.qna?.headingTitle;s!==void 0&&(o.headerTitle=s),await r.init(o),this._qna=r}else this._qna?.destroy(),this._qna=null,this._warnedQnaMountMissing||(console.warn(`[gengage] QNA mount target not found: ${a}`),this._warnedQnaMountMissing=!0)}else this._qna?.destroy(),this._qna=null;if(this.options.simrel!==void 0&&this.options.simrel.enabled!==!1){const a=this.options.simrel?.mountTarget??Lh,n=En(a);if(n)if(this._warnedSimRelMountMissing=!1,this._simrel)this._simrel.show(),this._simrel.update({pageType:"pdp",sku:t});else{const{GengageSimRel:i}=await Promise.resolve().then(()=>(_h(),vh)),r=new i,o={accountId:this.options.accountId,middlewareUrl:e,session:this.session,sku:t,mountTarget:n};this.options.locale!==void 0&&(o.locale=this.options.locale),this.options.theme!==void 0&&(o.theme=this.options.theme),this.options.pricing!==void 0&&(o.pricing=this.options.pricing),this.options.simrel?.discountType!==void 0&&(o.discountType=this.options.simrel.discountType),this.options.simrel?.gridColumns!==void 0&&(o.gridColumns=this.options.simrel.gridColumns),this.options.simrel?.enableProductGroupings!==void 0&&(o.enableProductGroupings=this.options.simrel.enableProductGroupings),this.options.simrel?.renderCardElement!==void 0&&(o.renderCardElement=this.options.simrel.renderCardElement),this.options.simrel?.renderer!==void 0&&(o.renderer=this.options.simrel.renderer),this.options.onAddToCart!==void 0&&(o.onAddToCart=this.options.onAddToCart),this.options.onProductNavigate!==void 0?o.onProductNavigate=this.options.onProductNavigate:o.onProductNavigate=(s,c,l)=>{pe(s)&&(this._chat?.saveSession(l??this.session.sessionId,c),window.location.href=s)},await r.init(o),this._simrel=r}else this._simrel?.destroy(),this._simrel=null,this._warnedSimRelMountMissing||(console.warn(`[gengage] SimRel mount target not found: ${a}`),this._warnedSimRelMountMissing=!0)}else this._simrel?.destroy(),this._simrel=null;if(this.options.simbut&&this.options.simbut.enabled!==!1){const a=this.options.simbut.mountTarget??Ih,n=En(a),i=this._chat??this.options.simbut.onFindSimilar;if(n&&i)if(this._warnedSimButMountMissing=!1,this._warnedSimButNoChat=!1,this._simbut)this._simbut.show(),this._simbut.setChat(this._chat),this._simbut.update({pageType:"pdp",sku:t});else{const{GengageSimBut:r}=await Promise.resolve().then(()=>(Ph(),Ch)),o=new r,s={accountId:this.options.accountId,middlewareUrl:e,session:this.session,pageContext:{pageType:"pdp",sku:t},mountTarget:n,chat:this._chat};this.options.theme!==void 0&&(s.theme=this.options.theme),this.options.locale!==void 0&&(s.locale=this.options.locale),this.options.simbut.layout!==void 0&&(s.layout=this.options.simbut.layout),this.options.simbut.inlineCard!==void 0&&(s.inlineCard=this.options.simbut.inlineCard),this.options.simbut.imageUrl!==void 0&&(s.imageUrl=this.options.simbut.imageUrl),this.options.simbut.i18n!==void 0&&(s.i18n=this.options.simbut.i18n),this.options.simbut.onFindSimilar!==void 0&&(s.onFindSimilar=this.options.simbut.onFindSimilar),await o.init(s),this._simbut=o}else this._simbut?.destroy(),this._simbut=null,!n&&!this._warnedSimButMountMissing?(console.warn(`[gengage] SimBut mount target not found: ${a}`),this._warnedSimButMountMissing=!0):!i&&!this._warnedSimButNoChat&&(console.warn("[gengage] SimBut requires chat to be enabled or simbut.onFindSimilar"),this._warnedSimButNoChat=!0)}else this._simbut?.destroy(),this._simbut=null}_enqueue(t){const e=this._queue.then(t);return this._queue=e.catch(a=>{}),e}};async function Rh(t){const e=Zo(t),a=Qo(),n=a.instances[e];if(n)return n;const i=a.pending[e];if(i)return i;const r=new Bh(t,()=>{const s=Qo();delete s.instances[e],delete s.pending[e]}),o=r.init().then(()=>(a.instances[e]=r,delete a.pending[e],r)).catch(s=>{throw delete a.pending[e],zn({reason:"overlay_init_failed",message:s instanceof Error?s.message:String(s)}),s});return a.pending[e]=o,o}var Xo=["gengage:chat:open","gengage:chat:close","gengage:chat:ready","gengage:chat:add-to-cart","gengage:qna:action","gengage:qna:open-chat","gengage:similar:product-click","gengage:similar:grouping-click","gengage:similar:products-impression","gengage:similar:add-to-cart","gengage:global:error","gengage:context:update"],zh=32,Jo="#gengage-qna",es="#gengage-simrel";function qh(t){return t}function Hh(t){let e=t;if(typeof t=="string"){const r=t.trim();if(r.length===0)return null;if(!r.startsWith("{")&&!r.startsWith("["))return{type:r};try{e=JSON.parse(r)}catch{return null}}if(!e||typeof e!="object")return null;const a=e,n=[a.type,a.command,a.action,a.event].find(r=>typeof r=="string"&&r.length>0);if(!n)return null;let i=a.payload;if(i===void 0&&"data"in a&&(i=a.data),n==="setSession"&&i===void 0){const r={};typeof a.sessionId=="string"&&(r.sessionId=a.sessionId),typeof a.userId=="string"&&(r.userId=a.userId),(r.sessionId!==void 0||r.userId!==void 0)&&(i=r)}return i===void 0?{type:n}:{type:n,payload:i}}function Fh(t){if(typeof t=="string"&&t.length>0)return{sku:t};if(t&&typeof t=="object"&&"sku"in t){const e=t.sku;if(typeof e=="string"&&e.length>0){const a=t.pageType;return a!==void 0?{sku:e,pageType:a}:{sku:e}}}return null}function Pn(t,e){return e instanceof HTMLElement?!0:typeof e!="string"?!1:t.document.querySelector(e)!==null}function ts(t,e,a){if(e instanceof HTMLElement||Pn(t,e)||typeof e!="string")return e;if(e.startsWith("#")){const r=e.slice(1);if(r.length>0){const o=t.document.getElementById(r);if(o)return o;const s=t.document.createElement("div");return s.id=r,t.document.body.appendChild(s),s}}const n=t.document.getElementById(a);if(n)return n;const i=t.document.createElement("div");return i.id=a,t.document.body.appendChild(i),i}function as(t,e){const a=t.webkit?.messageHandlers?.[e];return a&&typeof a.postMessage=="function"?a.postMessage.bind(a):null}function ra(t,e){const a=t[e];return a&&typeof a=="object"&&typeof a.postMessage=="function"?a:null}function ns(t={}){const e=t.win??window,a=t.iosHandlerName??"gengage",n=t.androidInterfaceName??"GengageNative",i=t.reactNativeInterfaceName??"ReactNativeWebView";return as(e,a)?"ios":ra(e,n)?"android":ra(e,i)?"react-native":"browser"}function is(t,e={}){const a=e.win??window;if(t.sessionId!==void 0){a.__gengageSessionId=t.sessionId,a.gengage||(a.gengage={}),a.gengage.sessionId=t.sessionId;try{a.sessionStorage.setItem("gengage_session_id",t.sessionId)}catch{}}if(t.userId!==void 0){a.gengage||(a.gengage={});const n=a.gengage,i=n.session??{};i.userId=t.userId,n.session=i}}function rs(t={}){const e=t.win??window,a=e;if(a.gengageNative)return a.gengageNative;const n=t.iosHandlerName??"gengage",i=t.androidInterfaceName??"GengageNative",r=t.reactNativeInterfaceName??"ReactNativeWebView",o=t.trackedEvents??[...Xo],s=ns({win:e,iosHandlerName:n,androidInterfaceName:i,reactNativeInterfaceName:r});let c=e.gengage?.overlay??null;const l=[],p=(g,v)=>{const _=v===void 0?{type:g}:{type:g,payload:v};if(s==="ios"){as(e,n)?.(_);return}if(s==="android"){ra(e,i)?.postMessage(JSON.stringify(_));return}if(s==="react-native"){ra(e,r)?.postMessage(JSON.stringify(_));return}},d=g=>{const v=g.detail;!v||typeof v.namespace!="string"||typeof v.type!="string"||p("bridge_message",{namespace:v.namespace,type:v.type,payload:v.payload})};e.addEventListener("gengage:bridge:message",d);const h=o.map(g=>{const v=_=>{const y=_.detail;p("widget_event",{event:g,detail:y})};return e.addEventListener(g,v),{event:g,handler:v}}),f=g=>{l.length>=zh&&l.shift(),l.push(g)},b=()=>{if(!c||l.length===0)return;const g=l.splice(0,l.length);for(const v of g)m(v)},m=g=>{const v=Hh(g);if(!v||typeof v.type!="string"){console.warn("[gengage:native-bridge] Invalid message:",g);return}const _=v.type,y=v.payload;switch(_){case"openChat":c?c.openChat(y&&typeof y=="object"?y:y==="half"||y==="full"?{state:y}:void 0):f(v);return;case"closeChat":c?c.closeChat():f(v);return;case"updateContext":case"updatePageContext":case"setPageContext":c&&y&&typeof y=="object"?c.updateContext(y):c?console.warn(`[gengage:native-bridge] ${_}: missing payload`):f(v);return;case"updateSku":{const k=Fh(y);if(c&&k){c.updateSku(k.sku,k.pageType);return}c?console.warn("[gengage:native-bridge] updateSku: missing sku"):f(v);return}case"setSession":y&&typeof y=="object"&&is(y,{win:e});return;case"destroy":c?.destroy();return;default:e.postMessage({gengage:"native",type:_,payload:y},e.location.origin),t.logUnhandled&&console.warn("[gengage:native-bridge] Unhandled inbound type forwarded:",_)}},u={env:s,sendToNative:p,receive:m,setController(g){c=g,b()},destroy(){e.removeEventListener("gengage:bridge:message",d);for(const g of h)e.removeEventListener(g.event,g.handler);l.splice(0,l.length),e.gengageNative===u&&delete e.gengageNative}};return a.gengageNative=u,u}async function Dh(t){const{nativeBridge:e,emitReadyEvent:a=!0,...n}=t,i=rs(e),r={...n};r.onAddToCart||(r.onAddToCart=l=>{i.sendToNative("addToCart",{sku:l.sku,quantity:l.quantity,cartCode:l.cartCode})}),r.onProductNavigate||(r.onProductNavigate=(l,p,d)=>{i.sendToNative("productNavigate",{url:l,sku:p,sessionId:d})});const o=r.qna?.enabled===!0||r.qna?.mountTarget!==void 0;if(r.qna?.enabled!==!1)if(o){const l=ts(window,r.qna?.mountTarget??Jo,"gengage-qna");r.qna={...r.qna,enabled:!0,mountTarget:l}}else Pn(window,Jo)||(r.qna={enabled:!1});const s=r.simrel?.enabled===!0||r.simrel?.mountTarget!==void 0;if(r.simrel?.enabled!==!1)if(s){const l=ts(window,r.simrel?.mountTarget??es,"gengage-simrel");r.simrel={...r.simrel,enabled:!0,mountTarget:l}}else Pn(window,es)||(r.simrel={enabled:!1});const c=await Rh(r);return i.setController(c),a&&i.sendToNative("ready",{sessionId:c.session.sessionId,widgets:{chat:c.chat!==null,qna:c.qna!==null,simrel:c.simrel!==null}}),{controller:c,bridge:i,destroy(){c.destroy(),i.destroy()}}}tt.DEFAULT_NATIVE_TRACKED_EVENTS=Xo,tt.applyNativeSession=is,tt.createNativeWebViewBridge=rs,tt.detectNativeEnvironment=ns,tt.initNativeOverlayWidgets=Dh})(this.Gengage=this.Gengage||{});
548
+ `).join("<br />"));this._ensureAssistantMessageRendered(g),this._drawer?.updateBotMessage(g.id,P),this._drawer?.showRecoveryPillsOnly(S)};if(s&&!I)if(c||this._hasUnavailableProductContext()){this._drawer?.setPills([]);const G=this._i18n.productNotFoundMessage;g.content=G,g.status="done",this._ensureAssistantMessageRendered(g),this._drawer?.updateBotMessage(g.id,G),this._markUnavailableProductContext()}else g.status="done";else if(B)this._drawer?.setPills([]),g.silent||X();else if(X(),q)return;s&&(this._contextPrimingInFlight=!1,this._flushQueuedUserMessages()),!W&&g.status==="streaming"&&(g.status="error")},onDone:()=>{if(V&&this._abortControllers.delete(V),!o&&r!==this._activeRequestThreadId)return;if(K=!0,D&&this._panel&&this._drawer){const q=this._buildRenderContext();q.isStreaming=!1;const j=D.elements[D.root],W=this._panel.toPanelSpec(D);this._applyPanelListHeadingToContext(q,{kind:"spec",spec:W});const X=j?.type??"ProductGrid";ne(W,q,X),ae(X,j,"replace",!1),E=!0}D=null,A&&M(!1),C(),this._activeRequestThreadId=null,this._consecutiveErrorCount=0,this._lastErrorMessage="",i(!1),this._bridge?.send("loadingMessage",{text:null}),this._drawer?.removeTypingIndicator(),Vl(ie,{drawer:this._drawer,ensureRendered:()=>{},cancelTypewriter:()=>{},sendSkipMessage:()=>this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),streamDone:!0});const x=E;if(w&&!E&&m(),w=!1,c&&!u&&!x){const q=this._i18n.productNotFoundMessage;g.content=q,this._ensureAssistantMessageRendered(g),this._drawer?.updateBotMessage(g.id,q),this._markUnavailableProductContext()}if(E=!1,s){this._contextPrimingInFlight=!1;const q=this._queuedUserMessages.length>0;this._flushQueuedUserMessages(),!q&&c&&this._ensurePdpPrimeSuggestedUiIfNeeded(l)}g.status==="streaming"&&(g.status="done",Fn()),this._presentation.finalizeAssistantGroup(r);const N=this._shadow?.querySelector(".gengage-chat-comparison-toggle-btn--hidden");N&&(N.classList.remove("gengage-chat-comparison-toggle-btn--hidden"),N.classList.add("gengage-chat-comparison-toggle-btn--reveal")),this.emit("message",g);const I=this._currentPanelSource,B=I?this._clonePanelSourceForHistory(I):null;this._panel?.snapshotForMessage(g.id,B?{source:B,threadId:g.threadId,rebuild:()=>{const q=this._buildRenderContext();return this._renderPanelFromSource(B,q)}}:void 0),this._maybeAddPanelRestoreMessage(g),this._persistConversationState()}},v),this._abortControllers.add(V),!a?.silent&&!o){const x=V;this._drawer?.showStopButton(()=>{x.abort(),this._abortControllers.delete(x),this._drawer?.removeTypingIndicator(),i(!1),this._bridge?.send("loadingMessage",{text:null}),g.status==="streaming"&&(g.status="done")})}}_getVisibleMessages(){const e=this._messages.filter(n=>!n.silent);if(!this._currentThreadId)return e;const a=this._currentThreadId;return e.filter(n=>!n.threadId||n.threadId<=a)}_appendSimilarsToPanel(e,a){if(!this._drawer)return;const n=this._drawer.getPanelContentElement();if(!n)return;a.panelProductListHeading=this._i18n.similarProductsLabel??"Similar Products";const i=this._renderUISpec(e,a);i.classList.add("gengage-chat-product-details-similars"),n.appendChild(i),this._mergePanelSourceWithSimilars(e)}_coerceSkuKey(e){return typeof e=="string"?e.trim():typeof e=="number"&&Number.isFinite(e)?String(e).trim():""}_productSkuKey(e){return e?this._coerceSkuKey(e.sku):""}_pdpPageContextSkuKey(){const e=this.config.pageContext?.pageType;return typeof e!="string"||e.toLowerCase()!=="pdp"?null:this._coerceSkuKey(this.config.pageContext?.sku)||null}_productDetailsRecordFromSpec(e){if(!e)return null;const a=e.elements[e.root];if(!a||a.type!=="ProductDetailsPanel")return null;const n=ke(a.props);return ke(n?.product)??n??null}_productGridRecordFromSpec(e,a){if(!e)return null;const n=e.elements[e.root];if(!n||n.type!=="ProductGrid")return null;const i=Object.values(e.elements).filter(o=>o.type==="ProductCard").map(o=>ke(o.props?.product)).filter(o=>o!==null);if(i.length===0)return null;const r=this._coerceSkuKey(a);if(r){const o=i.find(s=>this._productRecordMatchesSku(s,r));if(o)return o}return i.length===1?i[0]:null}_productRecordMatchesSku(e,a){if(this._coerceSkuKey(e.sku)===a||this._coerceSkuKey(e.group_id??e.groupId)===a)return!0;const n=ke(e.extras);return this._coerceSkuKey(n?.group_id??n?.groupId)===a}_getCurrentPanelProductRecord(){const e=this._currentPanelSource;return e?e.kind==="spec"?this._productDetailsRecordFromSpec(e.spec):e.kind==="productDetailsWithSimilars"?this._productDetailsRecordFromSpec(e.pdpSpec):null:null}_getCurrentPanelProductGridRecord(e){const a=this._currentPanelSource;return a?a.kind==="spec"?this._productGridRecordFromSpec(a.spec,e):a.kind==="productDetailsWithSimilars"?this._productGridRecordFromSpec(a.similarsSpec,e):null:null}_panelSourceFromMessage(e){const a=e?.uiSpec;if(!a)return null;const n=a.elements[a.root];return!n||hn.has(n.type)?null:{kind:"spec",spec:a}}_getLatestProductDetailsRecord(){for(let e=this._messages.length-1;e>=0;e-=1){const a=this._productDetailsRecordFromSpec(this._messages[e]?.uiSpec);if(a)return a}return null}_getLatestProductGridRecord(e){for(let a=this._messages.length-1;a>=0;a-=1){const n=this._productGridRecordFromSpec(this._messages[a]?.uiSpec,e);if(n)return n}return null}_getInlinePdpProductRecord(){const e=this._pdpPageContextSkuKey();if(!e)return null;const a=this._currentInlineProductSummaryRecord;return a&&this._coerceSkuKey(a.sku)===e?a:null}_getCurrentPanelProductSku(){const e=this._getCurrentPanelProductRecord();return e&&this._coerceSkuKey(e.sku)||null}_activeSkuForProductSummaryClick(){const e=this._getCurrentPanelProductSku();return e||this._pdpPageContextSkuKey()}_mergePanelSourceWithSimilars(e){const a=this._currentPanelSource;a?.kind==="spec"&&this._panel?.currentType==="ProductDetailsPanel"&&(this._currentPanelSource={kind:"productDetailsWithSimilars",pdpSpec:a.spec,similarsSpec:e})}_renderProductDetailsWithSimilars(e,a,n){this._applyPanelListHeadingToContext(n,{kind:"productDetailsWithSimilars",pdpSpec:e,similarsSpec:a});const i=this._renderUISpec(e,n),r=this._renderUISpec(a,n);return r.classList.add("gengage-chat-product-details-similars"),i.appendChild(r),i}_applyPanelListHeadingToContext(e,a){if(e.panelProductListHeading=void 0,!!this._panel){if(a.kind==="spec"){const n=a.spec.elements[a.spec.root];n?.type==="ProductGrid"&&(n.children?.length??0)>0&&(e.panelProductListHeading=this._panel.titleForComponent("ProductGrid",n.props?.panelTitle??void 0))}else if(a.kind==="productDetailsWithSimilars"){const n=a.similarsSpec.elements[a.similarsSpec.root];n?.type==="ProductGrid"&&(n.children?.length??0)>0&&(e.panelProductListHeading=this._i18n.similarProductsLabel??"Similar Products")}}}_clonePanelSourceForHistory(e){try{return structuredClone(e)}catch{return e}}_renderPanelFromSource(e,a){return this._applyPanelListHeadingToContext(a,e),e.kind==="favorites"?this._buildFavoritesPageEl():e.kind==="history"?this._buildHistoryPageEl():e.kind==="productDetailsWithSimilars"?this._renderProductDetailsWithSimilars(e.pdpSpec,e.similarsSpec,a):this._renderUISpec(e.spec,a)}_handleRollback(e){const a=this._messages.find(n=>n.id===e);a?.threadId&&this._rollbackToThread(a.threadId)}_ensureMobileFullSheetForPanel(){!this._drawerVisible||!this._isMobileViewport||this._openState==="full"||(this._openState="full",this._applyOpenStateClasses())}_ensureMobilePanelOverlayVisible(){!this._drawerVisible||!this._isMobileViewport||(this._ensureMobileFullSheetForPanel(),this._drawer?.showMobilePanel())}_ensurePdpPrimeSuggestedUiIfNeeded(e){const a=this._resolvePdpPrimeSku(e);if(!a||!this._drawer||this._hasUnavailableProductContext())return;const n=this._buildPdpPrimeFindSimilarPayload(a,e),i=e!==void 0?this._productNumber(e,"review_count","reviewCount"):void 0,r="product",o=this._resolveContextualOpeningActions(r);if(o.length>0){this._drawer.setInputAreaChips(o.map(s=>({label:s.title,onAction:()=>this._sendAction(this._resolveContextualOpeningAction(s,r)),...s.icon?{icon:s.icon}:{}})));return}this._drawer.setInputAreaChips([...this.config.hideUserReviews!==!0&&i&&i>0?[{label:this._i18n.groundingReviewCta,icon:"review",onAction:()=>this._sendAction({title:this._i18n.customerReviewsTitle,type:"reviewSummary",payload:{sku:a}})}]:[],{label:this._i18n.findSimilarLabel,icon:"similar",onAction:()=>this._sendAction({title:this._i18n.findSimilarLabel,type:"findSimilar",payload:n})}])}_resolvePdpPrimeSku(e){return this.config.pageContext?.sku?this.config.pageContext.sku:e!==void 0?this._productString(e,"sku","id"):void 0}_buildPdpPrimeFindSimilarPayload(e,a){const n={sku:e};if(a===void 0)return n;const i=this._productString(a,"name","productName","product_name","title");return i!==void 0&&(n.product_name=i),n}_productString(e,...a){for(const n of a){const i=e[n];if(typeof i=="string"&&i.trim().length>0)return i.trim()}}_productNumber(e,...a){for(const n of a){const i=e[n];if(typeof i=="number"&&Number.isFinite(i))return i;if(typeof i=="string"&&i.trim().length>0){const r=Number(i);if(Number.isFinite(r))return r}}}_rollbackToThread(e){if(this._panel&&this._panel.threads.length>0&&!this._panel.threads.includes(e)&&!this._messages.some(s=>s.threadId===e))return;this._currentThreadId=e,this._extendedModeManager?.setHiddenByUser(!1),this._lastThreadId!=null&&e===this._lastThreadId?(this._presentation.setFocusedThreadId(e),this._drawer?.setPresentationFocus(e)):(this._presentation.releaseFocusedThread(),this._drawer?.setPresentationFocus(null)),this._drawer?.setFormerMessagesButtonVisible(!1);for(const s of this._messages){const c=this._shadow?.querySelector(`[data-message-id="${ve(s.id)}"]`);c&&(s.threadId&&s.threadId>e?c.classList.add("gengage-chat-bubble--hidden"):c.classList.remove("gengage-chat-bubble--hidden"))}this._shadow?.querySelectorAll("[data-thread-id]").forEach(s=>{s instanceof HTMLElement&&s.dataset.threadId&&s.dataset.threadId>e?s.classList.add("gengage-chat-bubble--hidden"):s instanceof HTMLElement&&s.classList.remove("gengage-chat-bubble--hidden")});const a=this._messages.find(s=>s.role==="assistant"&&s.threadId===e),n=this._panel?.threads.includes(e)??!1,i=(a?this._panel?.sourceForMessage(a.id):null)??this._panel?.sourceForThread(e)??(n?this._panelSourceFromMessage(a):null);let r=a?this._panel?.restoreForMessage(a.id)??!1:!1;if(!r&&i){const s=this._buildRenderContext();this._drawer?.setPanelContent(this._renderPanelFromSource(i,s)),this._currentPanelSource=i,this._panel&&(this._panel.currentType=this._panel.componentTypeForSource(i)),r=!0}r||(this._drawer?.clearPanel(),this._currentPanelSource=null,this._drawer?.setPanelAiZoneState("hidden")),r&&(this._currentPanelSource=i,this._restorePanelAiZoneForThread(e));const o=this._panel.currentType??"";if(this._panel?.updateTopBar(o),this._drawer?.setPills([]),requestAnimationFrame(()=>{this._drawer?.scrollThreadIntoView(e,"auto")}),this._session?.db&&this.config.session?.sessionId){const s=this.config.session.sessionId;(async()=>{try{const c=await this._session?.db?.loadContext(s,e);c&&(this._lastBackendContext=c.context),await this._session?.db?.deleteContextsAfterThread(s,e)}catch{}})()}this._persistHistoryToLocalStorage()}_persistHistoryToLocalStorage(){if(!this._historyStorage)return;const e=this._activeHistorySessionId??this._historyStorage.findSessionId(this.config.session?.sessionId??"",this._chatCreatedAt)??this._historyStorage.createHistoryId(),a=this._historyStorage.saveSession({historyId:e,userId:this.config.session?.userId??"",appId:this.config.accountId,sourceSessionId:this.config.session?.sessionId??"",messages:this._messages,currentThreadId:this._currentThreadId,lastThreadId:this._lastThreadId,chatCreatedAt:this._chatCreatedAt,panelSnapshots:this._panel?.snapshots??new Map,panelSnapshotTypes:this._panel?.snapshotTypes??new Map,panelThreads:this._panel?.threads??[],panelAiSpecByThread:this._panelAiSpecByThread,lastBackendContext:this._lastBackendContext,pageType:this.config.pageContext?.pageType,sku:this.config.pageContext?.sku,attachmentPlaceholder:this._i18n.historyImageAttachmentLabel});a&&(this._activeHistorySessionId=a.id)}_persistConversationState(){this._persistHistoryToLocalStorage(),this._persistToIndexedDB().catch(()=>{})}async _persistConversationStateForNavigation(){this._persistHistoryToLocalStorage(),await this._persistToIndexedDB()}_formatHistoryTimestamp(e){try{return new Intl.DateTimeFormat(He(this.config.locale),{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(e))}catch{return e}}_resolvePanelRestorePreviewLabel(e){for(let a=e.messages.length-1;a>=0;a--){const n=e.messages[a];if(!n||n.silent||!n.uiSpec)continue;const i=n.uiSpec.elements[n.uiSpec.root];if(i?.type!=="PanelRestoreCard")continue;const r=i.props??{},o=typeof r.ctaLabel=="string"?r.ctaLabel.trim():"";if(o.length>0)return o}return null}_resolveHistoryPreviewText(e){const a=(e.preview||"").trim();if(a&&a!=="PanelRestoreCard")return a;if(!this._historyStorage)return a||e.title;const n=this._historyStorage.loadSession(e.id);if(!n)return a||e.title;const i=this._resolvePanelRestorePreviewLabel(n);return i||a||e.title}_openHistoryPanel(e=!0){if(this._drawer){if(e&&this._currentPanelSource&&this._currentPanelSource.kind!=="history"){const a=this._drawer.getPanelTopBarTitle()??"";this._localPanelHistory.push({source:this._currentPanelSource,title:a}),this._localPanelHistory.length>et._MAX_PANEL_HISTORY&&this._localPanelHistory.shift()}this._drawer.setPanelContent(this._buildHistoryPageEl()),this._currentPanelSource={kind:"history"},this._drawer.updatePanelTopBar(!0,!1,this._i18n.historyPageTitle)}}_buildHistoryPageEl(){const e=document.createElement("div");e.className="gengage-chat-history-page";const a=document.createElement("div");a.className="gengage-chat-history-actions";const n=document.createElement("button");n.type="button",n.className="gengage-chat-history-new-chat",n.textContent=this._i18n.newChatButton,n.addEventListener("click",()=>this._startNewChat()),a.appendChild(n),e.appendChild(a);const i=this._historyStorage?.listSessions()??[];if(i.length===0){const o=document.createElement("div");o.className="gengage-chat-history-empty",o.innerHTML='<div class="gengage-chat-history-empty-icon" aria-hidden="true"><svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8v5l3 2"/><path d="M3.05 11A9 9 0 1 1 5 17.5"/><path d="M3 8v4h4"/></svg></div>';const s=document.createElement("p");return s.textContent=this._i18n.emptyHistoryMessage,o.appendChild(s),e.appendChild(o),e}const r=document.createElement("div");r.className="gengage-chat-history-list";for(const o of i){const s=document.createElement("div");s.className="gengage-chat-history-item",o.id===this._activeHistorySessionId&&s.classList.add("gengage-chat-history-item--active");const c=document.createElement("button");c.type="button",c.className="gengage-chat-history-open",c.title=o.title,c.setAttribute("aria-label",`${this._i18n.historyAriaLabel}: ${o.title}`),c.addEventListener("click",()=>{this._loadHistorySession(o.id)});const l=document.createElement("div");l.className="gengage-chat-history-item-title-row";const p=document.createElement("span");p.className="gengage-chat-history-item-title",p.textContent=o.title,l.appendChild(p);const d=document.createElement("span");d.className="gengage-chat-history-item-meta",d.textContent=this._formatHistoryTimestamp(o.updatedAt),l.appendChild(d),c.appendChild(l);const h=document.createElement("p");h.className="gengage-chat-history-item-preview",h.textContent=this._resolveHistoryPreviewText(o),c.appendChild(h),s.appendChild(c);const f=document.createElement("button");f.type="button",f.className="gengage-chat-history-delete",f.setAttribute("aria-label",`${this._i18n.historyDeleteLabel}: ${o.title}`),f.title=this._i18n.historyDeleteLabel,f.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6h18"/><path d="M8 6V4h8v2"/><path d="M19 6l-1 14H6L5 6"/><path d="M10 11v6"/><path d="M14 11v6"/></svg>',f.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),window.confirm(this._i18n.historyDeleteConfirmMessage)&&this._deleteHistorySession(o.id)}),s.appendChild(f),r.appendChild(s)}return e.appendChild(r),e}_deleteHistorySession(e){if(!this._historyStorage)return;const a=e===this._activeHistorySessionId;if(this._historyStorage.deleteSession(e),a){this._activeHistorySessionId=null,this._startNewChat();return}this._currentPanelSource?.kind==="history"&&this._openHistoryPanel(!1)}async _loadHistorySession(e){const a=this._historyStorage?.loadSession(e);a&&(this._clearConversationState(!1),this._activeHistorySessionId=a.id,await this._restoreFromHistoryRecord(a))}async _restoreFromHistoryRecord(e){if(this._drawer?.lockScrollForRestore(),e.messages.length>0&&(this.config.pageContext?.pageType==="pdp"&&this.config.pageContext?.sku&&(this._pdpLaunched=!0),this.config.pageContext?.pageType==="plp"&&this.config.pageContext?.skuList?.length&&(this._plpLaunched=!0),this.config.pageContext?.pageType==="home"&&(this._homepageLaunched=!0)),this._currentThreadId=e.currentThreadId,this._lastThreadId=e.lastThreadId,this._currentThreadId&&this._lastThreadId&&this._currentThreadId>this._lastThreadId&&(this._currentThreadId=this._lastThreadId),this._chatCreatedAt=e.createdAt,this._lastBackendContext=e.lastBackendContext,e.panelThreads&&(this._panel.threads=[...e.panelThreads]),e.panelSnapshotHtml)for(const[n,i]of Object.entries(e.panelSnapshotHtml)){const r=document.createElement("div");r.innerHTML=ye(i),this._panel.snapshots.set(n,r)}if(e.panelSnapshotTypes)for(const[n,i]of Object.entries(e.panelSnapshotTypes))this._panel.snapshotTypes.set(n,i);e.panelAiSpecByThread&&this._restorePanelAiSpecMap(e.panelAiSpecByThread);let a=0;for(const n of e.messages){const i={id:n.id,role:n.role,timestamp:n.timestamp,status:n.status};if(n.threadId!==void 0&&(i.threadId=n.threadId),n.content!==void 0&&(i.content=n.content),n.uiSpec!==void 0&&(i.uiSpec=n.uiSpec),n.frontendOnly&&(i.frontendOnly=!0),n.silent&&(i.silent=!0),n.renderHint!==void 0&&(i.renderHint=n.renderHint),n.photoAnalysis!==void 0&&(i.photoAnalysis=n.photoAnalysis),this._messages.push(i),!i.silent){const o=i.role!=="assistant"||!!i.content||!!i.attachment||this._isMessageHostedUISpec(i.uiSpec);i.role==="assistant"&&i.threadId&&o&&!this._threadsWithFirstBot.has(i.threadId)&&(this._threadsWithFirstBot.add(i.threadId),this._drawer?.markFirstBotMessage(i.id)),this._drawer?.addMessage(i),i.role==="assistant"&&i.threadId&&i.uiSpec&&(this._hydrateRestoredUISpecMetadata(i.id,i.threadId,i.uiSpec)||this._restoreInlineUISpec(i))}const r=parseInt(n.id.replace("msg-",""),10);!isNaN(r)&&r>a&&(a=r)}if(a>this._currentMessageId&&(this._currentMessageId=a),this._currentThreadId){const n=[...this._messages].reverse().find(i=>i.role==="assistant"&&i.threadId===this._currentThreadId&&!i.silent);n&&this._panel.snapshots.has(n.id)&&(this._panel?.restoreForMessage(n.id)??!1)&&this._restorePanelAiZoneForThread(this._currentThreadId)}if(this._currentThreadId){const n=this._currentThreadId;for(const i of this._messages)i.threadId&&i.threadId>n&&this._shadow?.querySelector(`[data-message-id="${ve(i.id)}"]`)?.classList.add("gengage-chat-bubble--hidden");this._shadow?.querySelectorAll("[data-thread-id]").forEach(i=>{i instanceof HTMLElement&&i.dataset.threadId&&i.dataset.threadId>n&&i.classList.add("gengage-chat-bubble--hidden")})}this._presentation.releaseFocusedThread(),this._drawer?.setPresentationFocus(null),this._isMobileViewport&&this._drawer?.hasPanelContent()&&this._drawer.hideMobilePanel(),setTimeout(()=>{this._drawer?.scrollToLastThread()},550)}async _persistToIndexedDB(){!this._session||!this.config.session?.sessionId||await this._session.persist({userId:this.config.session.userId??"",appId:this.config.accountId,sessionId:this.config.session.sessionId,messages:this._messages,currentThreadId:this._currentThreadId,lastThreadId:this._lastThreadId,chatCreatedAt:this._chatCreatedAt,panelSnapshots:this._panel?.snapshots??new Map,panelSnapshotTypes:this._panel?.snapshotTypes??new Map,panelThreads:this._panel?.threads??[],panelAiSpecByThread:this._panelAiSpecByThread,lastBackendContext:this._lastBackendContext,sku:this.config.pageContext?.sku})}_isSameOriginUrl(e){try{return e.trim()?new URL(e,window.location.href).origin===window.location.origin:!1}catch{return!1}}_markUnavailableProductContext(){this._productContextUnavailableSku=this.config.pageContext?.sku??null}_clearUnavailableProductContext(){this._productContextUnavailableSku=null}_hasUnavailableProductContext(){const e=this.config.pageContext?.sku;return e!==void 0&&e.length>0&&this._productContextUnavailableSku===e}_ensureAssistantMessageRendered(e){if(!(this._shadow?.querySelector(`[data-message-id="${ve(e.id)}"]`)||!this._drawer)){if(e.role==="assistant"&&e.threadId&&!this._threadsWithFirstBot.has(e.threadId)){this._threadsWithFirstBot.add(e.threadId),this._drawer.addMessage(e),this._drawer.markFirstBotMessage(e.id);return}this._drawer.addMessage(e)}}async _saveSessionAndOpenURL(e){this._session&&await this._session.saveAndOpenURL(e,()=>this._persistConversationStateForNavigation(),this._bridge)}async _loadPayload(e,a){return this._session?this._session.loadPayload(e,a):null}async _restoreFromIndexedDB(e){if(!this._session?.db)return;const a=this.config.session?.sessionId;if(!a)return;const n=this.config.session?.userId??"",i=this.config.accountId;if(await this._session.loadFavorites(n,i),this._drawer?.updateFavoritesBadge(this._session.favoritedSkus.size),!e)return;const r=await this._session.db?.loadSession(n,i,a);if(!r||r.messages.length===0)return;const o=this.config.pageContext?.sku;if(o&&r.sku&&r.sku!==o)return;if(this._pdpLaunched=!0,this._drawer?.lockScrollForRestore(),this._currentThreadId=r.currentThreadId,this._lastThreadId=r.lastThreadId,this._currentThreadId&&this._lastThreadId&&this._currentThreadId>this._lastThreadId&&(this._currentThreadId=this._lastThreadId),this._chatCreatedAt=r.createdAt,r.panelThreads&&(this._panel.threads=r.panelThreads),r.panelSnapshotHtml)for(const[c,l]of Object.entries(r.panelSnapshotHtml)){const p=document.createElement("div");p.innerHTML=ye(l),this._panel.snapshots.set(c,p)}if(r.panelSnapshotTypes)for(const[c,l]of Object.entries(r.panelSnapshotTypes))this._panel.snapshotTypes.set(c,l);r.panelAiSpecByThread&&this._restorePanelAiSpecMap(r.panelAiSpecByThread);let s=0;for(const c of r.messages){const l={id:c.id,role:c.role,timestamp:c.timestamp,status:c.status};if(c.threadId!==void 0&&(l.threadId=c.threadId),c.content!==void 0&&(l.content=c.content),c.frontendOnly&&(l.frontendOnly=!0),c.silent&&(l.silent=!0),this._messages.push(l),l.silent)continue;if(l.role==="assistant"&&l.threadId){const h=await this._loadPayload(l.threadId,l.id);h&&(l.uiSpec=h,this._hydrateRestoredUISpecMetadata(l.id,l.threadId,h))}const p=l.role!=="assistant"||!!l.content||!!l.attachment||this._isMessageHostedUISpec(l.uiSpec);l.role==="assistant"&&l.threadId&&p&&!this._threadsWithFirstBot.has(l.threadId)&&(this._threadsWithFirstBot.add(l.threadId),this._drawer?.markFirstBotMessage(l.id)),this._drawer?.addMessage(l);const d=parseInt(c.id.replace("msg-",""),10);!isNaN(d)&&d>s&&(s=d),l.uiSpec&&(this._isMessageHostedUISpec(l.uiSpec)||this._restoreInlineUISpec(l),delete l.uiSpec)}if(s>this._currentMessageId&&(this._currentMessageId=s),this._currentThreadId){let c=await this._session.db?.loadContext(a,this._currentThreadId);c||(c=await this._session.db?.loadLatestContext(a)),c&&(this._lastBackendContext=c.context)}if(this._currentThreadId){const c=[...this._messages].reverse().find(l=>l.role==="assistant"&&l.threadId===this._currentThreadId&&!l.silent);c&&this._panel.snapshots.has(c.id)&&(this._panel?.restoreForMessage(c.id)??!1)&&this._restorePanelAiZoneForThread(this._currentThreadId)}if(this._currentThreadId){const c=this._currentThreadId;for(const l of this._messages)l.threadId&&l.threadId>c&&this._shadow?.querySelector(`[data-message-id="${ve(l.id)}"]`)?.classList.add("gengage-chat-bubble--hidden");this._shadow?.querySelectorAll("[data-thread-id]").forEach(l=>{l instanceof HTMLElement&&l.dataset.threadId&&l.dataset.threadId>c&&l.classList.add("gengage-chat-bubble--hidden")})}if(this._panel.threads.length>0&&this._currentThreadId){const c=this._panel.threads[this._panel.threads.length-1];if(c){const l=[...this._messages].reverse().find(d=>d.role==="assistant"&&d.threadId===c&&this._panel?.snapshots.has(d.id)),p=l?this._panel?.snapshotTypes.get(l.id):void 0;p&&this._panel?.updateTopBar(p)}}this._presentation.releaseFocusedThread(),this._drawer?.setPresentationFocus(null),setTimeout(()=>{this._drawer?.scrollToLastThread()},550),this._activeHistorySessionId||this._persistHistoryToLocalStorage()}_navigatePanelBack(){const e=this._localPanelHistory.pop();if(e){const a=this._buildRenderContext(),n=this._renderPanelFromSource(e.source,a);this._drawer?.setPanelContent(n),this._currentPanelSource=e.source;const i=this._localPanelHistory.length>0||(this._panel?.threads.length??0)>1;this._drawer?.updatePanelTopBar(i,!1,e.title);return}if(this._currentPanelSource?.kind==="favorites"||this._currentPanelSource?.kind==="history"){this._drawer?.clearPanel(),this._currentPanelSource=null;return}if(this._isMobileViewport){this._drawer?.hideMobilePanel();return}this._panel?.navigateBack()}_toggleComparisonSku(e){if(e==="")this._comparisonSelectMode=!this._comparisonSelectMode,this._comparisonSelectionWarning=null,this._comparisonSelectMode&&(Qd(this._currentThreadId??""),this._clearChoicePrompter()),this._comparisonSelectMode||(this._comparisonSelectedSkus=[],this._comparisonSelectionWarning=null,hs());else if(this._comparisonSelectedSkus.indexOf(e)>=0)this._comparisonSelectedSkus=this._comparisonSelectedSkus.filter(a=>a!==e),this._comparisonSelectionWarning=null;else{if(this._comparisonSelectedSkus.length>=et._MAX_COMPARISON_SELECTION){this._comparisonSelectionWarning=this._i18n.compareMaxHint??`You can select up to ${et._MAX_COMPARISON_SELECTION} products`,this._comparisonRefreshRafId!==null&&cancelAnimationFrame(this._comparisonRefreshRafId),this._comparisonRefreshRafId=requestAnimationFrame(()=>{this._comparisonRefreshRafId=null,this._refreshComparisonUI()});return}this._comparisonSelectedSkus=[...this._comparisonSelectedSkus,e],this._comparisonSelectionWarning=null,ds(e)}this._comparisonRefreshRafId!==null&&cancelAnimationFrame(this._comparisonRefreshRafId),this._comparisonRefreshRafId=requestAnimationFrame(()=>{this._comparisonRefreshRafId=null,this._refreshComparisonUI()})}_refreshComparisonUI(){const e=this._shadow?.querySelector(".gengage-chat-panel");if(!e){this._drawer?.setComparisonDockContent(null);return}const a=e.querySelector(".gengage-chat-product-grid-wrapper");if(!a){this._drawer?.setComparisonDockContent(null);return}const n=a.querySelectorAll(".gengage-chat-product-card[data-sku]");if(n.length===0){this._drawer?.setComparisonDockContent(null);return}const i=a.querySelector(".gengage-chat-comparison-toggle-btn");if(i&&i.classList.toggle("gengage-chat-comparison-toggle-btn--active",this._comparisonSelectMode),this._comparisonSelectMode)for(const r of n){if(r.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")){const h=r.parentElement,f=this._comparisonSelectedSkus.includes(r.dataset.sku);h.classList.toggle("gengage-chat-comparison-select-wrapper--selected",f);const b=h.querySelector(".gengage-chat-comparison-checkbox");if(b){b.dataset.selected=f?"true":"false",b.setAttribute("aria-pressed",f?"true":"false");const m=b.querySelector(".gengage-chat-comparison-checkbox-icon"),u=b.querySelector(".gengage-chat-comparison-checkbox-label");m&&(m.innerHTML=f?'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>':'<span class="gengage-chat-comparison-checkbox-dot"></span>'),u&&(u.textContent=f?this._i18n.comparisonSelectedLabel??"Selected":this._i18n.comparisonSelectLabel??"Select to compare")}continue}const o=r.dataset.sku,s=document.createElement("div");s.className="gengage-chat-comparison-select-wrapper";const c=this._comparisonSelectedSkus.includes(o);c&&s.classList.add("gengage-chat-comparison-select-wrapper--selected");const l=document.createElement("button");l.type="button",l.className="gengage-chat-comparison-checkbox",l.dataset.selected=c?"true":"false",l.setAttribute("aria-pressed",c?"true":"false");const p=document.createElement("span");p.className="gengage-chat-comparison-checkbox-icon",p.innerHTML=c?'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>':'<span class="gengage-chat-comparison-checkbox-dot"></span>';const d=document.createElement("span");d.className="gengage-chat-comparison-checkbox-label",d.textContent=c?this._i18n.comparisonSelectedLabel??"Selected":this._i18n.comparisonSelectLabel??"Select to compare",l.appendChild(p),l.appendChild(d),l.addEventListener("click",h=>{h.stopPropagation(),this._toggleComparisonSku(o)}),r.parentNode.insertBefore(s,r),s.appendChild(l),s.appendChild(r),s.classList.add("gds-clickable"),s.addEventListener("click",h=>{h.target.closest(".gengage-chat-comparison-checkbox")||(h.stopPropagation(),this._toggleComparisonSku(o))})}else{const r=a.querySelectorAll(".gengage-chat-comparison-select-wrapper");for(const o of r){const s=o.querySelector(".gengage-chat-product-card");s&&o.parentNode&&(o.parentNode.insertBefore(s,o),o.remove())}}if(a.querySelector(".gengage-chat-comparison-floating-btn")?.remove(),this._comparisonSelectMode){const r=Ji(this._comparisonSelectedSkus,this._buildRenderContext());this._isMobileViewport?(this._drawer?.setComparisonDockContent(r),this._ensureMobilePanelOverlayVisible()):(this._drawer?.setComparisonDockContent(null),a.appendChild(r))}else this._drawer?.setComparisonDockContent(null)}_clearChoicePrompter(){this._choicePrompterEl?.remove(),this._choicePrompterEl=null,this._shadow?.querySelectorAll(".gengage-chat-choice-prompter").forEach(e=>e.remove())}_mountChoicePrompter(){if(!this._choicePrompterEl)return!1;if(this._isMobileViewport)return this._drawer?.setComparisonDockContent(this._choicePrompterEl),this._ensureMobilePanelOverlayVisible(),!0;const e=this._shadow?.querySelector(".gengage-chat-panel-float");return e?(e.appendChild(this._choicePrompterEl),!0):(this._choicePrompterEl=null,!1)}_parseAddToCartActionPayload(e){if(typeof e!="object"||e===null)return null;const a=e,n=this._coerceAddToCartString(a.sku),i=this._coerceAddToCartString(a.cartCode??a.cart_code);let r=1;return typeof a.quantity=="number"&&Number.isFinite(a.quantity)&&a.quantity>0&&(r=Math.max(1,Math.floor(a.quantity))),!n||!i?null:{sku:n,cartCode:i,quantity:r}}_coerceAddToCartString(e){return typeof e=="string"&&e.length>0?e:typeof e=="number"&&Number.isFinite(e)?String(e):""}_maybeHandleDirectAddToCartCommand(e){if(eo(e)!=="directAddToCart")return!1;const a=this._resolveCurrentProductAddToCartParams();return a?(this._runChatAddToCartFlow(a),!0):!1}_resolveCurrentProductAddToCartParams(){const e=ke(this.config.pageContext?.extra),a=this._activeSkuForProductSummaryClick()??this._coerceSkuKey(this._bridgeContext?.sku),n=this.config.pageContext?.pageType==="pdp",i=this._getCurrentPanelProductRecord(),r=n?this._getCurrentPanelProductGridRecord(a):null,o=n?this._getInlinePdpProductRecord():null;if(!i&&!r&&this._currentPanelSource&&!o)return null;const s=[i,r];n&&s.push(o),this._currentPanelSource||(s.push(this._getLatestProductDetailsRecord()),n&&s.push(this._getLatestProductGridRecord(a))),n&&s.push(ke(this._bridgeContext?.product),ke(this._bridgeContext?.productDetails),this._bridgeContext,ke(e?.product),ke(e?.productDetails),e);for(const c of s){const l=this._extractAddToCartParamsFromRecord(c,a);if(l)return l}return null}_extractAddToCartParamsFromRecord(e,a){if(!e||(e.inStock??e.in_stock)===!1)return null;const n=this._coerceSkuKey(e.sku??a),i=this._coerceAddToCartString(e.cartCode??e.cart_code);return!n||!i?null:{sku:n,cartCode:i,quantity:1}}_hasAddToCartConfirmationHandler(){return this.config.onAddToCart!==void 0||(this._eventCallbacks.get("gengage-cart-add")?.size??0)>0}_addToCartRequestKey(e){return`${e.sku}\0${e.cartCode}\0${e.quantity}`}async _runChatAddToCartFlow(e){const a=this._addToCartRequestKey(e);if(this._pendingAddToCartKeys.has(a))return;this._pendingAddToCartKeys.add(a);const n={...e,sessionId:this.config.session?.sessionId??null};try{if(!this._hasAddToCartConfirmationHandler()){this._handleCallbackFailure("gengage-cart-add",n);return}if(this.config.onAddToCart!==void 0)try{await Promise.resolve(this.config.onAddToCart(e))}catch(r){console.error("[gengage] onAddToCart",r),this._handleCallbackFailure("gengage-cart-add",n);return}if(!await this._runEventCallbacks("gengage-cart-add",n))return;Hn(e.sku,e.quantity),me("gengage:chat:add-to-cart",n),this._bridge?.send("addToCart",e),this._sendAction({title:this._i18n.addToCartButton??"Add to Cart",type:"addToCart",payload:{sku:e.sku,cart_code:e.cartCode,quantity:e.quantity}},{preservePanel:!0});const i=this._i18n.addedToCartToast??"Added to cart";this._drawer?.showCartToast(i),this._drawer?.flashCartBadge()}finally{this._pendingAddToCartKeys.delete(a)}}_buildRenderContext(){const e={locale:He(this.config.locale),onAction:a=>{if(a.type==="frontend_restore_panel_message"){this._restorePanelFromFrontendMessage(a.payload);return}if(la(a.title,a.type),a.type==="addToCart"){const i=this._parseAddToCartActionPayload(a.payload);if(i){this._runChatAddToCartFlow(i);return}}if(a.type==="launchSingleProduct"){const i=typeof a.payload=="object"&&a.payload!==null&&"sku"in a.payload?a.payload.sku:void 0,r=this._coerceSkuKey(i),o=this._activeSkuForProductSummaryClick();if(r&&o&&r===o)return;r&&ga(r,a.title)}if(a.type==="findSimilar"){const i=typeof a.payload=="object"&&a.payload!==null&&"sku"in a.payload?String(a.payload.sku):"";Rn(i)}if(a.type==="getComparisonTable"){const i=a.payload,r=i&&typeof i=="object"?i:null,o=r&&typeof r.gengage_analytics_source=="string"?r.gengage_analytics_source:"";let s=[];r&&Array.isArray(r.sku_list)&&(s=r.sku_list.filter(c=>typeof c=="string")),o==="floating_compare_dock"?vs(s):ps(s.length>0?s:this._comparisonSelectedSkus)}const n=a.type==="addToCart"||a.type==="like";this._sendAction(a,n?{preservePanel:!0}:void 0)},onProductClick:a=>{const n=this.config.isDemoWebsite===!0,i=!n&&this._isSameOriginUrl(a.url);if(!i){const s=this._coerceSkuKey(a.sku),c=this._activeSkuForProductSummaryClick();if(s&&c&&s===c)return}if(i){me("gengage:similar:product-click",{sku:a.sku,url:a.url,sessionId:this.config.session?.sessionId??null,...a.name!==void 0&&a.name!==""?{productName:a.name}:{}}),this._saveSessionAndOpenURL(a.url);return}const r=a.url.trim();if(!n&&this.config.onProductNavigate!==void 0&&r.length>0&&he(r)){ga(a.sku),this.config.onProductNavigate(r,a.sku,this.config.session?.sessionId??null);return}ga(a.sku);const o=a.name?.trim()?a.name.trim():a.sku;this._sendAction({title:o,type:"launchSingleProduct",payload:{sku:a.sku}})},onAddToCart:a=>{this._runChatAddToCartFlow(a)},onProductSelect:a=>{const n=this._productSkuKey(a),i=this._activeSkuForProductSummaryClick();if(n&&i&&n===i)return;if(this._currentInlineProductSummaryRecord=a,this._currentPanelSource){const l=this._drawer?.getPanelTopBarTitle()??"";this._localPanelHistory.push({source:this._currentPanelSource,title:l}),this._localPanelHistory.length>et._MAX_PANEL_HISTORY&&this._localPanelHistory.shift()}const r=this._buildRenderContext(),o={root:"root",elements:{root:{type:"ProductSummaryCard",props:{product:a}}}},s=this._shadow?.querySelector(".gengage-chat-messages");if(s){const l=this._renderUISpec(o,r);this._currentThreadId&&(l.dataset.threadId=this._currentThreadId),s.appendChild(l),this._scrollInlineIntoView(l,this._currentThreadId),this._drawer?.refreshPresentationCollapsed()}if(this.config.productDetailsExtended!==!0){this._clearAssistantPanelLikeStreamClearPanel();return}const c={root:"root",elements:{root:{type:"ProductDetailsPanel",props:{product:a}}}};this._drawer?.setPanelContent(this._renderUISpec(c,e)),this._currentPanelSource={kind:"spec",spec:c},this._panel&&(this._panel.currentType="ProductDetailsPanel"),this._drawer?.updatePanelTopBar(!0,!1,this._i18n.panelTitleProductDetails)},i18n:this._i18n,pricing:this.config.pricing,productPriceUi:this.config.productPriceUi,hideProductDiscountBadge:this.config.hideProductDiscountBadge,hideUserReviews:this.config.hideUserReviews,hideStockStatus:this.config.hideStockStatus,productSort:this._productSort,onSortChange:a=>{this._productSort=a},comparisonSelectMode:this._comparisonSelectMode,comparisonSelectedSkus:this._comparisonSelectedSkus,comparisonMaxSelection:et._MAX_COMPARISON_SELECTION,comparisonSelectionWarning:this._comparisonSelectionWarning,onToggleComparisonSku:a=>{this._toggleComparisonSku(a)},favoritedSkus:this._session?.favoritedSkus??new Set,onFavoriteToggle:(a,n)=>{this._toggleProductFavorite(a,n)},isMobile:this._isMobileViewport};return e}async _toggleFavorite(e,a){if(!this._session)return;const n=this.config.session?.userId??"",i=this.config.accountId;await this._session.toggleFavorite(n,i,e,a),this._drawer?.updateFavoritesBadge(this._session.favoritedSkus.size)}_revertFavoriteHeartUi(e){const a=this._shadow?.querySelectorAll(`[data-gengage-favorite-sku="${ve(e)}"]`);if(a?.length)for(const n of a){if(!(n instanceof HTMLButtonElement))continue;n.classList.toggle("gengage-chat-favorite-btn--active");const i=n.querySelector("svg");i&&i.setAttribute("fill",n.classList.contains("gengage-chat-favorite-btn--active")?"currentColor":"none")}}async _toggleProductFavorite(e,a){const n=!(this._session?.favoritedSkus.has(e)??!1),i={sku:e,product:a,favorited:n,sessionId:this.config.session?.sessionId??null};me("gengage:chat:product-favorite",i),this._bridge?.send("productFavorite",i);const r=this._eventCallbacks.get("gengage-product-favorite");if(r&&r.size>0){for(const o of r)try{const s=o(i);if((s instanceof Promise?await s:s)===!1){this._revertFavoriteHeartUi(e),this._handleCallbackFailure("gengage-product-favorite",i);return}}catch{this._revertFavoriteHeartUi(e),this._handleCallbackFailure("gengage-product-favorite",i);return}this._session&&(n?this._session.favoritedSkus.add(e):this._session.favoritedSkus.delete(e),this._drawer?.updateFavoritesBadge(this._session.favoritedSkus.size));return}if(await this._toggleFavorite(e,a),n){ms(e);const o=a.name??e;this._sendAction({title:o,type:"like",payload:{sku:e}},{preservePanel:!0})}}_openFavoritesPanel(){if(this._drawer){if(this._currentPanelSource){const e=this._drawer.getPanelTopBarTitle()??"";this._localPanelHistory.push({source:this._currentPanelSource,title:e}),this._localPanelHistory.length>et._MAX_PANEL_HISTORY&&this._localPanelHistory.shift()}this._drawer.setPanelContent(this._buildFavoritesPageEl()),this._currentPanelSource={kind:"favorites"},this._drawer.updatePanelTopBar(!0,!1,this._i18n.favoritesPageTitle)}}_buildFavoritesPageEl(){const e=this._session?.getFavoriteProducts()??[];if(e.length===0){const r=document.createElement("div");r.className="gengage-chat-favorites-empty";const o=document.createElement("div");o.className="gengage-chat-favorites-empty-icon",o.innerHTML='<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>',r.appendChild(o);const s=document.createElement("p");return s.textContent=this._i18n.emptyFavoritesMessage,r.appendChild(s),r}const a={},n=[];for(const[r,o]of e.entries()){const s=`card_${r}`;n.push(s),a[s]={type:"ProductCard",props:{product:{sku:o.sku,name:o.name,imageUrl:o.imageUrl,price:o.price}}}}a.grid={type:"ProductGrid",children:n};const i={root:"grid",elements:a};return this._renderUISpec(i,this._buildRenderContext())}_isMessageHostedUISpec(e){if(!e)return!1;const a=e.elements[e.root];return!!a&&hn.has(a.type)}_isPanelAiSpec(e){if(!e)return!1;const a=e.elements[e.root];return a?.type==="AITopPicks"||a?.type==="AIGroupingCards"}_rememberPanelAiSpec(e,a){this._isPanelAiSpec(a)&&this._panelAiSpecByThread.set(e,a)}_restorePanelAiSpecMap(e){for(const[a,n]of Object.entries(e))this._rememberPanelAiSpec(a,n)}_hydrateRestoredUISpecMetadata(e,a,n){const i=this._isMessageHostedUISpec(n);this._rememberPanelAiSpec(a,n);const r=n.elements[n.root];return r&&!i&&!this._panel?.snapshotTypes.has(e)&&this._panel?.snapshotTypes.set(e,r.type),i}_renderMessageUISpec(e){return!e.uiSpec||!this._isMessageHostedUISpec(e.uiSpec)?null:this._renderUISpec(e.uiSpec,this._buildRenderContext())}_maybeAddPanelRestoreMessage(e){if(!this._panel||!e.threadId||this._panel.snapshotTypes.get(e.id)!=="ProductGrid")return;const a=this._currentPanelSource;if(a?.kind!=="spec")return;const n=a.spec.elements[a.spec.root];if(!n||n.type!=="ProductGrid"||Xt(n))return;const i=(n.children??[]).map(l=>{const p=a.spec.elements[l]?.props?.product;return p?{imageUrl:typeof p.imageUrl=="string"?p.imageUrl:void 0,name:typeof p.name=="string"?p.name:void 0}:null}).filter(l=>l!==null).slice(0,3);if(i.length===0)return;const r=typeof n.props?.panelTitle=="string"?n.props.panelTitle:void 0,o=this._panel.titleForComponent("ProductGrid",r),s=this._createMessage("assistant","");s.threadId=e.threadId,s.frontendOnly=!0,s.uiSpec={root:"root",elements:{root:{type:"PanelRestoreCard",props:{title:o,showTitle:!1,ctaLabel:this._i18n.showPanelAriaLabel??"Show Results",panelMessageId:s.id,highlightMessageId:s.id,threadId:e.threadId,products:i}}}},this._messages.push(s);const c=this._clonePanelSourceForHistory(a);this._panel.snapshotForMessage(s.id,{source:c,threadId:s.threadId,rebuild:()=>{const l=this._buildRenderContext();return this._renderPanelFromSource(c,l)}}),this._ensureAssistantMessageRendered(s)}_restorePanelFromFrontendMessage(e){const a=e&&typeof e=="object"?e:null;if(!a)return;const n=typeof a.panelMessageId=="string"?a.panelMessageId:"",i=typeof a.highlightMessageId=="string"?a.highlightMessageId:n,r=typeof a.threadId=="string"?a.threadId:"";if(!n)return;const o=()=>{if(this._panel?.snapshotTypes.get(n)==="ProductGrid"&&this._ensureMobilePanelOverlayVisible(),this._panel?.restoreForMessage(n,i)??!1){const s=this._messages.find(l=>l.id===n);this._currentPanelSource=this._panel?.sourceForMessage(n)??this._panelSourceFromMessage(s);const c=this._panel?.currentType??"";this._panel?.updateTopBar(c),r&&this._restorePanelAiZoneForThread(r)}};if(r&&this._currentThreadId!==r){this._rollbackToThread(r),requestAnimationFrame(o);return}o()}_restorePanelAiZoneForThread(e){const a=this._panelAiSpecByThread.get(e);if(!a||!this._drawer){this._drawer?.setPanelAiZoneState("hidden");return}const n=this._renderUISpec(a,this._buildRenderContext());this._drawer.setPanelAiZoneState("results",{resultEl:n})}async _runEventCallbacks(e,a){const n=this._eventCallbacks.get(e);if(!n||n.size===0)return!0;for(const i of n)try{if(await Promise.resolve(i(a))===!1)return this._handleCallbackFailure(e,a),!1}catch{return this._handleCallbackFailure(e,a),!1}return!0}_handleCallbackFailure(e,a){if(e==="gengage-cart-add"){const n=this._i18n.cartAddErrorMessage,i=this._createMessage("assistant",n);this._currentThreadId&&(i.threadId=this._currentThreadId),this._messages.push(i),this._drawer?.addMessage(i),this._persistConversationState()}if(e==="gengage-product-favorite"){const n=this._i18n.favoriteToggleErrorMessage,i=this._createMessage("assistant",n);this._currentThreadId&&(i.threadId=this._currentThreadId),this._messages.push(i),this._drawer?.addMessage(i),this._persistConversationState()}}_restoreInlineUISpec(e){if(!e.uiSpec||!this._drawer)return;const a=e.uiSpec,n=a.elements[a.root];if(!n)return;const i=n.type;if(i==="ActionButtons"||i==="ComparisonTable"||i==="ProductGrid"&&this._panel?.snapshotTypes.get(e.id)==="ProductGrid"||Xt(n))return;const r=this._buildRenderContext(),o=this._shadow?.querySelector(".gengage-chat-messages");if(!o)return;if(i==="ProductDetailsPanel"){const c=n.props?.product;if(!c)return;this._currentInlineProductSummaryRecord=c;const l={root:"root",elements:{root:{type:"ProductSummaryCard",props:{product:c}}}},p=this._renderUISpec(l,r);e.threadId&&(p.dataset.threadId=e.threadId),o.appendChild(p),this._drawer?.refreshPresentationCollapsed();return}const s=this._renderUISpec(a,r);e.threadId&&(s.dataset.threadId=e.threadId),o.appendChild(s),this._drawer?.refreshPresentationCollapsed()}_createMessage(e,a){return this._currentMessageId++,{id:`msg-${this._currentMessageId}`,role:e,content:a,timestamp:Date.now(),status:"done"}}_resolveI18n(e){return{...xl(e.locale),...e.i18n}}_resolveUISpecRegistry(){return pa(or(),this.config.renderer?.registry)}_renderUISpec(e,a){const n=e.elements[e.root];if(n?.type==="ProductSummaryCard"){const c=ke(n.props),l=ke(c?.product)??c;l&&(this._currentInlineProductSummaryRecord=l)}const i=this._resolveUISpecRegistry(),r=this.config.renderer?.unknownRenderer??Wt,o=(c,l)=>sr(c,l,i,r),s=this.config.renderer?.renderUISpec;return s?s(e,a,{registry:i,unknownRenderer:r,defaultRender:o}):o(e,a)}}}));function Lp(t){return typeof t=="string"&&t.toLowerCase().startsWith("tr")}function _o(t){return Lp(t)?"İnternet bağlantısında sorun var gibi görünüyor. İstek sürerken yeniden deneyeceğiz.":"Your internet connection looks unstable. We'll keep retrying while this request is active."}function wo(){let t;for(const e of Re.values())t=e;return t}function mn(){Ze&&(clearTimeout(Ze),Ze=null)}function Ip(){dt&&(clearInterval(dt),dt=null)}async function ko(){try{if(typeof navigator<"u"&&navigator.onLine===!1)return!1;if(typeof window<"u"){const a=window.location.hostname;if(a==="localhost"||a==="127.0.0.1")return navigator.onLine}const t=new AbortController,e=setTimeout(()=>t.abort(),3e3);try{return await fetch(To,{method:"HEAD",mode:"no-cors",cache:"no-cache",signal:t.signal}),!0}catch{return navigator.onLine}finally{clearTimeout(e)}}catch{return typeof navigator>"u"?!0:navigator.onLine}}function Jt(){Ge=!1,Ip(),qn()}function ea(){Ze||Ge||Re.size===0||(Ze=setTimeout(async()=>{Ze=null,!(Ge||Re.size===0)&&!await ko()&&Re.size>0&&(Ge=!0,ma({source:"sdk",message:_o(wo()),sticky:!0}),dt||(dt=setInterval(async()=>{if(Re.size===0){Jt();return}await ko()&&(Jt(),ea())},Eo)))},So))}function Np(){fn||typeof window>"u"||(fn=!0,window.addEventListener("online",()=>{Jt(),ea()}),window.addEventListener("offline",()=>{Re.size===0||Ge||(Ge=!0,mn(),ma({source:"sdk",message:_o(wo()),sticky:!0}))}))}function Co(t){Np();const e=Symbol(t.source);Re.set(e,t.locale),ea();let a=!1;return()=>{if(!a){if(a=!0,Re.delete(e),Re.size===0){mn(),Jt();return}Ge||(mn(),ea())}}}var So,Eo,To,Re,fn,Ze,dt,Ge,Po=L((()=>{it(),So=8e3,Eo=5e3,To="https://www.google.com/favicon.ico",Re=new Map,fn=!1,Ze=null,dt=null,Ge=!1}));async function Mp(t,e,a){const n=zt("launcher_action",e),i={uiSpecs:[],actions:[]},r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)};a!==void 0&&(r.signal=a);const o=await Ht(n,r);if(!o.ok)throw new Error(`HTTP ${o.status}: ${o.statusText}`);const s={onEvent:c=>{const l=Rt(c);if(l&&(l.type==="ui_spec"&&i.uiSpecs.push(l.spec),l.type==="ui_spec"&&l.spec.elements)){for(const p of Object.values(l.spec.elements))if(p.type==="ActionButton"&&p.props?.action){const d=p.props.action;i.actions.push(d)}}}};return a!==void 0&&(s.signal=a),await Nt(o,s),i}var Bp=L((()=>{va(),Pa(),Ta(),Ma()}));function Ao(t){const e=document.createElement("div");e.className="gengage-qna-buttons gds-toolbar",e.dataset.gengagePart="qna-button-row",e.setAttribute("role","group"),e.setAttribute("aria-label",t.quickQuestionsAriaLabel??"Quick questions"),t.orientation==="vertical"&&(e.style.flexDirection="column");for(const a of t.actions){const n=document.createElement("button");n.className="gengage-qna-button gds-chip",n.dataset.gengagePart="qna-quick-question",n.textContent=a.title,n.type="button",n.addEventListener("click",()=>{const i={title:a.title,type:a.type};a.payload!==void 0&&(i.payload=a.payload),t.onAction(i)}),e.appendChild(n)}if(t.ctaText||t.onOpenChat){const a=document.createElement("button");a.className="gengage-qna-cta gds-btn gds-btn-secondary",a.dataset.gengagePart="qna-cta",a.textContent=t.ctaText??t.defaultCtaText??"Ask something else",a.type="button",a.addEventListener("click",()=>{t.onOpenChat?.()}),e.appendChild(a)}return e}var Rp=L((()=>{}));function zp(t){const e=document.createElement("div");e.className="gengage-qna-input-wrapper",e.dataset.gengagePart="qna-input-wrapper";const a=document.createElement("div");a.className="gengage-qna-input-combo",a.dataset.gengagePart="qna-input-combo";const n=document.createElement("input");n.type="text",n.className="gengage-qna-input",n.dataset.gengagePart="qna-input",n.setAttribute("aria-label",t.askQuestionAriaLabel??"Ask a question");const i=Array.isArray(t.placeholders)?t.placeholders:t.placeholders?[t.placeholders]:[t.defaultInputPlaceholder??"Ask a question..."];let r=0,o=i[0]??"";n.placeholder=o;let s=null,c=null,l=!1;const p=()=>{s&&clearInterval(s),s=null,c&&clearTimeout(c),c=null,n.classList.remove("gengage-qna-input--fade")},d=()=>i.length>1&&!l&&n.value.trim().length===0,h=()=>{p(),d()&&(s=setInterval(()=>{d()&&(n.classList.add("gengage-qna-input--fade"),c=setTimeout(()=>{r=(r+1)%i.length,o=i[r]??"",n.placeholder=o,n.classList.remove("gengage-qna-input--fade")},180))},3e3))},f=document.createElement("div");f.className="gengage-qna-input-actions",f.dataset.gengagePart="qna-input-actions";const b=document.createElement("button");b.className="gengage-qna-icon-btn gengage-qna-clear gengage-qna-icon-btn--hidden",b.type="button",b.dataset.gengagePart="qna-clear",b.setAttribute("aria-label","Clear question"),b.innerHTML='<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M18 6L6 18" /><path d="M6 6L18 18" /></svg>';const m=document.createElement("button");m.className="gengage-qna-icon-btn gengage-qna-send gengage-qna-icon-btn--hidden",m.type="button",m.dataset.gengagePart="qna-send",m.setAttribute("aria-label",t.sendQuestionAriaLabel??"Send question"),m.disabled=!0,m.innerHTML=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M22 2L11 13" /><path d="M22 2L15 22L11 13L2 9L22 2Z" /></svg><span class="gengage-qna-sr-only">${t.ctaLabel??t.sendButtonText??"Ask"}</span>`;const u=()=>{const v=n.value.trim().length>0;b.classList.toggle("gengage-qna-icon-btn--hidden",!v),m.classList.toggle("gengage-qna-icon-btn--hidden",!v),m.classList.toggle("gengage-qna-send--active",v),m.disabled=!v},g=()=>{const v=n.value.trim();v&&(t.onSubmit({title:v,type:"user_message",payload:v}),n.value="",u(),h())};return b.addEventListener("click",()=>{n.value="",u(),n.focus({preventScroll:!0})}),m.addEventListener("click",g),n.addEventListener("focus",()=>{l=!0,p(),n.placeholder=""}),n.addEventListener("blur",()=>{l=!1,n.value.trim().length===0&&(n.placeholder=o),h()}),n.addEventListener("input",()=>{if(u(),n.value.trim().length>0){p();return}n.placeholder=l?"":o,h()}),n.addEventListener("keydown",v=>{v.key==="Enter"&&(v.preventDefault(),g()),v.key==="Escape"&&n.value.length>0&&(n.value="",u(),h())}),f.appendChild(b),f.appendChild(m),a.appendChild(n),a.appendChild(f),e.appendChild(a),u(),h(),e._cleanup=()=>{p()},e}var Hp=L((()=>{}));function ta(t,e){if(!t||typeof t!="object")return null;const a=t,n=a.type;if(typeof n!="string"||n.length===0)return null;const i=a.title,r=a.payload,o=typeof i=="string"&&i.length>0?i:e;if(!o)return null;const s={title:o,type:n};return r!==void 0&&(s.payload=r),s}function Lo(t){const e={title:t.title,type:t.type};return t.payload!==void 0&&(e.payload=t.payload),e}function Io(t,e){const a=[],n=t.props?.actions;if(Array.isArray(n))for(const o of n){const s=ta(o);s&&a.push(s)}const i=t.props?.buttons;if(Array.isArray(i))for(const o of i){if(!o||typeof o!="object")continue;const s=o,c=typeof s.label=="string"?s.label:void 0,l=ta(s.action,c);l&&a.push(l)}if(t.children)for(const o of t.children){const s=e.elements[o];if(!s||s.type!=="ActionButton")continue;const c=typeof s.props?.label=="string"?s.props.label:void 0,l=ta(s.props?.action,c);l&&a.push(l)}const r=new Set;return a.filter(o=>r.has(o.title)?!1:(r.add(o.title),!0))}function No(){return{...bn}}function Mo(t,e,a=bn,n=aa){return da({spec:t,context:e,registry:a,containerClassName:"gengage-qna-uispec",unknownRenderer:n})}var bn,aa,Fp=L((()=>{nt(),Rp(),Hp(),bn={ButtonRow:({element:t,spec:e,context:a})=>{const n=Io(t,e).map(Lo),i=t.props?.orientation,r={actions:n,onAction:a.onAction,defaultCtaText:a.i18n.defaultCtaText,quickQuestionsAriaLabel:a.i18n.quickQuestionsAriaLabel};return a.onOpenChat!==void 0&&(r.onOpenChat=a.onOpenChat),a.ctaText!==void 0&&(r.ctaText=a.ctaText),(i==="horizontal"||i==="vertical")&&(r.orientation=i),Ao(r)},ActionButtons:({element:t,spec:e,context:a})=>{const n={actions:Io(t,e).map(Lo),onAction:a.onAction,defaultCtaText:a.i18n.defaultCtaText,quickQuestionsAriaLabel:a.i18n.quickQuestionsAriaLabel};return a.onOpenChat!==void 0&&(n.onOpenChat=a.onOpenChat),a.ctaText!==void 0&&(n.ctaText=a.ctaText),Ao(n)},ActionButton:({element:t,context:e})=>{const a=document.createElement("button");a.className="gengage-qna-button gds-chip",a.type="button",a.dataset.gengagePart="qna-action-button";const n=t.props?.label;typeof n=="string"?a.textContent=n:a.textContent=e.i18n.defaultCtaText;const i=ta(t.props?.action,typeof n=="string"?n:void 0);return i&&a.addEventListener("click",()=>e.onAction(i)),a},TextInput:({element:t,context:e})=>{const a=t.props?.placeholder,n=typeof a=="string"||Array.isArray(a)?a:e.inputPlaceholder,i=typeof t.props?.ctaLabel=="string"?t.props.ctaLabel:void 0,r={onSubmit:e.onAction,askQuestionAriaLabel:e.i18n.askQuestionAriaLabel,defaultInputPlaceholder:e.i18n.defaultInputPlaceholder,sendButtonText:e.i18n.sendButton,sendQuestionAriaLabel:e.i18n.sendQuestionAriaLabel};return n!==void 0&&(r.placeholders=n),i!==void 0&&(r.ctaLabel=i),zp(r)},QuestionHeading:({element:t,context:e})=>{const a=document.createElement("h3");a.className="gengage-qna-heading",a.dataset.gengagePart="qna-heading";const n=t.props?.text,i=e.headingTitleOverride;return a.textContent=typeof i=="string"&&i.trim().length>0?i:typeof n=="string"?n:"",a},ProductCard:()=>null},aa=({element:t,renderElement:e})=>{if(!t.children||t.children.length===0)return null;const a=document.createElement("div");for(const n of t.children){const i=e(n);i&&a.appendChild(i)}return a}}));function Dp(t){if(!t)return;const e=t.extra;if(e&&typeof e=="object"&&!Array.isArray(e)){const n=e.visible_skus??e.visibleSkus;if(Array.isArray(n)){const i=n.filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()).slice(0,200);if(i.length>0)return i}}const a=typeof t.sku=="string"&&t.sku.trim()?t.sku.trim():void 0;return a?[a]:void 0}function Bo(t,e){if(!t)return null;const a=t.action;if(!a||typeof a!="object")return null;const n=a,i=n.type;if(typeof i!="string"||i.length===0)return null;const r=n.title,o=typeof r=="string"&&r.length>0?r:typeof e=="string"&&e.length>0?e:"";if(!o)return null;const s=n.payload,c={title:o,type:i};return s!==void 0&&(c.payload=s),c}function Up(t,e){const a=t.elements[t.root];if(!a)return!1;const n=i=>{if(i.type!=="ActionButton")return!1;const r=i.props;if(!r||typeof r!="object")return!1;const o=typeof r.label=="string"?r.label:void 0;return o===e?!0:Bo(r,o)?.title===e};if(a.type==="ActionButton")return n(a);if(a.children)for(const i of a.children){const r=t.elements[i];if(r&&n(r))return!0}if(a.type==="ActionButtons"&&Array.isArray(a.props?.buttons)){for(const i of a.props.buttons)if(i?.label===e||i?.action?.title===e)return!0}return!1}function Ro(){return vn+=1,`gengage-merge-${vn}`}function Op(t,e){const a=t.elements[t.root];if(!a||a.type!=="ButtonRow")return;const n=Ro();t.elements[n]={type:"ActionButton",props:{label:e.title,action:{title:e.title,type:e.type,...e.payload!==void 0?{payload:e.payload}:{}}}},a.children=a.children?[n,...a.children]:[n]}function qp(t,e){const a=t.elements[t.root];if(!a||a.type!=="ActionButtons")return;const n=Ro();t.elements[n]={type:"ActionButton",props:{label:e.title,action:{title:e.title,type:e.type,...e.payload!==void 0?{payload:e.payload}:{}}}},a.children=a.children?[n,...a.children]:[n];const i=a.props?.buttons??[],r={label:e.title,action:{title:e.title,type:e.type,...e.payload!==void 0?{payload:e.payload}:{}}};a.props={...a.props,buttons:[r,...i]}}function jp(t){const e={},a=[];for(let n=0;n<t.length;n++){const i=t[n],r=`action-${n}`;a.push(r),e[r]={type:"ActionButton",props:{label:i.title,action:{title:i.title,type:i.type,...i.payload!==void 0?{payload:i.payload}:{}}}}}return e.root={type:"ButtonRow",children:a},{root:"root",elements:e}}function $p(t){return t.find(e=>{const a=e.elements[e.root];return a?.type==="ActionButtons"||a?.type==="ButtonRow"})}function zo(t,e){const a=t.productContextQuickPillLabel,n={text:a};return e&&e.length>0&&(n.sku_list=e),{title:a,type:"user_message",payload:n}}function Vp(t,e,a){const n=a?.skuList,i=[],r=[];for(const c of t){const l=c.elements[c.root];if(l?.type==="ActionButton"){const p=l.props;if(Bo(p,typeof p?.label=="string"?p.label:void 0)?.type==="findSimilar"){i.push(zo(e,n));continue}}r.push(c)}if(i.length===0)return t;const o=zo(e,n),s=$p(r);if(!s)return[...r,jp([o])];if(!Up(s,o.title)){const c=s.elements[s.root];c?.type==="ActionButtons"?qp(s,o):c?.type==="ButtonRow"&&Op(s,o)}return r}var vn,Gp=L((()=>{vn=0})),yn,Wp=L((()=>{yn={quickQuestionsAriaLabel:"Hızlı sorular",askQuestionAriaLabel:"Soru sorun",defaultInputPlaceholder:"Bir soru sorun...",sendButton:"Sor",sendQuestionAriaLabel:"Soruyu gönder",defaultCtaText:"Başka bir şey sor",redirectingToChat:"Sohbete yönlendiriliyor...",productContextQuickPillLabel:"Bu ürün hakkında ne bilmeliyim?"}})),Ho,Kp=L((()=>{Ho={quickQuestionsAriaLabel:"Quick questions",askQuestionAriaLabel:"Ask a question",defaultInputPlaceholder:"Ask a question...",sendButton:"Ask",sendQuestionAriaLabel:"Send question",defaultCtaText:"Ask something else",redirectingToChat:"Redirecting to chat...",productContextQuickPillLabel:"What should I know about this product?"}}));function Yp(t){return t?t.toLowerCase().split("-")[0]??"tr":"tr"}function Qp(t){return Yp(t)==="en"?Ho:yn}var Zp=L((()=>{Wp(),Kp()})),Xp=L((()=>{})),Jp=St({GengageQNA:()=>xn,createDefaultQnaUISpecRegistry:()=>No,createQNAWidget:()=>eh,defaultQnaUnknownUISpecRenderer:()=>aa,renderQnaUISpec:()=>Mo});function eh(){return new xn}var xn,th=L((()=>{nt(),Lt(),ht(),Ke(),Po(),it(),de(),Bp(),at(),Fp(),Gp(),Zp(),Xp(),xn=class extends pt{constructor(...t){super(...t),this._abortController=null,this._debounceTimer=null,this._contentEl=null,this._i18n=yn,this._actionHandler=this._handleAction.bind(this),this._openChatHandler=this._handleOpenChat.bind(this)}async onInit(t){this._i18n=this._resolveI18n(t),this._contentEl=document.createElement("div"),this._contentEl.className="gengage-qna-container",this._contentEl.dataset.gengagePart="qna-container",this._contentEl.lang=He(t.locale);const e=this._createChrome(t);if(e){const n=document.createElement("div");n.className="gengage-qna-chrome-widget",n.dataset.gengagePart="qna-chrome-widget",n.appendChild(this._contentEl),e.appendChild(n),this.root.appendChild(e)}else this.root.appendChild(this._contentEl);const a=t.pageContext?.sku;a&&(this._lastSku=a,await this._fetchAndRender(a)),Et("qna")}onUpdate(t){const e=t.sku;!e||e===this._lastSku||(this._debounceTimer&&clearTimeout(this._debounceTimer),this._debounceTimer=setTimeout(()=>{this._debounceTimer=null,this._lastSku=e,this._fetchAndRender(e)},50))}onShow(){this._contentEl&&(this._contentEl.style.opacity="0",this._contentEl.style.transition="opacity 0.2s ease-in",requestAnimationFrame(()=>{this._contentEl&&(this._contentEl.style.opacity="1")}))}onHide(){}onDestroy(){this._abort(),this._debounceTimer&&(clearTimeout(this._debounceTimer),this._debounceTimer=null),this._contentEl&&(this._cleanupTextInputTimers(),this._contentEl.remove(),this._contentEl=null)}_abort(){this._abortController?.abort(),this._abortController=null}_resolvedQnaHeaderTitle(){const t=this.config.headerTitle??this.config.headingTitle;if(typeof t!="string")return;const e=t.trim();return e.length>0?e:void 0}_cleanupTextInputTimers(){if(!this._contentEl)return;const t=this._contentEl.querySelectorAll(".gengage-qna-input-wrapper");for(const e of t)e._cleanup?.()}async _fetchAndRender(t){if(this._abort(),this._abortController=new AbortController,!this._contentEl)return;this._cleanupTextInputTimers(),this._contentEl.innerHTML="";const e=this._createLoadingIndicator();this._contentEl.appendChild(e);const a={middlewareUrl:this.config.middlewareUrl},n=Co({source:"qna",locale:this.config.locale});try{const i=this.config.session?.sessionId??"",r={account_id:this.config.accountId,session_id:i,correlation_id:i,sku:t,locale:He(this.config.locale)};this.config.session?.userId!==void 0&&(r.user_id=this.config.session.userId),this.config.session?.viewId!==void 0&&(r.view_id=this.config.session.viewId);const o=this.config.pageContext?.pageType;o!==void 0&&(r.page_type=o);const s=await Mp(r,a,this._abortController.signal);if(!this._contentEl)return;this._contentEl.innerHTML="";const c=document.createElement("div");c.className="gengage-qna-panel gds-panel",c.dataset.gengagePart="qna-panel",this._contentEl.appendChild(c);const l=this._specIncludesType(s.uiSpecs,"QuestionHeading"),p=this._resolvedQnaHeaderTitle()??(this.config.showStaticQuestion&&this.config.staticQuestionText?this.config.staticQuestionText:void 0);if(!l&&p){const v=document.createElement("h3");v.className="gengage-qna-heading",v.textContent=p,c.appendChild(v)}const d=this.config.inputPlaceholder;let h;if(d!==!0)h=d??this._i18n.defaultInputPlaceholder;else if(s.actions.length>0){const v=s.actions.filter(_=>_.type==="user_message"||_.title.includes("?")).map(_=>_.title);h=v.length>0?v:this._i18n.defaultInputPlaceholder}else h=this._i18n.defaultInputPlaceholder;const f={onAction:this._actionHandler,i18n:this._i18n},b=this._resolvedQnaHeaderTitle();b!==void 0&&(f.headingTitleOverride=b),this.config.hideButtonRowCta||(f.onOpenChat=this._openChatHandler,this.config.ctaText!==void 0&&(f.ctaText=this.config.ctaText)),h!==void 0&&(f.inputPlaceholder=h);const m=this._buildFallbackActionsSpec(s.actions),u=Dp(this.config.pageContext),g=(s.uiSpecs.length>0?Vp(s.uiSpecs,this._i18n,{skuList:u}):[m]).filter(v=>Object.keys(v.elements).length>0);for(const v of g){const _=this._renderUISpec(v,f);c.appendChild(_)}g.length>0&&Tt("qna"),this._specIncludesType(g,"TextInput")||this._insertStandaloneInputBeforePills(c,f,h)}catch(i){if(i instanceof DOMException&&i.name==="AbortError")return;if(me("gengage:global:error",{source:"qna",code:"FETCH_ERROR",message:On(this.config.locale,i)}),this._contentEl){this._cleanupTextInputTimers(),this._contentEl.innerHTML="";const r=document.createElement("div");r.className="gengage-qna-panel",this._contentEl.appendChild(r);const o=this.config.inputPlaceholder===!0?this._i18n.defaultInputPlaceholder:this.config.inputPlaceholder??this._i18n.defaultInputPlaceholder,s={onAction:this._actionHandler,i18n:this._i18n,onOpenChat:this._openChatHandler},c=this._resolvedQnaHeaderTitle();c!==void 0&&(s.headingTitleOverride=c),this.config.ctaText!==void 0&&(s.ctaText=this.config.ctaText),this._appendStandaloneInput(s,o,r)}}finally{n()}}_createLoadingIndicator(){const t=document.createElement("div");t.className="gengage-qna-loading";for(let e=0;e<3;e++){const a=document.createElement("div");a.className="gengage-qna-loading-dot",t.appendChild(a)}return t}_resolveI18n(t){return{...Qp(t.locale),...t.i18n}}_createChrome(t){const e=t.chrome;if(!e)return null;const a=typeof e.title=="string"?e.title.trim():"",n=typeof e.subtitle=="string"?e.subtitle.trim():"",i=typeof e.startButtonLabel=="string"?e.startButtonLabel.trim():"",r=typeof e.imageUrl=="string"?e.imageUrl.trim():"",o=typeof e.imagePadding=="string"?e.imagePadding.trim():"",s=document.createElement("section");s.className="gengage-qna-chrome",s.dataset.gengagePart="qna-chrome",e.layout==="side-image"&&(s.classList.add("gengage-qna-chrome--side-image"),s.dataset.gengageChromeLayout="side-image"),o&&s.style.setProperty("--gengage-qna-chrome-image-padding",o);const c=document.createElement("div");if(c.className="gengage-qna-chrome-copy",c.dataset.gengagePart="qna-chrome-copy",a){const l=document.createElement("h2");l.className="gengage-qna-chrome-title",l.dataset.gengagePart="qna-chrome-title",l.textContent=a,c.appendChild(l)}if(n){const l=document.createElement("p");l.className="gengage-qna-chrome-subtitle",l.dataset.gengagePart="qna-chrome-subtitle",l.textContent=n,c.appendChild(l)}if(c.children.length>0&&s.appendChild(c),r&&we(r)){const l=document.createElement("img");l.className="gengage-qna-chrome-image",l.dataset.gengagePart="qna-chrome-image",l.src=r,l.alt=typeof e.imageAlt=="string"?e.imageAlt:"",l.loading="lazy",l.addEventListener("error",()=>{l.style.display="none"},{once:!0}),s.appendChild(l)}if(i){const l=document.createElement("button");l.className="gengage-qna-chrome-start",l.dataset.gengagePart="qna-chrome-start",l.type="button",l.textContent=i,l.addEventListener("click",()=>this._handleOpenChat()),s.appendChild(l)}return s.children.length===0?null:s}_resolveUISpecRegistry(){return pa(No(),this.config.renderer?.registry)}_renderUISpec(t,e){const a=this._resolveUISpecRegistry(),n=this.config.renderer?.unknownRenderer??aa,i=(o,s)=>Mo(o,s,a,n),r=this.config.renderer?.renderUISpec;return r?r(t,e,{registry:a,unknownRenderer:n,defaultRender:i}):i(t,e)}_specIncludesType(t,e){for(const a of t)for(const n of Object.values(a.elements))if(n.type===e)return!0;return!1}_buildFallbackActionsSpec(t){if(t.length===0)return{root:"root",elements:{}};const e={},a=[];for(let n=0;n<t.length;n++){const i=t[n],r=`action-${n}`;a.push(r),e[r]={type:"ActionButton",props:{label:i.title,action:{title:i.title,type:i.type,payload:i.payload}}}}return e.root={type:"ButtonRow",children:a},{root:"root",elements:e}}_insertStandaloneInputBeforePills(t,e,a){const n={root:"root",elements:{root:{type:"TextInput",props:{placeholder:a}}}},i=this._renderUISpec(n,e),r=i.querySelector(".gengage-qna-input-wrapper");if(!r)return;const o=t.querySelector(".gengage-qna-uispec"),s=t.querySelector(".gengage-qna-uispec > .gengage-qna-buttons"),c=this.config.inputAfterPills===!0;if(s)c?s.insertAdjacentElement("afterend",r):s.insertAdjacentElement("beforebegin",r);else if(o){const l=o.querySelector(":scope > .gengage-qna-heading");!c&&l?l.insertAdjacentElement("afterend",r):o.appendChild(r)}else{t.appendChild(i);return}i.remove()}_appendStandaloneInput(t,e,a){if(!this._contentEl)return;const n={root:"root",elements:{root:{type:"TextInput",props:{placeholder:e}}}},i=this._renderUISpec(n,t);(a??this._contentEl).appendChild(i)}_handleAction(t){this._showTransitionIndicator(),la(t.title,t.type),this.config.onActionSelected?.(t),setTimeout(()=>me("gengage:qna:action",t),350)}_handleOpenChat(){this._showTransitionIndicator(),this.config.onOpenChat?.(),setTimeout(()=>me("gengage:qna:open-chat",{}),350)}_showTransitionIndicator(){if(!this._contentEl)return;this._contentEl.querySelector(".gengage-qna-transition-indicator")?.remove(),this._contentEl.classList.add("gengage-qna--transitioning");const t=this._i18n.redirectingToChat??"Redirecting to chat...",e=document.createElement("div");e.className="gengage-qna-transition-indicator",e.textContent=t,(this._contentEl.querySelector(".gengage-qna-panel")??this._contentEl).appendChild(e),setTimeout(()=>{this._contentEl?.classList.remove("gengage-qna--transitioning"),e.remove()},600)}}}));function Fo(t){const e=[];for(const a of Object.values(t))if(a.type==="ProductCard"&&a.props){const n=a.props.product??a.props;typeof n.sku=="string"&&typeof n.name=="string"&&e.push(n)}return e}function Do(t){const e=t.headers.get("Content-Type")??"";return e.includes("application/x-ndjson")||e.includes("text/event-stream")}async function ah(t,e){const a=[],n={onEvent:i=>{const r=Rt(i);!r||r.type!=="ui_spec"||a.push(...Fo(r.spec.elements))}};return e!==void 0&&(n.signal=e),await Nt(t,n),a}async function nh(t,e,a){const n=zt("similar_products",e),i={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)};a!==void 0&&(i.signal=a);const r=await Ht(n,i);if(!r.ok)throw new Error(`HTTP ${r.status}: ${r.statusText}`);if(Do(r))return ah(r,a);const o=await r.text();if(!o)throw new Error("Empty response body from similar_products endpoint");try{return qc(JSON.parse(o))}catch{throw new Error("Invalid JSON from similar_products endpoint")}}async function ih(t,e){const a=[];let n=null;const i={onEvent:r=>{const o=Rt(r);if(o){if(o.type==="metadata"&&o.meta){const s=o.meta.group_name;if(typeof s=="string"){n={name:s,products:[]};const c=o.meta.highlight;typeof c=="string"&&(n.highlight=c),a.push(n)}}o.type==="ui_spec"&&n&&n.products.push(...Fo(o.spec.elements))}}};return e!==void 0&&(i.signal=e),await Nt(t,i),a}async function rh(t,e,a){const n=zt("product_groupings",e),i={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)};a!==void 0&&(i.signal=a);const r=await Ht(n,i);if(!r.ok)throw new Error(`HTTP ${r.status}: ${r.statusText}`);if(Do(r))return ih(r,a);const o=await r.text();if(!o)return[];try{return jc(JSON.parse(o))}catch{throw new Error("Invalid JSON from product_groupings endpoint")}}var oh=L((()=>{Pa(),va(),Ma(),Ta()}));function Uo(t){const{product:e,index:a,discountType:n,onClick:i,onAddToCart:r,renderCard:o}=t,s=t.i18n,c=t.pricing;if(t.renderCardElement){const m=t.renderCardElement(e,a);if(m)return m}if(o){const m=document.createElement("div");return m.className="gengage-simrel-card gengage-simrel-card--custom gds-card gds-product-card gds-card-interactive",m.dataset.gengagePart="simrel-product-card",m.innerHTML=ye(o(e,a)),m.addEventListener("click",u=>{u.target.closest(".gengage-simrel-atc")||u.target.closest(".gengage-chat-product-card-atc")||i(e)}),m}const l=document.createElement("article");l.className="gengage-simrel-card gengage-chat-product-card gds-card gds-product-card gds-card-interactive",l.dataset.gengagePart="simrel-product-card",e.inStock===!1&&l.classList.add("gengage-simrel-card--out-of-stock"),l.setAttribute("role","listitem"),l.dataset.sku=e.sku;const p=document.createElement("div");if(p.className="gengage-simrel-card-image gengage-chat-product-card-img-wrapper",p.dataset.gengagePart="simrel-product-card-image",e.imageUrl&&we(e.imageUrl)){const m=document.createElement("img");m.className="gengage-chat-product-card-img",m.src=e.imageUrl,m.alt=e.name,m.loading="lazy",Ce(m),p.appendChild(m)}if(n==="badge"&&e.discountPercent&&e.discountPercent>0){const m=document.createElement("span");m.className="gengage-simrel-badge gengage-chat-product-card-discount-badge",m.textContent=`%${Ua(e.discountPercent)}`,p.appendChild(m)}l.appendChild(p);const d=document.createElement("div");if(d.className="gengage-simrel-card-info gengage-chat-product-card-body",d.dataset.gengagePart="simrel-product-card-body",e.brand){const m=document.createElement("div");m.className="gengage-simrel-card-brand gengage-chat-product-card-brand",m.textContent=e.brand,d.appendChild(m)}const h=document.createElement("div");if(h.className="gengage-simrel-card-name gengage-chat-product-card-name",h.textContent=e.name,h.title=e.name,d.appendChild(h),e.rating!=null&&e.rating>0){const m=document.createElement("div");if(m.className="gengage-simrel-card-rating gengage-chat-product-card-rating",m.appendChild(Oa(e.rating)),e.reviewCount!=null){const u=document.createElement("span");u.className="gengage-simrel-card-review-count gengage-chat-product-card-review-count",u.textContent=` (${e.reviewCount})`,m.appendChild(u)}d.appendChild(m)}const f=document.createElement("div");if(f.className="gengage-simrel-card-price gengage-chat-product-card-price",e.originalPrice&&e.originalPrice!==e.price&&(n==="strike-through"||n==="inline"||!n)){const m=document.createElement("span");m.className=["gengage-simrel-card-price-original","gengage-chat-product-card-original-price"].join(" "),n==="inline"&&m.classList.add("gengage-simrel-card-price-original--inline"),m.textContent=te(e.originalPrice,c),f.appendChild(m)}if(e.price&&parseFloat(e.price)>0){const m=document.createElement("span");m.className="gengage-simrel-card-price-current gengage-chat-product-card-price-current",m.textContent=te(e.price,c),f.appendChild(m)}d.appendChild(f),l.appendChild(d);const b=document.createElement("button");if(b.className="gengage-simrel-card-cta gengage-chat-product-card-cta gds-btn gds-btn-secondary",b.type="button",b.dataset.gengagePart="simrel-product-card-cta",b.textContent=s?.ctaLabel??"View",b.addEventListener("click",m=>{m.preventDefault(),m.stopPropagation(),i(e)}),l.appendChild(b),e.inStock===!1){const m=document.createElement("div");m.className="gengage-simrel-card-oos",m.textContent=s?.outOfStockLabel??"Out of Stock",l.appendChild(m)}else if(e.cartCode){const m=document.createElement("button");m.className="gengage-simrel-atc gengage-simrel-atc-button gds-btn gds-btn-secondary",m.type="button",m.textContent=s?.addToCartButton??"Add to Cart",m.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),r({sku:e.sku,quantity:1,cartCode:e.cartCode})}),l.appendChild(m)}return l.addEventListener("click",m=>{m.target.closest(".gengage-simrel-atc")||m.target.closest(".gengage-chat-product-card-atc")||m.target.closest(".gengage-chat-product-card-cta")||i(e)}),l}var Oo=L((()=>{ct(),de(),je()}));function qo(t){const e=document.createElement("div");e.className="gengage-simrel-grid",e.setAttribute("role","list"),e.setAttribute("aria-label",t.i18n?.similarProductsAriaLabel??"Similar products"),t.columns&&e.style.setProperty("--gengage-simrel-columns",String(t.columns));for(let a=0;a<t.products.length;a++){const n={product:t.products[a],index:a,onClick:t.onClick,onAddToCart:t.onAddToCart};t.i18n!==void 0&&(n.i18n=t.i18n),t.discountType!==void 0&&(n.discountType=t.discountType),t.renderCard!==void 0&&(n.renderCard=t.renderCard),t.renderCardElement!==void 0&&(n.renderCardElement=t.renderCardElement);const i=Uo(n);e.appendChild(i)}return t.products.length===0&&(e.style.display="none",e.dataset.empty="true"),e}var sh=L((()=>{Oo()}));function ch(t){const e=jo++,a=document.createElement("div");if(a.className="gengage-simrel-groups",a.dataset.gengagePart="simrel-groups",t.groups.length===0)return a.style.display="none",a.dataset.empty="true",a;const n=document.createElement("div");n.className="gengage-simrel-tabs gds-toolbar",n.dataset.gengagePart="simrel-tab-bar",n.setAttribute("role","tablist");const i=[],r=[];let o=0;const s=u=>{const g={products:u.products,onClick:t.onClick,onAddToCart:t.onAddToCart};return t.i18n!==void 0&&(g.i18n=t.i18n),t.discountType!==void 0&&(g.discountType=t.discountType),t.renderCard!==void 0&&(g.renderCard=t.renderCard),t.renderCardElement!==void 0&&(g.renderCardElement=t.renderCardElement),t.columns!==void 0&&(g.columns=t.columns),g},c=(u,g=!1)=>{if(g&&u!==o&&t.onGroupingActivate){const k=t.groups[u];t.onGroupingActivate({grouping_label:k.name,grouping_index:u})}o=u;for(let k=0;k<i.length;k++){const T=k===u;i[k].classList.toggle("gengage-simrel-tab--active",T),i[k].setAttribute("aria-selected",String(T)),i[k].tabIndex=T?0:-1}const v=t.groups[u],_=r[u];_.innerHTML="";const y=qo(s(v));_.appendChild(y);for(let k=0;k<r.length;k++){const T=k===u;r[k].style.display=T?"":"none",r[k].tabIndex=T?0:-1}};for(let u=0;u<t.groups.length;u++){const g=t.groups[u],v=`gengage-simrel-tab-${e}-${u}`,_=`gengage-simrel-panel-${e}-${u}`,y=document.createElement("button");y.className="gengage-simrel-tab gds-tab",y.type="button",y.dataset.gengagePart="simrel-tab",y.id=v,y.textContent=g.name,y.setAttribute("role","tab"),y.setAttribute("aria-controls",_),y.setAttribute("aria-selected",String(u===0)),y.tabIndex=u===0?0:-1,u===0&&y.classList.add("gengage-simrel-tab--active"),y.addEventListener("click",()=>c(u,!0)),y.addEventListener("keydown",T=>{let w=-1;T.key==="ArrowRight"||T.key==="ArrowDown"?w=(u+1)%t.groups.length:T.key==="ArrowLeft"||T.key==="ArrowUp"?w=(u-1+t.groups.length)%t.groups.length:T.key==="Home"?w=0:T.key==="End"&&(w=t.groups.length-1),w>=0&&(T.preventDefault(),c(w,!0),i[w].focus())}),i.push(y),n.appendChild(y);const k=document.createElement("div");k.className="gengage-simrel-tab-panel",k.dataset.gengagePart="simrel-tab-panel",k.id=_,k.setAttribute("role","tabpanel"),k.setAttribute("aria-labelledby",v),k.tabIndex=u===0?0:-1,u!==0&&(k.style.display="none"),r.push(k)}const l=document.createElement("button");l.type="button",l.className="gengage-simrel-tabs-arrow gengage-simrel-tabs-arrow--left",l.setAttribute("aria-label",t.i18n?.scrollTabsLeft??"Scroll tabs left"),l.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"/></svg>';const p=document.createElement("button");p.type="button",p.className="gengage-simrel-tabs-arrow gengage-simrel-tabs-arrow--right",p.setAttribute("aria-label",t.i18n?.scrollTabsRight??"Scroll tabs right"),p.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>';const d=200;l.addEventListener("click",()=>{n.scrollBy({left:-200,behavior:"smooth"})}),p.addEventListener("click",()=>{n.scrollBy({left:d,behavior:"smooth"})});const h=()=>{const u=n.scrollLeft<=4,g=n.scrollLeft+n.clientWidth>=n.scrollWidth-4;l.style.display=u?"none":"",p.style.display=g?"none":"",n.classList.toggle("gengage-simrel-tabs--peek-right",!g),n.classList.toggle("gengage-simrel-tabs--peek-left",!u)};n.addEventListener("scroll",h,{passive:!0}),typeof ResizeObserver<"u"&&new ResizeObserver(h).observe(n),l.style.display="none",p.style.display="none",requestAnimationFrame(h);const f=document.createElement("div");f.className="gengage-simrel-tabs-wrapper",f.appendChild(l),f.appendChild(n),f.appendChild(p),a.appendChild(f);const b=r[0],m=qo(s(t.groups[0]));b.appendChild(m);for(const u of r)a.appendChild(u);return a}var jo,lh=L((()=>{sh(),jo=0}));function $o(t){if(!t||typeof t!="object")return null;const e=t;if(typeof e.sku!="string"||typeof e.name!="string"||typeof e.url!="string")return null;const a={sku:e.sku,name:e.name,url:e.url},n=e.imageUrl;typeof n=="string"&&(a.imageUrl=n);const i=e.price;typeof i=="string"&&(a.price=i);const r=e.originalPrice;typeof r=="string"&&(a.originalPrice=r);const o=e.discountPercent;typeof o=="number"&&(a.discountPercent=o);const s=e.brand;typeof s=="string"&&(a.brand=s);const c=e.rating;typeof c=="number"&&(a.rating=c);const l=e.reviewCount;typeof l=="number"&&(a.reviewCount=l);const p=e.cartCode;typeof p=="string"&&(a.cartCode=p);const d=e.inStock;typeof d=="boolean"&&(a.inStock=d);const h=e.extras;return h!=null&&typeof h=="object"&&(a.extras=h),a}function gh(t){if(!t||typeof t!="object")return null;const e=t,a=e.title,n=e.type;if(typeof a!="string"||typeof n!="string")return null;const i={title:a,type:n};return e.payload!==void 0&&(i.payload=e.payload),i}function Vo(){return{..._n}}function Go(t,e,a=_n,n=na){return da({spec:t,context:e,registry:a,containerClassName:"gengage-simrel-uispec",unknownRenderer:n})}var _n,na,dh=L((()=>{nt(),Oo(),lh(),_n={ProductGrid:({element:t,renderElement:e,context:a})=>{const n=document.createElement("div");n.className="gengage-simrel-grid",n.setAttribute("role","list");const i=t.props?.columns;let r;typeof i=="number"&&Number.isFinite(i)&&i>0?r=Math.floor(i):typeof a.gridColumns=="number"&&Number.isFinite(a.gridColumns)&&a.gridColumns>0&&(r=Math.floor(a.gridColumns)),r!==void 0&&n.style.setProperty("--gengage-simrel-columns",String(r));for(const o of t.children??[]){const s=e(o);s&&n.appendChild(s)}if(n.children.length===0){const o=document.createElement("div");o.className="gengage-simrel-empty",o.textContent=a.i18n.emptyStateMessage,n.appendChild(o)}return n},ProductCard:({element:t,context:e})=>{const a=$o(t.props?.product??t.props);if(!a)return null;const n=t.props?.index,i=typeof n=="number"&&Number.isFinite(n)?n:0,r=t.props?.discountType,o=r==="strike-through"||r==="badge"||r==="inline"?r:e.discountType,s={product:a,index:i,onClick:e.onClick,onAddToCart:e.onAddToCart,i18n:e.i18n};return o!==void 0&&(s.discountType=o),e.renderCard!==void 0&&(s.renderCard=e.renderCard),e.renderCardElement!==void 0&&(s.renderCardElement=e.renderCardElement),e.pricing!==void 0&&(s.pricing=e.pricing),Uo(s)},GroupTabs:({element:t,context:e})=>{const a=t.props?.groups;if(!Array.isArray(a))return null;const n=[];for(const o of a){if(!o||typeof o!="object")continue;const s=o;if(typeof s.name!="string")continue;const c=[];if(Array.isArray(s.products))for(const p of s.products){const d=$o(p);d&&c.push(d)}const l={name:s.name,products:c};typeof s.highlight=="string"&&(l.highlight=s.highlight),n.push(l)}const i={groups:n,onClick:e.onClick,onAddToCart:e.onAddToCart,i18n:e.i18n},r=t.props?.columns;return typeof r=="number"&&Number.isFinite(r)&&r>0?i.columns=Math.floor(r):typeof e.gridColumns=="number"&&Number.isFinite(e.gridColumns)&&e.gridColumns>0&&(i.columns=Math.floor(e.gridColumns)),e.discountType!==void 0&&(i.discountType=e.discountType),e.renderCard!==void 0&&(i.renderCard=e.renderCard),e.renderCardElement!==void 0&&(i.renderCardElement=e.renderCardElement),e.onGroupingActivate!==void 0&&(i.onGroupingActivate=e.onGroupingActivate),ch(i)},EmptyState:({element:t,context:e})=>{const a=document.createElement("div");a.className="gengage-simrel-empty";const n=t.props?.message;return a.textContent=typeof n=="string"?n:e.i18n.emptyStateMessage,a},AddToCartButton:({element:t,context:e})=>{const a=t.props?.sku,n=t.props?.cartCode;if(typeof a!="string"||typeof n!="string")return null;const i=document.createElement("button");i.className="gengage-simrel-atc gengage-chat-product-card-cta",i.type="button";const r=t.props?.label;return i.textContent=typeof r=="string"?r:e.i18n.addToCartButton,i.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation(),e.onAddToCart({sku:a,quantity:1,cartCode:n})}),i},QuickActions:({element:t,context:e})=>{const a=document.createElement("div");a.className="gengage-simrel-quick-actions";const n=t.props?.actions;if(!Array.isArray(n)||!e.onAction)return a;for(const i of n){if(!i||typeof i!="object")continue;const r=i,o=r.label,s=gh(r.action);if(typeof o!="string"||!s)continue;const c=document.createElement("button");c.className="gengage-simrel-quick-action",c.type="button",c.textContent=o,c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),e.onAction?.(s)}),a.appendChild(c)}return a}},na=({element:t,renderElement:e})=>{if(!t.children||t.children.length===0)return null;const a=document.createElement("div");for(const n of t.children){const i=e(n);i&&a.appendChild(i)}return a}})),wn,ph=L((()=>{wn={similarProductsAriaLabel:"Benzer ürünler",emptyStateMessage:"Benzer ürün bulunamadı.",addToCartButton:"Sepete Ekle",ctaLabel:"İncele",outOfStockLabel:"Stokta Yok",decreaseLabel:"Azalt",increaseLabel:"Artır",errorLoadingMessage:"Benzer ürünler yüklenemedi.",retryButtonText:"Tekrar dene",priceSuffix:" TL",scrollTabsLeft:"Sola kaydır",scrollTabsRight:"Sağa kaydır"}})),Wo,hh=L((()=>{Wo={similarProductsAriaLabel:"Similar products",emptyStateMessage:"No similar products found.",addToCartButton:"Add to cart",ctaLabel:"View",outOfStockLabel:"Out of Stock",decreaseLabel:"Decrease",increaseLabel:"Increase",errorLoadingMessage:"Could not load similar products.",retryButtonText:"Try again",priceSuffix:"",scrollTabsLeft:"Scroll tabs left",scrollTabsRight:"Scroll tabs right"}}));function uh(t){return t?t.toLowerCase().split("-")[0]??"tr":"tr"}function mh(t){return uh(t)==="en"?Wo:wn}var fh=L((()=>{ph(),hh()})),bh=L((()=>{})),vh=St({GengageSimRel:()=>kn,createDefaultSimRelUISpecRegistry:()=>Vo,createSimRelWidget:()=>xh,defaultSimRelUnknownUISpecRenderer:()=>na,renderSimRelUISpec:()=>Go});function yh(t){return t instanceof DOMException&&t.name==="AbortError"}function xh(){return new kn}var Ko,kn,_h=L((()=>{nt(),Lt(),ht(),Ke(),Po(),it(),oh(),dh(),fh(),at(),bh(),Ko=12e4,kn=class extends pt{constructor(...t){super(...t),this._abortController=null,this._contentEl=null,this._lastResultCount=-1,this._i18n=wn,this._pendingAddToCartKeys=new Set}async init(t){if(!this.isInitialised&&(t.mountTarget===void 0||t.mountTarget===null))throw new Error("[gengage] SimRel mountTarget is required. Provide a merchant-owned mount before initializing.");await super.init(t)}async onInit(t){this._i18n=this._resolveI18n(t),this._contentEl=document.createElement("div"),this._contentEl.className="gengage-simrel-container",this._contentEl.dataset.gengagePart="simrel-container",this._contentEl.lang=He(t.locale);const e=this._clampGridColumns(t.gridColumns);e!==void 0&&this._contentEl.style.setProperty("--gengage-simrel-columns",String(e)),this.root.appendChild(this._contentEl),this._lastSku=t.sku,await this._fetchAndRender(t.sku),Et("simrel")}onUpdate(t){const e=t.sku;!e||e===this._lastSku&&this._lastResultCount!==0||(this._lastSku=e,this._fetchAndRender(e))}onShow(){this._contentEl&&(this._contentEl.style.opacity="0",this._contentEl.style.transition="opacity 0.3s ease-in",requestAnimationFrame(()=>{this._contentEl&&(this._contentEl.style.opacity="1")}))}onHide(){}onDestroy(){this._abort(),this._contentEl&&(this._contentEl.remove(),this._contentEl=null)}_handleProductClick(t){const e={sku:t.sku,name:t.name,url:t.url};if(t.imageUrl!==void 0&&(e.imageUrl=t.imageUrl),t.price!==void 0&&(e.price=t.price),t.originalPrice!==void 0&&(e.originalPrice=t.originalPrice),t.discountPercent!==void 0&&(e.discountPercent=t.discountPercent),t.brand!==void 0&&(e.brand=t.brand),t.rating!==void 0&&(e.rating=t.rating),t.reviewCount!==void 0&&(e.reviewCount=t.reviewCount),t.cartCode!==void 0&&(e.cartCode=t.cartCode),t.inStock!==void 0&&(e.inStock=t.inStock),this.config.onProductClick?.(e)===!1)return;const a=this.config.session?.sessionId??null;me("gengage:similar:product-click",{sku:t.sku,url:t.url,sessionId:a,productName:t.name}),this.config.onProductNavigate?.(t.url,t.sku,a)}async _handleAddToCart(t){const e=`${t.sku}\0${t.cartCode}\0${t.quantity}`;if(!this._pendingAddToCartKeys.has(e)){this._pendingAddToCartKeys.add(e);try{if(this.config.onAddToCart===void 0)return;try{await Promise.resolve(this.config.onAddToCart(t))}catch(a){console.error("[gengage] simrel onAddToCart",a);return}Hn(t.sku,t.quantity),me("gengage:similar:add-to-cart",t)}finally{this._pendingAddToCartKeys.delete(e)}}}_abort(){this._abortController?.abort(),this._abortController=null}_isSuperseded(t){return this._abortController?.signal!==t}_emitSimilarProductsImpression(t,e){const a=this.config.session?.sessionId??null;me("gengage:similar:products-impression",{source_sku:this.config.sku,product_count:t,grouped:e,sessionId:a})}_resolveRequestTimeoutMs(){const t=this.config.requestTimeoutMs;return typeof t!="number"||!Number.isFinite(t)||t<=0?Ko:Math.floor(t)}async _fetchAndRender(t){this._abort();const e=new AbortController;this._abortController=e;const a=e.signal;let n=!1;const i=setTimeout(()=>{n=!0,e.abort()},this._resolveRequestTimeoutMs());if(a.addEventListener("abort",()=>clearTimeout(i),{once:!0}),!this._contentEl)return;this._contentEl.innerHTML="",this._contentEl.style.display="";const r=document.createElement("div");r.className="gengage-simrel-loading",r.dataset.gengagePart="simrel-loading";const o=document.createElement("div");o.className="gengage-simrel-spinner",o.dataset.gengagePart="simrel-loading-spinner",r.appendChild(o),this._contentEl.appendChild(r);const s={middlewareUrl:this.config.middlewareUrl},c=Co({source:"simrel",locale:this.config.locale});try{const l={account_id:this.config.accountId,session_id:this.config.session?.sessionId??"",correlation_id:this.config.session?.sessionId??"",sku:t};this.config.domain!==void 0&&(l.domain=this.config.domain);const p=await nh(l,s,a);if(this._lastResultCount=p.length,!this._contentEl)return;if(this._contentEl.innerHTML="",p.length>0&&this.config.enableProductGroupings!==!1)try{const d=p.map(b=>b.sku),h=new Map(p.map(b=>[b.sku,b])),f=(await rh({account_id:this.config.accountId,session_id:this.config.session?.sessionId??"",correlation_id:this.config.session?.sessionId??"",skus:d},s,a)).map(b=>({...b,products:b.products.map(m=>({...h.get(m.sku),...m})).filter(m=>typeof m.sku=="string"&&typeof m.name=="string"&&typeof m.url=="string")})).filter(b=>b.products.length>0);if(f.length>0&&this._contentEl){const b=this._buildGroupsSpec(f),m=this._renderUISpec(b);this._contentEl.appendChild(m),Tt("simrel"),this._emitSimilarProductsImpression(f.reduce((u,g)=>u+g.products.length,0),!0);return}}catch{}if(this._isSuperseded(a))return;if(this._contentEl){const d=this._buildProductsSpec(p),h=this._renderUISpec(d);this._contentEl.appendChild(h)}p.length>0&&Tt("simrel"),this._emitSimilarProductsImpression(p.length,!1)}catch(l){const p=yh(l);if(p&&this._isSuperseded(a))return;if(me("gengage:global:error",{source:"simrel",code:p&&n?"REQUEST_TIMEOUT":"FETCH_ERROR",message:On(this.config.locale,l)}),this._contentEl){this._contentEl.innerHTML="";const d=document.createElement("div");d.className="gengage-simrel-error";const h=document.createElement("span");h.textContent=this._i18n.errorLoadingMessage,d.appendChild(h);const f=document.createElement("button");f.className="gengage-simrel-retry",f.textContent=this._i18n.retryButtonText,f.addEventListener("click",()=>{this._fetchAndRender(this.config.sku)}),d.appendChild(f),this._contentEl.appendChild(d)}}finally{clearTimeout(i),c()}}_clampGridColumns(t){if(!(t===void 0||typeof t!="number"||!Number.isFinite(t)))return Math.max(1,Math.min(12,Math.floor(t)))}_resolveI18n(t){return{...mh(t.locale),...t.i18n}}_resolveUISpecRegistry(){return pa(Vo(),this.config.renderer?.registry)}_buildRenderContext(){const t=this.config.renderCard,e={onClick:n=>this._handleProductClick(n),onAddToCart:n=>{this._handleAddToCart(n)},onGroupingActivate:n=>{me("gengage:similar:grouping-click",{grouping_label:n.grouping_label,grouping_index:n.grouping_index,sessionId:this.config.session?.sessionId??null})},i18n:this._i18n};this.config.discountType!==void 0&&(e.discountType=this.config.discountType),t!==void 0&&(e.renderCard=t),this.config.renderCardElement!==void 0&&(e.renderCardElement=this.config.renderCardElement),this.config.pricing!==void 0&&(e.pricing=this.config.pricing);const a=this._clampGridColumns(this.config.gridColumns);return a!==void 0&&(e.gridColumns=a),e}_renderUISpec(t){const e=this._resolveUISpecRegistry(),a=this._buildRenderContext(),n=this.config.renderer?.unknownRenderer??na,i=(o,s)=>Go(o,s,e,n),r=this.config.renderer?.renderUISpec;return r?r(t,a,{registry:e,unknownRenderer:n,defaultRender:i}):i(t,a)}_buildProductsSpec(t){const e={},a=[];for(let r=0;r<t.length;r++){const o=t[r],s=`product-${r}`;a.push(s),e[s]={type:"ProductCard",props:{product:o,index:r,discountType:this.config.discountType}}}const n={layout:"grid"},i=this._clampGridColumns(this.config.gridColumns);return i!==void 0&&(n.columns=i),e.root={type:"ProductGrid",props:n,children:a},{root:"root",elements:e}}_buildGroupsSpec(t){return{root:"root",elements:{root:{type:"GroupTabs",props:{groups:t}}}}}}})),Cn,Yo,wh=L((()=>{Cn={findSimilarLabel:"Benzerlerini Bul"},Yo={findSimilarLabel:"Find Similar"}})),kh=L((()=>{})),Ch=St({GengageSimBut:()=>Sn,createSimButWidget:()=>Eh});function Sh(t,e){return e?.findSimilarLabel?e.findSimilarLabel:(t??"tr").toLowerCase().startsWith("en")?Yo.findSimilarLabel:Cn.findSimilarLabel}function ia(t){const e=typeof t.sku=="string"&&t.sku.length>0?t.sku:void 0,a=typeof t.pageContext?.sku=="string"&&t.pageContext.sku.length>0?t.pageContext.sku:void 0;return e??a}function Eh(){return new Sn}var Sn,Th=L((()=>{Lt(),de(),ht(),at(),wh(),kh(),Sn=class extends pt{constructor(...t){super(...t),this._button=null,this._inlineFrame=null,this._label=Cn.findSimilarLabel}async onInit(t){this._label=Sh(t.locale,t.i18n);const e=t.layout??"overlay";this.root.classList.add("gengage-simbut-root"),this.root.classList.toggle("gengage-simbut-root--overlay",e==="overlay"),this.root.classList.toggle("gengage-simbut-root--inline-card",e==="inline-card"),e==="overlay"&&window.getComputedStyle(this.root).position==="static"&&(this.root.style.position="relative");const a=document.createElement("button");a.type="button",a.className="gengage-chat-find-similar-pill",a.lang=He(t.locale),a.textContent=this._label,this._button=a;const n=()=>{a.disabled=!(ia(this.config)&&(this.config.onFindSimilar||this.config.chat))};if(a.addEventListener("click",i=>{i.stopPropagation();const r=ia(this.config);if(!r)return;const o=this.config.imageUrl,s=typeof o=="string"&&he(o)?o:void 0;if(la(this._label,"findSimilar"),Rn(r),this.config.onFindSimilar){this.config.onFindSimilar(s?{sku:r,imageUrl:s}:{sku:r});return}const c=this.config.chat;if(!c)return;const l={title:this._label,type:"findSimilar",payload:{sku:r}};c.openWithAction(l,{sku:r})}),e==="inline-card"){const i=this._createInlineCard(t,a);this._inlineFrame=i,this.root.appendChild(i)}else this.root.appendChild(a);n(),Et("simbut")}_createInlineCard(t,e){const a=t.inlineCard,n=typeof a?.title=="string"?a.title.trim():"",i=typeof a?.description=="string"?a.description.trim():"",r=typeof a?.imageUrl=="string"?a.imageUrl.trim():"",o=document.createElement("section");o.className="gengage-simbut-inline-card",o.dataset.gengagePart="simbut-inline-card";const s=document.createElement("div");if(s.className="gengage-simbut-inline-copy",s.dataset.gengagePart="simbut-inline-copy",n){const l=document.createElement("h4");l.className="gengage-simbut-inline-title",l.dataset.gengagePart="simbut-inline-title",l.textContent=n,s.appendChild(l)}if(i){const l=document.createElement("p");l.className="gengage-simbut-inline-description",l.dataset.gengagePart="simbut-inline-description",l.textContent=i,s.appendChild(l)}s.children.length>0&&o.appendChild(s);const c=document.createElement("div");if(c.className="gengage-simbut-inline-action",c.dataset.gengagePart="simbut-inline-action",c.appendChild(e),o.appendChild(c),r&&we(r)){const l=document.createElement("img");l.className="gengage-simbut-inline-image",l.dataset.gengagePart="simbut-inline-image",l.src=r,l.alt=typeof a?.imageAlt=="string"?a.imageAlt:"",l.loading="lazy",l.addEventListener("error",()=>{l.style.display="none"},{once:!0}),o.appendChild(l)}return o}onUpdate(t){if(!this._button)return;const e=!!ia(this.config)&&(!!this.config.onFindSimilar||!!this.config.chat);this._button.disabled=!e}hide(){this.isVisible&&(this.isVisible=!1,this._inlineFrame&&(this._inlineFrame.style.display="none"),this._button&&(this._button.style.display="none"),this.onHide(),this.emit("hide"))}show(){this.isVisible||(this.isVisible=!0,this._inlineFrame&&(this._inlineFrame.style.display=""),this._button&&(this._button.style.display=""),this.onShow(),this.emit("show"))}_cleanupRoot(){}onShow(){}onHide(){}onDestroy(){this._inlineFrame?.remove(),this._inlineFrame=null,this._button?.remove(),this._button=null}setChat(t){if(this.config.chat=t,this._button){const e=!!ia(this.config)&&(!!this.config.onFindSimilar||!!this.config.chat);this._button.disabled=!e}}}}));Ln(),Ke(),de(),at();var Ph=`${os}_overlay_`,Ah="#gengage-qna",Lh="#gengage-simrel",Ih="#gengage-simbut";function Qo(){const t=window;return t.__gengageOverlayRegistry||(t.__gengageOverlayRegistry={instances:{},pending:{}}),t.__gengageOverlayRegistry}function Nh(t){const e={pageType:t.pageContext?.pageType??(typeof t.sku=="string"?"pdp":"other")},a=t.pageContext;return typeof a?.sku=="string"&&(e.sku=a.sku),a?.skuList!==void 0&&(e.skuList=a.skuList),a?.price!==void 0&&(e.price=a.price),a?.categoryTree!==void 0&&(e.categoryTree=a.categoryTree),a?.url!==void 0&&(e.url=a.url),a?.extra!==void 0&&(e.extra=a.extra),typeof t.sku=="string"&&(e.sku=t.sku),e}function Mh(t,e){const a={...t,...e,pageType:e.pageType??t.pageType};return e.sku!==void 0&&typeof e.sku!="string"&&delete a.sku,e.pageType!==void 0&&e.pageType!==t.pageType?(e.pageType!=="pdp"&&e.sku===void 0&&delete a.sku,e.pageType!=="plp"&&e.skuList===void 0&&delete a.skuList):(e.sku===void 0&&t.sku!==void 0&&(a.sku=t.sku),e.skuList===void 0&&t.skuList!==void 0&&(a.skuList=t.skuList)),a}function En(t){return t instanceof HTMLElement||document.querySelector(t)?t:null}function Zo(t){return t.idempotencyKey??`${Ph}${t.accountId}`}var Bh=class{constructor(t,e){this.options=t,this.onDestroy=e,this._chat=null,this._qna=null,this._simrel=null,this._simbut=null,this._offQnaWire=null,this._destroyed=!1,this._queue=Promise.resolve(),this._warnedQnaMountMissing=!1,this._warnedSimRelMountMissing=!1,this._warnedSimButMountMissing=!1,this._warnedSimButNoChat=!1,this.idempotencyKey=Zo(t),this.session=An(t.session),this._pageContext=Nh(t)}get chat(){return this._chat}get qna(){return this._qna}get simrel(){return this._simrel}get simbut(){return this._simbut}async init(){window.gengage||(window.gengage={}),window.gengage.sessionId=this.session.sessionId,window.gengage.pageContext=this._pageContext,await this._initChat(),this.options.wireQnaToChat!==!1&&(this._offQnaWire=Ss()),await this._syncPdpWidgets(),window.gengage.overlay=this}openChat(t){this._chat?.open(t)}closeChat(){this._chat?.close()}async updateContext(t){this._destroyed||await this._enqueue(async()=>{this._pageContext=Mh(this._pageContext,t),window.gengage||(window.gengage={}),window.gengage.pageContext=this._pageContext,this._chat?.update(this._pageContext),this._qna?.update(this._pageContext),this._simrel?.update(this._pageContext),this._simbut?.update(this._pageContext),await this._syncPdpWidgets()})}async updateSku(t,e="pdp"){await this.updateContext({sku:t,pageType:e})}async updatePageContext(t){await this.updateContext(t)}async setPageContext(t){await this.updateContext(t)}destroy(){this._destroyed||(this._destroyed=!0,this._offQnaWire?.(),this._offQnaWire=null,this._chat?.destroy(),this._qna?.destroy(),this._simrel?.destroy(),this._simbut?.destroy(),this._chat=null,this._qna=null,this._simrel=null,this._simbut=null,window.gengage?.overlay===this&&delete window.gengage.overlay,this.onDestroy())}async _initChat(){if(this.options.chat?.enabled===!1)return;const t=this.options.middlewareUrl,e=this.options.chat?.productDetailsExtended??this.options.productDetailsExtended,a=this.options.chat?.isDemoWebsite??this.options.isDemoWebsite,n=this.options.chat?.injectorAdapter??this.options.injectorAdapter,i={accountId:this.options.accountId,middlewareUrl:t,session:this.session,pageContext:this._pageContext,variant:this.options.chat?.variant??"floating"};this.options.theme!==void 0&&(i.theme=this.options.theme),n!==void 0&&(i.injectorAdapter=n),this.options.locale!==void 0&&(i.locale=this.options.locale),this.options.pricing!==void 0&&(i.pricing=this.options.pricing),this.options.chat?.mountTarget!==void 0&&(i.mountTarget=this.options.chat.mountTarget),this.options.chat?.pillLauncher!==void 0&&(i.pillLauncher=this.options.chat.pillLauncher),this.options.chat?.floatingLauncher!==void 0&&(i.floatingLauncher=this.options.chat.floatingLauncher),this.options.chat?.inlineLauncher!==void 0&&(i.inlineLauncher=this.options.chat.inlineLauncher),this.options.chat?.launcherAnchor!==void 0&&(i.launcherAnchor=this.options.chat.launcherAnchor),this.options.chat?.launcherImageUrl!==void 0?i.launcherImageUrl=this.options.chat.launcherImageUrl:this.options.chat?.launcherSvg!==void 0&&(i.launcherSvg=this.options.chat.launcherSvg),this.options.chat?.mobileLauncherImageUrl!==void 0&&(i.mobileLauncherImageUrl=this.options.chat.mobileLauncherImageUrl),this.options.chat?.headerTitle!==void 0&&(i.headerTitle=this.options.chat.headerTitle),this.options.chat?.headerAvatarUrl!==void 0&&(i.headerAvatarUrl=this.options.chat.headerAvatarUrl),this.options.chat?.headerBadge!==void 0&&(i.headerBadge=this.options.chat.headerBadge),this.options.chat?.headerCartUrl!==void 0&&(i.headerCartUrl=this.options.chat.headerCartUrl),this.options.chat?.headerFavoritesToggle!==void 0&&(i.headerFavoritesToggle=this.options.chat.headerFavoritesToggle),this.options.chat?.onFavoritesClick!==void 0&&(i.onFavoritesClick=this.options.chat.onFavoritesClick),this.options.chat?.hideMobileLauncher!==void 0&&(i.hideMobileLauncher=this.options.chat.hideMobileLauncher),this.options.chat?.mobileBreakpoint!==void 0&&(i.mobileBreakpoint=this.options.chat.mobileBreakpoint),this.options.chat?.mobileInitialState!==void 0&&(i.mobileInitialState=this.options.chat.mobileInitialState),this.options.chat?.i18n!==void 0&&(i.i18n=this.options.chat.i18n),this.options.chat?.actionHandling!==void 0&&(i.actionHandling=this.options.chat.actionHandling),this.options.chat?.renderer!==void 0&&(i.renderer=this.options.chat.renderer),e!==void 0&&(i.productDetailsExtended=e),a!==void 0&&(i.isDemoWebsite=a),this.options.chat?.productPriceUi!==void 0&&(i.productPriceUi=this.options.chat.productPriceUi),this.options.chat?.hideProductDiscountBadge!==void 0&&(i.hideProductDiscountBadge=this.options.chat.hideProductDiscountBadge),this.options.chat?.hideUserReviews!==void 0&&(i.hideUserReviews=this.options.chat.hideUserReviews),this.options.chat?.hideStockStatus!==void 0&&(i.hideStockStatus=this.options.chat.hideStockStatus),this.options.onScriptCall!==void 0&&(i.onScriptCall=this.options.onScriptCall),this.options.onAddToCart!==void 0&&(i.onAddToCart=this.options.onAddToCart),this.options.onProductNavigate!==void 0&&(i.onProductNavigate=this.options.onProductNavigate),this.options.chat?.onOpen!==void 0&&(i.onOpen=this.options.chat.onOpen),this.options.chat?.onClose!==void 0&&(i.onClose=this.options.chat.onClose);const{GengageChat:r}=await Promise.resolve().then(()=>(Ap(),Sp));this._chat=new r,await this._chat.init(i)}async _syncPdpWidgets(){if(this._destroyed)return;const t=typeof this._pageContext.sku=="string"?this._pageContext.sku:void 0;if(!(this._pageContext.pageType==="pdp"&&t!==void 0&&t.length>0)){this._qna?.hide(),this._simrel?.hide(),this._simbut?.hide();return}const e=this.options.middlewareUrl;if(this.options.qna?.enabled!==!1){const a=this.options.qna?.mountTarget??Ah,n=En(a);if(n)if(this._warnedQnaMountMissing=!1,this._qna)this._qna.show(),this._qna.update({pageType:"pdp",sku:t});else{const{GengageQNA:i}=await Promise.resolve().then(()=>(th(),Jp)),r=new i,o={accountId:this.options.accountId,middlewareUrl:e,session:this.session,pageContext:{pageType:"pdp",sku:t},mountTarget:n};this.options.theme!==void 0&&(o.theme=this.options.theme),this.options.qna?.chrome!==void 0&&(o.chrome=this.options.qna.chrome),this.options.qna?.ctaText!==void 0&&(o.ctaText=this.options.qna.ctaText),this.options.qna?.hideButtonRowCta!==void 0&&(o.hideButtonRowCta=this.options.qna.hideButtonRowCta),this.options.qna?.inputPlaceholder!==void 0&&(o.inputPlaceholder=this.options.qna.inputPlaceholder),this.options.qna?.inputAfterPills!==void 0&&(o.inputAfterPills=this.options.qna.inputAfterPills),this.options.qna?.i18n!==void 0&&(o.i18n=this.options.qna.i18n),this.options.qna?.renderer!==void 0&&(o.renderer=this.options.qna.renderer);const s=this.options.qna?.headerTitle??this.options.qna?.headingTitle;s!==void 0&&(o.headerTitle=s),await r.init(o),this._qna=r}else this._qna?.destroy(),this._qna=null,this._warnedQnaMountMissing||(console.warn(`[gengage] QNA mount target not found: ${a}`),this._warnedQnaMountMissing=!0)}else this._qna?.destroy(),this._qna=null;if(this.options.simrel!==void 0&&this.options.simrel.enabled!==!1){const a=this.options.simrel?.mountTarget??Lh,n=En(a);if(n)if(this._warnedSimRelMountMissing=!1,this._simrel)this._simrel.show(),this._simrel.update({pageType:"pdp",sku:t});else{const{GengageSimRel:i}=await Promise.resolve().then(()=>(_h(),vh)),r=new i,o={accountId:this.options.accountId,middlewareUrl:e,session:this.session,sku:t,mountTarget:n};this.options.locale!==void 0&&(o.locale=this.options.locale),this.options.theme!==void 0&&(o.theme=this.options.theme),this.options.pricing!==void 0&&(o.pricing=this.options.pricing),this.options.simrel?.discountType!==void 0&&(o.discountType=this.options.simrel.discountType),this.options.simrel?.gridColumns!==void 0&&(o.gridColumns=this.options.simrel.gridColumns),this.options.simrel?.enableProductGroupings!==void 0&&(o.enableProductGroupings=this.options.simrel.enableProductGroupings),this.options.simrel?.renderCardElement!==void 0&&(o.renderCardElement=this.options.simrel.renderCardElement),this.options.simrel?.renderer!==void 0&&(o.renderer=this.options.simrel.renderer),this.options.onAddToCart!==void 0&&(o.onAddToCart=this.options.onAddToCart),this.options.onProductNavigate!==void 0?o.onProductNavigate=this.options.onProductNavigate:o.onProductNavigate=(s,c,l)=>{he(s)&&(this._chat?.saveSession(l??this.session.sessionId,c),window.location.href=s)},await r.init(o),this._simrel=r}else this._simrel?.destroy(),this._simrel=null,this._warnedSimRelMountMissing||(console.warn(`[gengage] SimRel mount target not found: ${a}`),this._warnedSimRelMountMissing=!0)}else this._simrel?.destroy(),this._simrel=null;if(this.options.simbut&&this.options.simbut.enabled!==!1){const a=this.options.simbut.mountTarget??Ih,n=En(a),i=this._chat??this.options.simbut.onFindSimilar;if(n&&i)if(this._warnedSimButMountMissing=!1,this._warnedSimButNoChat=!1,this._simbut)this._simbut.show(),this._simbut.setChat(this._chat),this._simbut.update({pageType:"pdp",sku:t});else{const{GengageSimBut:r}=await Promise.resolve().then(()=>(Th(),Ch)),o=new r,s={accountId:this.options.accountId,middlewareUrl:e,session:this.session,pageContext:{pageType:"pdp",sku:t},mountTarget:n,chat:this._chat};this.options.theme!==void 0&&(s.theme=this.options.theme),this.options.locale!==void 0&&(s.locale=this.options.locale),this.options.simbut.layout!==void 0&&(s.layout=this.options.simbut.layout),this.options.simbut.inlineCard!==void 0&&(s.inlineCard=this.options.simbut.inlineCard),this.options.simbut.imageUrl!==void 0&&(s.imageUrl=this.options.simbut.imageUrl),this.options.simbut.i18n!==void 0&&(s.i18n=this.options.simbut.i18n),this.options.simbut.onFindSimilar!==void 0&&(s.onFindSimilar=this.options.simbut.onFindSimilar),await o.init(s),this._simbut=o}else this._simbut?.destroy(),this._simbut=null,!n&&!this._warnedSimButMountMissing?(console.warn(`[gengage] SimBut mount target not found: ${a}`),this._warnedSimButMountMissing=!0):!i&&!this._warnedSimButNoChat&&(console.warn("[gengage] SimBut requires chat to be enabled or simbut.onFindSimilar"),this._warnedSimButNoChat=!0)}else this._simbut?.destroy(),this._simbut=null}_enqueue(t){const e=this._queue.then(t);return this._queue=e.catch(a=>{}),e}};async function Rh(t){const e=Zo(t),a=Qo(),n=a.instances[e];if(n)return n;const i=a.pending[e];if(i)return i;const r=new Bh(t,()=>{const s=Qo();delete s.instances[e],delete s.pending[e]}),o=r.init().then(()=>(a.instances[e]=r,delete a.pending[e],r)).catch(s=>{throw delete a.pending[e],zn({reason:"overlay_init_failed",message:s instanceof Error?s.message:String(s)}),s});return a.pending[e]=o,o}var Xo=["gengage:chat:open","gengage:chat:close","gengage:chat:ready","gengage:chat:add-to-cart","gengage:qna:action","gengage:qna:open-chat","gengage:similar:product-click","gengage:similar:grouping-click","gengage:similar:products-impression","gengage:similar:add-to-cart","gengage:global:error","gengage:context:update"],zh=32,Jo="#gengage-qna",es="#gengage-simrel";function qh(t){return t}function Hh(t){let e=t;if(typeof t=="string"){const r=t.trim();if(r.length===0)return null;if(!r.startsWith("{")&&!r.startsWith("["))return{type:r};try{e=JSON.parse(r)}catch{return null}}if(!e||typeof e!="object")return null;const a=e,n=[a.type,a.command,a.action,a.event].find(r=>typeof r=="string"&&r.length>0);if(!n)return null;let i=a.payload;if(i===void 0&&"data"in a&&(i=a.data),n==="setSession"&&i===void 0){const r={};typeof a.sessionId=="string"&&(r.sessionId=a.sessionId),typeof a.userId=="string"&&(r.userId=a.userId),(r.sessionId!==void 0||r.userId!==void 0)&&(i=r)}return i===void 0?{type:n}:{type:n,payload:i}}function Fh(t){if(typeof t=="string"&&t.length>0)return{sku:t};if(t&&typeof t=="object"&&"sku"in t){const e=t.sku;if(typeof e=="string"&&e.length>0){const a=t.pageType;return a!==void 0?{sku:e,pageType:a}:{sku:e}}}return null}function Tn(t,e){return e instanceof HTMLElement?!0:typeof e!="string"?!1:t.document.querySelector(e)!==null}function ts(t,e,a){if(e instanceof HTMLElement||Tn(t,e)||typeof e!="string")return e;if(e.startsWith("#")){const r=e.slice(1);if(r.length>0){const o=t.document.getElementById(r);if(o)return o;const s=t.document.createElement("div");return s.id=r,t.document.body.appendChild(s),s}}const n=t.document.getElementById(a);if(n)return n;const i=t.document.createElement("div");return i.id=a,t.document.body.appendChild(i),i}function as(t,e){const a=t.webkit?.messageHandlers?.[e];return a&&typeof a.postMessage=="function"?a.postMessage.bind(a):null}function ra(t,e){const a=t[e];return a&&typeof a=="object"&&typeof a.postMessage=="function"?a:null}function ns(t={}){const e=t.win??window,a=t.iosHandlerName??"gengage",n=t.androidInterfaceName??"GengageNative",i=t.reactNativeInterfaceName??"ReactNativeWebView";return as(e,a)?"ios":ra(e,n)?"android":ra(e,i)?"react-native":"browser"}function is(t,e={}){const a=e.win??window;if(t.sessionId!==void 0){a.__gengageSessionId=t.sessionId,a.gengage||(a.gengage={}),a.gengage.sessionId=t.sessionId;try{a.sessionStorage.setItem("gengage_session_id",t.sessionId)}catch{}}if(t.userId!==void 0){a.gengage||(a.gengage={});const n=a.gengage,i=n.session??{};i.userId=t.userId,n.session=i}}function rs(t={}){const e=t.win??window,a=e;if(a.gengageNative)return a.gengageNative;const n=t.iosHandlerName??"gengage",i=t.androidInterfaceName??"GengageNative",r=t.reactNativeInterfaceName??"ReactNativeWebView",o=t.trackedEvents??[...Xo],s=ns({win:e,iosHandlerName:n,androidInterfaceName:i,reactNativeInterfaceName:r});let c=e.gengage?.overlay??null;const l=[],p=(g,v)=>{const _=v===void 0?{type:g}:{type:g,payload:v};if(s==="ios"){as(e,n)?.(_);return}if(s==="android"){ra(e,i)?.postMessage(JSON.stringify(_));return}if(s==="react-native"){ra(e,r)?.postMessage(JSON.stringify(_));return}},d=g=>{const v=g.detail;!v||typeof v.namespace!="string"||typeof v.type!="string"||p("bridge_message",{namespace:v.namespace,type:v.type,payload:v.payload})};e.addEventListener("gengage:bridge:message",d);const h=o.map(g=>{const v=_=>{const y=_.detail;p("widget_event",{event:g,detail:y})};return e.addEventListener(g,v),{event:g,handler:v}}),f=g=>{l.length>=zh&&l.shift(),l.push(g)},b=()=>{if(!c||l.length===0)return;const g=l.splice(0,l.length);for(const v of g)m(v)},m=g=>{const v=Hh(g);if(!v||typeof v.type!="string"){console.warn("[gengage:native-bridge] Invalid message:",g);return}const _=v.type,y=v.payload;switch(_){case"openChat":c?c.openChat(y&&typeof y=="object"?y:y==="half"||y==="full"?{state:y}:void 0):f(v);return;case"closeChat":c?c.closeChat():f(v);return;case"updateContext":case"updatePageContext":case"setPageContext":c&&y&&typeof y=="object"?c.updateContext(y):c?console.warn(`[gengage:native-bridge] ${_}: missing payload`):f(v);return;case"updateSku":{const k=Fh(y);if(c&&k){c.updateSku(k.sku,k.pageType);return}c?console.warn("[gengage:native-bridge] updateSku: missing sku"):f(v);return}case"setSession":y&&typeof y=="object"&&is(y,{win:e});return;case"destroy":c?.destroy();return;default:e.postMessage({gengage:"native",type:_,payload:y},e.location.origin),t.logUnhandled&&console.warn("[gengage:native-bridge] Unhandled inbound type forwarded:",_)}},u={env:s,sendToNative:p,receive:m,setController(g){c=g,b()},destroy(){e.removeEventListener("gengage:bridge:message",d);for(const g of h)e.removeEventListener(g.event,g.handler);l.splice(0,l.length),e.gengageNative===u&&delete e.gengageNative}};return a.gengageNative=u,u}async function Dh(t){const{nativeBridge:e,emitReadyEvent:a=!0,...n}=t,i=rs(e),r={...n};r.onAddToCart||(r.onAddToCart=l=>{i.sendToNative("addToCart",{sku:l.sku,quantity:l.quantity,cartCode:l.cartCode})}),r.onProductNavigate||(r.onProductNavigate=(l,p,d)=>{i.sendToNative("productNavigate",{url:l,sku:p,sessionId:d})});const o=r.qna?.enabled===!0||r.qna?.mountTarget!==void 0;if(r.qna?.enabled!==!1)if(o){const l=ts(window,r.qna?.mountTarget??Jo,"gengage-qna");r.qna={...r.qna,enabled:!0,mountTarget:l}}else Tn(window,Jo)||(r.qna={enabled:!1});const s=r.simrel?.enabled===!0||r.simrel?.mountTarget!==void 0;if(r.simrel?.enabled!==!1)if(s){const l=ts(window,r.simrel?.mountTarget??es,"gengage-simrel");r.simrel={...r.simrel,enabled:!0,mountTarget:l}}else Tn(window,es)||(r.simrel={enabled:!1});const c=await Rh(r);return i.setController(c),a&&i.sendToNative("ready",{sessionId:c.session.sessionId,widgets:{chat:c.chat!==null,qna:c.qna!==null,simrel:c.simrel!==null}}),{controller:c,bridge:i,destroy(){c.destroy(),i.destroy()}}}tt.DEFAULT_NATIVE_TRACKED_EVENTS=Xo,tt.applyNativeSession=is,tt.createNativeWebViewBridge=rs,tt.detectNativeEnvironment=ns,tt.initNativeOverlayWidgets=Dh})(this.Gengage=this.Gengage||{});