@gengage/assistant-fe 0.3.16 → 0.3.18

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.
Files changed (67) hide show
  1. package/dist/chat/catalog.d.ts +24 -0
  2. package/dist/chat/catalog.d.ts.map +1 -1
  3. package/dist/chat/components/AITopPicks.d.ts.map +1 -1
  4. package/dist/chat/components/ProductSummaryCard.d.ts.map +1 -1
  5. package/dist/chat/components/product-price-layout.d.ts +19 -0
  6. package/dist/chat/components/product-price-layout.d.ts.map +1 -0
  7. package/dist/chat/components/renderUISpec.d.ts.map +1 -1
  8. package/dist/chat/index.d.ts +1 -0
  9. package/dist/chat/index.d.ts.map +1 -1
  10. package/dist/chat/types.d.ts +27 -0
  11. package/dist/chat/types.d.ts.map +1 -1
  12. package/dist/chat-Ck0cC4R_.cjs +94 -0
  13. package/dist/chat-Ck0cC4R_.cjs.map +1 -0
  14. package/dist/{chat-D60Ci1vQ.js → chat-CmKpcbQS.js} +972 -761
  15. package/dist/chat-CmKpcbQS.js.map +1 -0
  16. package/dist/chat.cjs +1 -1
  17. package/dist/chat.iife.js +16 -16
  18. package/dist/chat.iife.js.map +1 -1
  19. package/dist/chat.js +1 -1
  20. package/dist/common/overlay.d.ts +5 -0
  21. package/dist/common/overlay.d.ts.map +1 -1
  22. package/dist/common/protocol-adapter.d.ts.map +1 -1
  23. package/dist/{common-DX6rwrsr.cjs → common-C0CDlovf.cjs} +2 -2
  24. package/dist/{common-DX6rwrsr.cjs.map → common-C0CDlovf.cjs.map} +1 -1
  25. package/dist/{common-CjkWpalm.js → common-D7J-qASM.js} +3 -3
  26. package/dist/{common-CjkWpalm.js.map → common-D7J-qASM.js.map} +1 -1
  27. package/dist/common.cjs +1 -1
  28. package/dist/common.js +4 -4
  29. package/dist/index.cjs +1 -1
  30. package/dist/index.js +6 -6
  31. package/dist/{native-webview-qAXppESm.js → native-webview-4YU7k1qK.js} +6 -6
  32. package/dist/native-webview-4YU7k1qK.js.map +1 -0
  33. package/dist/native-webview-ifBEffwH.cjs +2 -0
  34. package/dist/native-webview-ifBEffwH.cjs.map +1 -0
  35. package/dist/native.cjs +1 -1
  36. package/dist/native.iife.js +7 -7
  37. package/dist/native.iife.js.map +1 -1
  38. package/dist/native.js +1 -1
  39. package/dist/{qna-T6ACPKRB.cjs → qna-BUsDAFdn.cjs} +2 -2
  40. package/dist/{qna-T6ACPKRB.cjs.map → qna-BUsDAFdn.cjs.map} +1 -1
  41. package/dist/{qna-J0v3olA2.js → qna-DrlUFVgh.js} +2 -2
  42. package/dist/{qna-J0v3olA2.js.map → qna-DrlUFVgh.js.map} +1 -1
  43. package/dist/qna.cjs +1 -1
  44. package/dist/qna.iife.js +1 -1
  45. package/dist/qna.iife.js.map +1 -1
  46. package/dist/qna.js +1 -1
  47. package/dist/{schemas-B3zzmCPF.cjs → schemas-BneJIS3a.cjs} +4 -4
  48. package/dist/schemas-BneJIS3a.cjs.map +1 -0
  49. package/dist/{schemas-DRZ9l0Z4.js → schemas-DwX3rpp6.js} +15 -13
  50. package/dist/schemas-DwX3rpp6.js.map +1 -0
  51. package/dist/{simrel-CGT83sSF.js → simrel-B6PD6vfG.js} +2 -2
  52. package/dist/{simrel-CGT83sSF.js.map → simrel-B6PD6vfG.js.map} +1 -1
  53. package/dist/{simrel-B3wJOMlY.cjs → simrel-BIp8IAYj.cjs} +2 -2
  54. package/dist/{simrel-B3wJOMlY.cjs.map → simrel-BIp8IAYj.cjs.map} +1 -1
  55. package/dist/simrel.cjs +1 -1
  56. package/dist/simrel.iife.js +1 -1
  57. package/dist/simrel.iife.js.map +1 -1
  58. package/dist/simrel.js +1 -1
  59. package/package.json +1 -1
  60. package/dist/chat-CRGCgvrz.cjs +0 -94
  61. package/dist/chat-CRGCgvrz.cjs.map +0 -1
  62. package/dist/chat-D60Ci1vQ.js.map +0 -1
  63. package/dist/native-webview-Bm-pIU6O.cjs +0 -2
  64. package/dist/native-webview-Bm-pIU6O.cjs.map +0 -1
  65. package/dist/native-webview-qAXppESm.js.map +0 -1
  66. package/dist/schemas-B3zzmCPF.cjs.map +0 -1
  67. package/dist/schemas-DRZ9l0Z4.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { C as e, a as t, c as n, d as r, l as i, n as a, o, p as s, r as c, s as l, t as u, u as d, x as f, y as p } from "./schemas-DRZ9l0Z4.js";
2
- import { $ as m, B as h, C as g, H as _, K as v, P as y, Q as b, R as x, U as S, V as C, X as w, Y as T, Z as E, _ as ee, a as te, b as D, c as O, d as ne, f as k, g as A, h as j, i as M, l as N, m as re, n as P, o as F, p as I, q as L, r as R, s as ie, t as z, u as ae, y as B, z as V } from "./ga-datalayer-DygUbUWr.js";
3
- import { a as H, i as oe, n as se, r as ce, t as U } from "./product-utils-BUalkWz3.js";
1
+ import { C as e, a as t, c as n, d as r, l as i, n as a, o, p as s, r as c, s as l, t as u, u as d, x as f, y as p } from "./schemas-DwX3rpp6.js";
2
+ import { $ as m, B as h, C as g, H as _, K as v, P as y, Q as b, R as x, U as S, V as C, X as w, Y as T, Z as E, _ as D, a as O, b as ee, c as k, d as te, f as A, g as j, h as M, i as N, l as P, m as ne, n as F, o as I, p as L, q as R, r as z, s as re, t as B, u as ie, y as V, z as H } from "./ga-datalayer-DygUbUWr.js";
3
+ import { a as U, i as ae, n as oe, r as se, t as W } from "./product-utils-BUalkWz3.js";
4
4
  //#region src/common/uuidv7.ts
5
- function le() {
5
+ function ce() {
6
6
  let e = Date.now(), t = new Uint8Array(16);
7
7
  crypto.getRandomValues(t), t[0] = e / 2 ** 40 & 255, t[1] = e / 2 ** 32 & 255, t[2] = e / 2 ** 24 & 255, t[3] = e / 2 ** 16 & 255, t[4] = e / 2 ** 8 & 255, t[5] = e & 255, t[6] = t[6] & 15 | 112, t[8] = t[8] & 63 | 128;
8
8
  let n = Array.from(t, (e) => e.toString(16).padStart(2, "0")).join("");
@@ -10,9 +10,9 @@ function le() {
10
10
  }
11
11
  //#endregion
12
12
  //#region src/common/communication-bridge.ts
13
- var ue = class {
13
+ var le = class {
14
14
  constructor(e) {
15
- this._handlers = /* @__PURE__ */ new Map(), this._destroyed = !1, this._namespace = e.namespace, this._allowedOrigins = e.allowedOrigins ?? [location.origin], this._onMessage = e.onMessage, this._allowedOrigins.includes("*") && fe() && console.warn("[gengage] postMessage bridge using wildcard origin. Set allowedOrigins for production security."), this._messageListener = (e) => this._handlePostMessage(e), window.addEventListener("message", this._messageListener);
15
+ this._handlers = /* @__PURE__ */ new Map(), this._destroyed = !1, this._namespace = e.namespace, this._allowedOrigins = e.allowedOrigins ?? [location.origin], this._onMessage = e.onMessage, this._allowedOrigins.includes("*") && de() && console.warn("[gengage] postMessage bridge using wildcard origin. Set allowedOrigins for production security."), this._messageListener = (e) => this._handlePostMessage(e), window.addEventListener("message", this._messageListener);
16
16
  }
17
17
  send(e, t) {
18
18
  if (this._destroyed) return;
@@ -38,7 +38,7 @@ var ue = class {
38
38
  _handlePostMessage(e) {
39
39
  if (this._destroyed || !this._isOriginAllowed(e.origin)) return;
40
40
  let t = e.data;
41
- if (!de(t) || t.gengage !== this._namespace) return;
41
+ if (!ue(t) || t.gengage !== this._namespace) return;
42
42
  let n = { type: t.type };
43
43
  t.payload !== void 0 && (n.payload = t.payload), this._onMessage?.(n);
44
44
  let r = this._handlers.get(n.type);
@@ -48,12 +48,12 @@ var ue = class {
48
48
  return this._allowedOrigins.includes("*") ? !0 : this._allowedOrigins.includes(e);
49
49
  }
50
50
  };
51
- function de(e) {
51
+ function ue(e) {
52
52
  if (typeof e != "object" || !e) return !1;
53
53
  let t = e;
54
54
  return typeof t.gengage == "string" && typeof t.type == "string";
55
55
  }
56
- function fe() {
56
+ function de() {
57
57
  try {
58
58
  return typeof process < "u" && process.env.NODE_ENV !== "production";
59
59
  } catch {
@@ -62,19 +62,19 @@ function fe() {
62
62
  }
63
63
  //#endregion
64
64
  //#region src/common/action-router.ts
65
- var pe = console;
66
- function me(e, t, n = {}) {
67
- let r = e.action, i = n.logger ?? pe;
68
- switch (D("action", `routing action: ${r.kind}`, r), r.kind) {
65
+ var fe = console;
66
+ function pe(e, t, n = {}) {
67
+ let r = e.action, i = n.logger ?? fe;
68
+ switch (ee("action", `routing action: ${r.kind}`, r), r.kind) {
69
69
  case "open_chat":
70
70
  t.openChat?.(r.payload);
71
71
  return;
72
72
  case "navigate": {
73
73
  if (typeof r.url != "string") {
74
- W(r, t, n, i);
74
+ G(r, t, n, i);
75
75
  return;
76
76
  }
77
- if (!V(r.url)) {
77
+ if (!H(r.url)) {
78
78
  i.warn("[gengage] Blocked navigation to unsafe URL:", r.url);
79
79
  return;
80
80
  }
@@ -86,12 +86,12 @@ function me(e, t, n = {}) {
86
86
  });
87
87
  return;
88
88
  }
89
- he(r.url, e);
89
+ me(r.url, e);
90
90
  return;
91
91
  }
92
92
  case "save_session":
93
93
  if (typeof r.sessionId != "string" || typeof r.sku != "string") {
94
- W(r, t, n, i);
94
+ G(r, t, n, i);
95
95
  return;
96
96
  }
97
97
  t.saveSession?.({
@@ -101,7 +101,7 @@ function me(e, t, n = {}) {
101
101
  return;
102
102
  case "add_to_cart":
103
103
  if (typeof r.sku != "string" || typeof r.quantity != "number" || typeof r.cartCode != "string") {
104
- W(r, t, n, i);
104
+ G(r, t, n, i);
105
105
  return;
106
106
  }
107
107
  t.addToCart?.({
@@ -112,24 +112,24 @@ function me(e, t, n = {}) {
112
112
  return;
113
113
  case "script_call": {
114
114
  if (n.allowScriptCall === !1) {
115
- W(r, t, n, i);
115
+ G(r, t, n, i);
116
116
  return;
117
117
  }
118
118
  if (typeof r.name != "string") {
119
- W(r, t, n, i);
119
+ G(r, t, n, i);
120
120
  return;
121
121
  }
122
- let e = ge(r.payload) ? r.payload : void 0;
122
+ let e = he(r.payload) ? r.payload : void 0;
123
123
  t.scriptCall?.({
124
124
  name: r.name,
125
125
  ...e !== void 0 && { payload: e }
126
126
  });
127
127
  return;
128
128
  }
129
- default: W(r, t, n, i);
129
+ default: G(r, t, n, i);
130
130
  }
131
131
  }
132
- function W(e, t, n, r) {
132
+ function G(e, t, n, r) {
133
133
  let i = n.unknownActionPolicy ?? "log-and-ignore";
134
134
  if (i === "delegate") {
135
135
  t.unknown?.(e), t.unknown || r.warn("[gengage] Unknown action received without delegate handler", e);
@@ -138,9 +138,9 @@ function W(e, t, n, r) {
138
138
  if (i === "throw") throw Error(`[gengage] Unknown action kind: ${e.kind}`);
139
139
  r.warn("[gengage] Unknown action ignored", e);
140
140
  }
141
- function he(e, t) {
141
+ function me(e, t) {
142
142
  if (!(typeof window > "u")) {
143
- if (!V(e)) {
143
+ if (!H(e)) {
144
144
  console.warn("[gengage] Blocked navigation to unsafe URL:", e);
145
145
  return;
146
146
  }
@@ -151,18 +151,18 @@ function he(e, t) {
151
151
  window.location.href = e;
152
152
  }
153
153
  }
154
- function ge(e) {
154
+ function he(e) {
155
155
  return typeof e == "object" && !!e && !Array.isArray(e);
156
156
  }
157
157
  //#endregion
158
158
  //#region src/chat/attachment-utils.ts
159
- var _e = [
159
+ var ge = [
160
160
  "image/jpeg",
161
161
  "image/png",
162
162
  "image/webp"
163
163
  ];
164
- function ve(e) {
165
- return _e.includes(e.type) ? e.size > 5242880 ? {
164
+ function _e(e) {
165
+ return ge.includes(e.type) ? e.size > 5242880 ? {
166
166
  ok: !1,
167
167
  reason: "too_large"
168
168
  } : { ok: !0 } : {
@@ -172,7 +172,7 @@ function ve(e) {
172
172
  }
173
173
  //#endregion
174
174
  //#region src/chat/api.ts
175
- function ye(e, t) {
175
+ function ve(e, t) {
176
176
  let n = e.type, r = e.payload != null && typeof e.payload == "object" && !Array.isArray(e.payload) ? e.payload : {}, i = (e) => {
177
177
  let t = { ...r };
178
178
  for (let [n, r] of Object.entries(e)) n in t || (t[n] = r);
@@ -211,19 +211,19 @@ function ye(e, t) {
211
211
  default: return e;
212
212
  }
213
213
  }
214
- var be = { user_message: "inputText" };
215
- function xe(e) {
216
- let { action: t, type: n, payload: r, ...i } = e, a = n ?? t?.type ?? "inputText", o = r ?? t?.payload, s = be[a] ?? a, c = {
214
+ var ye = { user_message: "inputText" };
215
+ function be(e) {
216
+ let { action: t, type: n, payload: r, ...i } = e, a = n ?? t?.type ?? "inputText", o = r ?? t?.payload, s = ye[a] ?? a, c = {
217
217
  ...i,
218
218
  type: s
219
219
  };
220
220
  return o !== void 0 && (c.payload = typeof o == "string" ? { text: o } : o), JSON.stringify(c);
221
221
  }
222
- function Se(e, t, n) {
222
+ function xe(e, t, n) {
223
223
  let i = r("process_action", n), a = new AbortController();
224
224
  return (async () => {
225
225
  try {
226
- let r = xe(e), o = n.attachment !== void 0, c;
226
+ let r = be(e), o = n.attachment !== void 0, c;
227
227
  if (o) {
228
228
  let e = new FormData();
229
229
  e.append("request", r), n.attachment !== void 0 && e.append("attachment", n.attachment), c = {
@@ -289,19 +289,19 @@ function Se(e, t, n) {
289
289
  }
290
290
  //#endregion
291
291
  //#region src/chat/utils/chat-presentation-debug.ts
292
- var Ce = ["chat_debug", "presentation_debug"], we = ["gengage_chat_debug", "gengage_presentation_debug"];
293
- function Te() {
292
+ var Se = ["chat_debug", "presentation_debug"], Ce = ["gengage_chat_debug", "gengage_presentation_debug"];
293
+ function we() {
294
294
  if (typeof window > "u") return !1;
295
295
  let e = new URLSearchParams(window.location.search);
296
- if (Ce.some((t) => e.get(t) === "1")) return !0;
296
+ if (Se.some((t) => e.get(t) === "1")) return !0;
297
297
  try {
298
- return we.some((e) => window.localStorage.getItem(e) === "1");
298
+ return Ce.some((e) => window.localStorage.getItem(e) === "1");
299
299
  } catch {
300
300
  return !1;
301
301
  }
302
302
  }
303
- function Ee(e, t, n) {
304
- if (!Te()) return;
303
+ function Te(e, t, n) {
304
+ if (!we()) return;
305
305
  let r = (window.__gengageChatPresentationDebugSeq ?? 0) + 1;
306
306
  window.__gengageChatPresentationDebugSeq = r;
307
307
  let i = {
@@ -317,19 +317,19 @@ function Ee(e, t, n) {
317
317
  }
318
318
  //#endregion
319
319
  //#region src/chat/utils/get-chat-scroll-element.ts
320
- var De = "gengage-chat-scroll", G = null;
321
- function Oe(e) {
322
- G = e;
320
+ var Ee = "gengage-chat-scroll", K = null;
321
+ function De(e) {
322
+ K = e;
323
323
  }
324
- function ke() {
325
- return G && G.isConnected ? G : (G = null, document.getElementById(De) || (Ee("chat-scroll", "failed to resolve scroll container (not registered)", { id: De }), null));
324
+ function Oe() {
325
+ return K && K.isConnected ? K : (K = null, document.getElementById(Ee) || (Te("chat-scroll", "failed to resolve scroll container (not registered)", { id: Ee }), null));
326
326
  }
327
- function Ae() {
328
- G = null;
327
+ function ke() {
328
+ K = null;
329
329
  }
330
330
  //#endregion
331
331
  //#region src/chat/locales/tr.ts
332
- var je = {
332
+ var Ae = {
333
333
  headerTitle: "Ürün Uzmanı",
334
334
  inputPlaceholder: "Ürün ara, soru sor",
335
335
  sendButton: "Gönder",
@@ -450,7 +450,7 @@ var je = {
450
450
  showFormerMessagesButton: "↑ Önceki mesajları göster",
451
451
  aiAnalysisAnalyzingLabel: "Ürünler analiz ediliyor...",
452
452
  aiBrowseCategoriesTitle: "Kategorilere Göz At"
453
- }, Me = {
453
+ }, je = {
454
454
  headerTitle: "Product Expert",
455
455
  inputPlaceholder: "Search products, ask questions",
456
456
  sendButton: "Send",
@@ -574,25 +574,25 @@ var je = {
574
574
  };
575
575
  //#endregion
576
576
  //#region src/chat/locales/index.ts
577
- function Ne(e) {
577
+ function Me(e) {
578
578
  return e ? e.toLowerCase().split("-")[0] ?? "tr" : "tr";
579
579
  }
580
- function Pe(e) {
581
- switch (Ne(e)) {
582
- case "en": return Me;
583
- default: return je;
580
+ function Ne(e) {
581
+ switch (Me(e)) {
582
+ case "en": return je;
583
+ default: return Ae;
584
584
  }
585
585
  }
586
586
  //#endregion
587
587
  //#region src/common/voice-input.ts
588
- function Fe() {
589
- return Ie() !== null;
588
+ function Pe() {
589
+ return Fe() !== null;
590
590
  }
591
- function Ie() {
591
+ function Fe() {
592
592
  let e = globalThis;
593
593
  return e.SpeechRecognition ?? e.webkitSpeechRecognition ?? null;
594
594
  }
595
- var Le = class {
595
+ var Ie = class {
596
596
  constructor(e, t) {
597
597
  this.recognition = null, this._state = "idle", this.silenceTimer = null, this.accumulatedTranscript = "", this.intentionalStop = !1, this._lastRestartAt = 0, this.callbacks = e, this.lang = t?.lang ?? "tr-TR", this.silenceTimeoutMs = t?.silenceTimeoutMs ?? 1500, this.autoSubmit = t?.autoSubmit ?? !0;
598
598
  }
@@ -601,7 +601,7 @@ var Le = class {
601
601
  }
602
602
  start() {
603
603
  if (this._state === "listening") return;
604
- let e = Ie();
604
+ let e = Fe();
605
605
  if (!e) {
606
606
  this.setState("error"), this.callbacks.onError?.("not-supported", "Web Speech API is not supported in this browser.");
607
607
  return;
@@ -625,7 +625,7 @@ var Le = class {
625
625
  }
626
626
  n && (this.accumulatedTranscript += n, this.callbacks.onFinal?.(this.accumulatedTranscript)), t && this.callbacks.onInterim?.(this.accumulatedTranscript + t), this.autoSubmit && this.accumulatedTranscript && this.startSilenceTimer();
627
627
  }, t.onerror = (e) => {
628
- let t = Re(e.error);
628
+ let t = Le(e.error);
629
629
  this.intentionalStop && (e.error === "no-speech" || e.error === "aborted") || (this.setState("error"), this.callbacks.onError?.(t, e.message || e.error));
630
630
  }, t.onend = () => {
631
631
  if (this.clearSilenceTimer(), this._state === "listening" && !this.intentionalStop) {
@@ -684,7 +684,7 @@ var Le = class {
684
684
  this.silenceTimer !== null && (clearTimeout(this.silenceTimer), this.silenceTimer = null);
685
685
  }
686
686
  };
687
- function Re(e) {
687
+ function Le(e) {
688
688
  switch (e) {
689
689
  case "not-allowed": return "not-allowed";
690
690
  case "no-speech": return "no-speech";
@@ -696,7 +696,7 @@ function Re(e) {
696
696
  }
697
697
  //#endregion
698
698
  //#region src/chat/components/KvkkBanner.ts
699
- function ze(e) {
699
+ function Re(e) {
700
700
  let t = document.createElement("div");
701
701
  t.className = "gengage-chat-kvkk-banner gds-evidence-card gds-evidence-card-warning", t.dataset.gengagePart = "kvkk-banner", t.setAttribute("role", "alert");
702
702
  let n = document.createElement("div");
@@ -706,7 +706,7 @@ function ze(e) {
706
706
  }
707
707
  //#endregion
708
708
  //#region src/chat/components/PanelTopBar.ts
709
- var Be = class {
709
+ var ze = class {
710
710
  constructor(e) {
711
711
  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", e.backAriaLabel ?? "Back"), this._backBtn.title = e.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", () => e.onBack());
712
712
  let t = document.createElement("div");
@@ -727,7 +727,7 @@ var Be = class {
727
727
  getTitle() {
728
728
  return this._titleEl.textContent ?? "";
729
729
  }
730
- }, Ve = class {
730
+ }, Be = class {
731
731
  constructor(e) {
732
732
  this._onThumbnailClick = e.onThumbnailClick, this._el = document.createElement("div"), this._el.className = "gengage-chat-thumbnails-column", this._el.style.display = "none";
733
733
  }
@@ -755,13 +755,13 @@ var Be = class {
755
755
  hide() {
756
756
  this._el.style.display = "none";
757
757
  }
758
- }, He = {
758
+ }, Ve = {
759
759
  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>",
760
760
  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>",
761
761
  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>",
762
762
  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>"
763
- }, Ue = je, We = 1400, Ge = /data:image\/(png|jpeg|jpg|webp);base64,[A-Za-z0-9+/=]+/gi;
764
- async function Ke(e) {
763
+ }, He = Ae, Ue = 1400, We = /data:image\/(png|jpeg|jpg|webp);base64,[A-Za-z0-9+/=]+/gi;
764
+ async function Ge(e) {
765
765
  for (let t of e) for (let e of t.types) if (e.startsWith("image/")) try {
766
766
  let n = await t.getType(e);
767
767
  if (!n || n.size === 0) continue;
@@ -771,7 +771,7 @@ async function Ke(e) {
771
771
  continue;
772
772
  }
773
773
  for (let t of e) if (t.types.includes("text/html")) try {
774
- let e = (await (await t.getType("text/html")).text()).match(Ge)?.[0];
774
+ let e = (await (await t.getType("text/html")).text()).match(We)?.[0];
775
775
  if (!e || e.length > 5e6) continue;
776
776
  let n = await (await fetch(e)).blob();
777
777
  if (!n || n.size === 0) continue;
@@ -788,17 +788,17 @@ async function Ke(e) {
788
788
  }
789
789
  return null;
790
790
  }
791
- async function qe(e) {
791
+ async function Ke(e) {
792
792
  try {
793
793
  let t = e ?? (typeof navigator.clipboard?.read == "function" ? navigator.clipboard.read() : null);
794
- return t ? Ke(await t) : null;
794
+ return t ? Ge(await t) : null;
795
795
  } catch {}
796
796
  return null;
797
797
  }
798
- var Je = class {
798
+ var qe = class {
799
799
  constructor(e, t) {
800
800
  this._sendStopHandler = null, this._panelVisible = !1, this._panelCollapsed = !1, this._dividerPreviewEnabled = !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 = /* @__PURE__ */ new Set(), this._voiceInput = null, this._micBtn = null, this._voiceEnabled = !1, this._voiceLang = "tr-TR", this._ignoreNextDividerClick = !1, this._panelListScrollAnimToken = 0, 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._options = t, this.i18n = {
801
- ...Ue,
801
+ ...He,
802
802
  ...t.i18n
803
803
  }, this.onSend = t.onSend, t.onPanelToggle !== void 0 && (this._onPanelToggle = t.onPanelToggle), t.onHostShellSync !== void 0 && (this._onHostShellSync = t.onHostShellSync), t.onAttachment !== void 0 && (this._onAttachment = t.onAttachment), t.onRollback !== void 0 && (this._onRollback = t.onRollback), t.onLinkClick !== void 0 && (this._onLinkClick = t.onLinkClick), t.voiceEnabled && (this._voiceEnabled = !0), t.voiceLang !== void 0 && (this._voiceLang = t.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");
804
804
  let n = "gengage-chat-dialog-desc", r = document.createElement("span");
@@ -880,7 +880,7 @@ var Je = class {
880
880
  });
881
881
  }
882
882
  let h = document.createElement("div");
883
- h.className = "gengage-chat-body", h.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 Be({
883
+ h.className = "gengage-chat-body", h.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 ze({
884
884
  onBack: () => t.onPanelBack?.(),
885
885
  onForward: () => t.onPanelForward?.(),
886
886
  onClose: () => {
@@ -923,60 +923,60 @@ var Je = class {
923
923
  let w = () => C.classList.add("gengage-chat-offline-bar--visible"), T = () => C.classList.remove("gengage-chat-offline-bar--visible");
924
924
  window.addEventListener("offline", w), window.addEventListener("online", T), this._cleanups.push(() => {
925
925
  window.removeEventListener("offline", w), window.removeEventListener("online", T);
926
- }), this._kvkkSlot = document.createElement("div"), this._kvkkSlot.className = "gengage-chat-kvkk-slot", this._kvkkSlot.dataset.gengagePart = "chat-kvkk-slot", S.appendChild(this._kvkkSlot), this.messagesEl = document.createElement("div"), this.messagesEl.id = De, 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), Oe(this.messagesEl);
926
+ }), this._kvkkSlot = document.createElement("div"), this._kvkkSlot.className = "gengage-chat-kvkk-slot", this._kvkkSlot.dataset.gengagePart = "chat-kvkk-slot", S.appendChild(this._kvkkSlot), this.messagesEl = document.createElement("div"), this.messagesEl.id = Ee, 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), De(this.messagesEl);
927
927
  let E = document.createElement("button");
928
928
  E.type = "button", E.className = "gengage-chat-former-messages-btn gds-chip", E.dataset.gengagePart = "chat-former-messages-button", E.textContent = this.i18n.showFormerMessagesButton, E.setAttribute("aria-label", this.i18n.showFormerMessagesButton), E.style.display = "none", E.addEventListener("click", () => {
929
929
  this._options.presentation?.onReleasePresentationFocus?.();
930
930
  }), this.messagesEl.appendChild(E), this._formerMessagesBtn = E;
931
- let ee = () => {
931
+ let D = () => {
932
932
  this._userInteractionUntil = Date.now() + 2e3;
933
- }, te = !1, D = () => this._options.presentation, O = () => {
934
- te || (te = !0, requestAnimationFrame(() => {
935
- te = !1;
933
+ }, O = !1, ee = () => this._options.presentation, k = () => {
934
+ O || (O = !0, requestAnimationFrame(() => {
935
+ O = !1;
936
936
  let { scrollTop: e, scrollHeight: t, clientHeight: n } = this.messagesEl, r = t - e - n;
937
937
  this._userScrolledUp = r > 10;
938
938
  let i = this._presentationPinned ? r < 96 : r < 32, a = Date.now(), o = a < this._programmaticScrollUntil, s = !i && a < this._userInteractionUntil, c = o ? !1 : s;
939
- i !== this._presentationPinned && (this._presentationPinned = i, D()?.onPinnedToBottomChange?.(i)), c !== this._presentationUserInteracting && (this._presentationUserInteracting = c, D()?.onUserInteractingChange?.(c));
939
+ i !== this._presentationPinned && (this._presentationPinned = i, ee()?.onPinnedToBottomChange?.(i)), c !== this._presentationUserInteracting && (this._presentationUserInteracting = c, ee()?.onUserInteractingChange?.(c));
940
940
  }));
941
941
  };
942
- this.messagesEl.addEventListener("scroll", O, { passive: !0 }), this._cleanups.push(() => {
943
- this.messagesEl.removeEventListener("scroll", O);
942
+ this.messagesEl.addEventListener("scroll", k, { passive: !0 }), this._cleanups.push(() => {
943
+ this.messagesEl.removeEventListener("scroll", k);
944
944
  });
945
- let ne = (e) => {
946
- ee(), e.deltaY < -6 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
945
+ let te = (e) => {
946
+ D(), e.deltaY < -6 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
947
947
  };
948
- this.messagesEl.addEventListener("wheel", ne, { passive: !0 }), this._cleanups.push(() => this.messagesEl.removeEventListener("wheel", ne));
949
- let k = (e) => {
950
- ee(), this._touchStartY = e.touches[0]?.clientY ?? null;
951
- }, A = (e) => {
952
- ee();
948
+ this.messagesEl.addEventListener("wheel", te, { passive: !0 }), this._cleanups.push(() => this.messagesEl.removeEventListener("wheel", te));
949
+ let A = (e) => {
950
+ D(), this._touchStartY = e.touches[0]?.clientY ?? null;
951
+ }, j = (e) => {
952
+ D();
953
953
  let t = e.touches[0]?.clientY, n = this._touchStartY;
954
954
  typeof t == "number" && typeof n == "number" && t - n > 10 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
955
955
  };
956
- this.messagesEl.addEventListener("touchstart", k, { passive: !0 }), this.messagesEl.addEventListener("touchmove", A, { passive: !0 }), this._cleanups.push(() => {
957
- this.messagesEl.removeEventListener("touchstart", k), this.messagesEl.removeEventListener("touchmove", A);
958
- }), S.appendChild(this.messagesEl), this._thumbnailsColumn = new Ve({ onThumbnailClick: (e) => t.onThumbnailClick?.(e) }), this._panelEl.appendChild(this._thumbnailsColumn.getElement()), 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";
959
- let j = document.createElement("div");
960
- j.className = "gengage-chat-pills-scroll", j.dataset.gengagePart = "chat-suggestion-pills-scroll", this._pillsEl.appendChild(j);
961
- let M = document.createElement("button");
962
- M.className = "gengage-chat-pills-arrow gds-btn gds-btn-ghost", M.dataset.gengagePart = "chat-suggestion-pills-more", M.type = "button", M.setAttribute("aria-label", this.i18n.moreSuggestionsAriaLabel), M.textContent = "›", M.addEventListener("click", () => {
963
- j.scrollBy({
956
+ this.messagesEl.addEventListener("touchstart", A, { passive: !0 }), this.messagesEl.addEventListener("touchmove", j, { passive: !0 }), this._cleanups.push(() => {
957
+ this.messagesEl.removeEventListener("touchstart", A), this.messagesEl.removeEventListener("touchmove", j);
958
+ }), S.appendChild(this.messagesEl), this._thumbnailsColumn = new Be({ onThumbnailClick: (e) => t.onThumbnailClick?.(e) }), this._panelEl.appendChild(this._thumbnailsColumn.getElement()), 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";
959
+ let M = document.createElement("div");
960
+ M.className = "gengage-chat-pills-scroll", M.dataset.gengagePart = "chat-suggestion-pills-scroll", this._pillsEl.appendChild(M);
961
+ let N = document.createElement("button");
962
+ N.className = "gengage-chat-pills-arrow gds-btn gds-btn-ghost", N.dataset.gengagePart = "chat-suggestion-pills-more", N.type = "button", N.setAttribute("aria-label", this.i18n.moreSuggestionsAriaLabel), N.textContent = "›", N.addEventListener("click", () => {
963
+ M.scrollBy({
964
964
  left: 150,
965
965
  behavior: "smooth"
966
966
  });
967
- }), this._pillsEl.appendChild(M);
968
- let N = !1, re = () => {
969
- N || (N = !0, requestAnimationFrame(() => {
970
- N = !1;
971
- let e = j.scrollLeft + j.clientWidth >= j.scrollWidth - 4;
972
- M.style.display = e ? "none" : "";
967
+ }), this._pillsEl.appendChild(N);
968
+ let P = !1, ne = () => {
969
+ P || (P = !0, requestAnimationFrame(() => {
970
+ P = !1;
971
+ let e = M.scrollLeft + M.clientWidth >= M.scrollWidth - 4;
972
+ N.style.display = e ? "none" : "";
973
973
  }));
974
974
  };
975
- j.addEventListener("scroll", re, { passive: !0 }), this._cleanups.push(() => {
976
- j.removeEventListener("scroll", re);
975
+ M.addEventListener("scroll", ne, { passive: !0 }), this._cleanups.push(() => {
976
+ M.removeEventListener("scroll", ne);
977
977
  }), S.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", S.appendChild(this._inputChipsEl);
978
- let P = document.createElement("div");
979
- P.className = "gengage-chat-input-area", P.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", () => {
978
+ let F = document.createElement("div");
979
+ F.className = "gengage-chat-input-area", F.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", () => {
980
980
  this._resizeRafId !== null && cancelAnimationFrame(this._resizeRafId), this._resizeRafId = requestAnimationFrame(() => {
981
981
  this._resizeRafId = null, this.inputEl.style.height = "auto", this.inputEl.style.height = `${Math.min(this.inputEl.scrollHeight, 120)}px`;
982
982
  }), this._updateSendEnabled();
@@ -1002,47 +1002,47 @@ var Je = class {
1002
1002
  let e = this._fileInput.files?.[0];
1003
1003
  e && this._routeAttachmentFile(e), this._fileInput.value = "";
1004
1004
  });
1005
- let F = document.createElement("div");
1006
- F.className = "gengage-chat-attach-wrap", F.dataset.gengagePart = "chat-attach-wrap", this._attachWrapEl = F;
1007
- let I = document.createElement("button");
1008
- this._attachBtn = I, I.className = "gengage-chat-attach-btn gds-btn gds-btn-ghost", I.dataset.gengagePart = "chat-attach-button", I.type = "button", I.setAttribute("aria-label", this.i18n.attachImageButton), I.setAttribute("aria-haspopup", "menu"), I.setAttribute("aria-expanded", "false"), I.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>", I.addEventListener("click", (e) => {
1005
+ let I = document.createElement("div");
1006
+ I.className = "gengage-chat-attach-wrap", I.dataset.gengagePart = "chat-attach-wrap", this._attachWrapEl = I;
1007
+ let L = document.createElement("button");
1008
+ this._attachBtn = L, L.className = "gengage-chat-attach-btn gds-btn gds-btn-ghost", L.dataset.gengagePart = "chat-attach-button", L.type = "button", L.setAttribute("aria-label", this.i18n.attachImageButton), L.setAttribute("aria-haspopup", "menu"), L.setAttribute("aria-expanded", "false"), L.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>", L.addEventListener("click", (e) => {
1009
1009
  e.stopPropagation(), this._toggleAttachMenu();
1010
1010
  });
1011
- let L = document.createElement("div");
1012
- this._attachMenuEl = L, L.className = "gengage-chat-attach-menu gds-menu", L.dataset.gengagePart = "chat-attach-menu", L.setAttribute("role", "menu"), L.setAttribute("hidden", "");
1013
- let R = document.createElement("button");
1014
- R.type = "button", R.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", R.dataset.gengagePart = "chat-attach-menu-select-photo", R.setAttribute("role", "menuitem"), R.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>`, R.addEventListener("click", (e) => {
1011
+ let R = document.createElement("div");
1012
+ this._attachMenuEl = R, R.className = "gengage-chat-attach-menu gds-menu", R.dataset.gengagePart = "chat-attach-menu", R.setAttribute("role", "menu"), R.setAttribute("hidden", "");
1013
+ let z = document.createElement("button");
1014
+ z.type = "button", z.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", z.dataset.gengagePart = "chat-attach-menu-select-photo", z.setAttribute("role", "menuitem"), z.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>`, z.addEventListener("click", (e) => {
1015
1015
  e.stopPropagation(), this._closeAttachMenu(), this._fileInput.click();
1016
1016
  });
1017
- let ie = document.createElement("div");
1018
- ie.className = "gengage-chat-attach-menu-sep", ie.dataset.gengagePart = "chat-attach-menu-separator", ie.setAttribute("aria-hidden", "true");
1019
- let z = document.createElement("button");
1020
- z.type = "button", z.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", z.dataset.gengagePart = "chat-attach-menu-paste", z.setAttribute("role", "menuitem"), z.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>`, z.addEventListener("click", (e) => {
1017
+ let re = document.createElement("div");
1018
+ re.className = "gengage-chat-attach-menu-sep", re.dataset.gengagePart = "chat-attach-menu-separator", re.setAttribute("aria-hidden", "true");
1019
+ let B = document.createElement("button");
1020
+ B.type = "button", B.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", B.dataset.gengagePart = "chat-attach-menu-paste", 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" 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>`, B.addEventListener("click", (e) => {
1021
1021
  e.stopPropagation();
1022
1022
  let t = typeof navigator.clipboard?.read == "function" ? navigator.clipboard.read() : void 0;
1023
1023
  this._pasteImageFromClipboardMenu(t);
1024
- }), L.appendChild(R), L.appendChild(ie), L.appendChild(z), F.appendChild(I), F.appendChild(L), 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";
1025
- let ae = document.createElement("img");
1026
- ae.className = "gengage-chat-attachment-preview-thumb", ae.dataset.gengagePart = "chat-attachment-preview-thumb", ae.alt = "", this._previewName = document.createElement("span"), this._previewName.className = "gengage-chat-attachment-name", this._previewName.dataset.gengagePart = "chat-attachment-preview-name";
1027
- let B = document.createElement("button");
1028
- B.className = "gengage-chat-attachment-remove gds-btn gds-btn-ghost", B.dataset.gengagePart = "chat-attachment-preview-remove", B.type = "button", B.setAttribute("aria-label", this.i18n.removeAttachmentButton), B.textContent = "×", B.addEventListener("click", () => this.clearAttachment()), this._previewStrip.appendChild(ae), this._previewStrip.appendChild(this._previewName), this._previewStrip.appendChild(B), 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", () => {
1024
+ }), R.appendChild(z), R.appendChild(re), R.appendChild(B), I.appendChild(L), I.appendChild(R), 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";
1025
+ let ie = document.createElement("img");
1026
+ ie.className = "gengage-chat-attachment-preview-thumb", ie.dataset.gengagePart = "chat-attachment-preview-thumb", ie.alt = "", this._previewName = document.createElement("span"), this._previewName.className = "gengage-chat-attachment-name", this._previewName.dataset.gengagePart = "chat-attachment-preview-name";
1027
+ let V = document.createElement("button");
1028
+ V.className = "gengage-chat-attachment-remove gds-btn gds-btn-ghost", V.dataset.gengagePart = "chat-attachment-preview-remove", V.type = "button", V.setAttribute("aria-label", this.i18n.removeAttachmentButton), V.textContent = "×", V.addEventListener("click", () => this.clearAttachment()), this._previewStrip.appendChild(ie), this._previewStrip.appendChild(this._previewName), this._previewStrip.appendChild(V), 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", () => {
1029
1029
  if (this._sendStopHandler) {
1030
1030
  let e = this._sendStopHandler;
1031
1031
  this.hideStopButton(), e();
1032
1032
  return;
1033
1033
  }
1034
1034
  this._submit();
1035
- }), P.addEventListener("dragover", (e) => {
1036
- e.preventDefault(), P.classList.add("gengage-chat-input-area--dragover");
1037
- }), P.addEventListener("dragleave", () => {
1038
- P.classList.remove("gengage-chat-input-area--dragover");
1039
- }), P.addEventListener("drop", (e) => {
1040
- e.preventDefault(), P.classList.remove("gengage-chat-input-area--dragover");
1035
+ }), F.addEventListener("dragover", (e) => {
1036
+ e.preventDefault(), F.classList.add("gengage-chat-input-area--dragover");
1037
+ }), F.addEventListener("dragleave", () => {
1038
+ F.classList.remove("gengage-chat-input-area--dragover");
1039
+ }), F.addEventListener("drop", (e) => {
1040
+ e.preventDefault(), F.classList.remove("gengage-chat-input-area--dragover");
1041
1041
  let t = e.dataTransfer?.files[0];
1042
1042
  t && this._routeAttachmentFile(t);
1043
1043
  });
1044
- let V = document.createElement("div");
1045
- V.className = "gengage-chat-input-pill gds-input-shell", V.dataset.gengagePart = "chat-input-shell", V.appendChild(F), V.appendChild(this.inputEl), this._voiceEnabled && Fe() && (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()), V.appendChild(this._micBtn), this._voiceInput = new Le({
1044
+ let H = document.createElement("div");
1045
+ H.className = "gengage-chat-input-pill gds-input-shell", H.dataset.gengagePart = "chat-input-shell", H.appendChild(I), H.appendChild(this.inputEl), this._voiceEnabled && Pe() && (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()), H.appendChild(this._micBtn), this._voiceInput = new Ie({
1046
1046
  onInterim: (e) => {
1047
1047
  this._resizeRafId !== null && (cancelAnimationFrame(this._resizeRafId), this._resizeRafId = null), this.inputEl.value = e, this.inputEl.style.height = "auto", this.inputEl.style.height = `${Math.min(this.inputEl.scrollHeight, 120)}px`;
1048
1048
  },
@@ -1058,13 +1058,13 @@ var Je = class {
1058
1058
  onError: (e, t) => {
1059
1059
  this._micBtn?.classList.remove("gengage-chat-mic-btn--active");
1060
1060
  }
1061
- }, { lang: this._voiceLang })), V.appendChild(this.sendBtn), P.appendChild(this._previewStrip), P.appendChild(this._fileInput), P.appendChild(V), S.appendChild(P), h.appendChild(S), this._comparisonDockSlotEl = document.createElement("div"), this._comparisonDockSlotEl.className = "gengage-chat-comparison-dock-slot", this._comparisonDockSlotEl.dataset.gengagePart = "comparison-dock-slot", h.appendChild(this._comparisonDockSlotEl), this.root.appendChild(h), this._setupHorizontalSwipe(S), this._setupHorizontalSwipe(this._panelEl);
1062
- let H = document.createElement("div");
1063
- H.className = "gengage-chat-footer", H.dataset.gengagePart = "chat-footer", H.textContent = this.i18n.poweredBy, this.root.appendChild(H);
1064
- let oe = (e) => {
1061
+ }, { lang: this._voiceLang })), H.appendChild(this.sendBtn), F.appendChild(this._previewStrip), F.appendChild(this._fileInput), F.appendChild(H), S.appendChild(F), h.appendChild(S), this._comparisonDockSlotEl = document.createElement("div"), this._comparisonDockSlotEl.className = "gengage-chat-comparison-dock-slot", this._comparisonDockSlotEl.dataset.gengagePart = "comparison-dock-slot", h.appendChild(this._comparisonDockSlotEl), this.root.appendChild(h), this._setupHorizontalSwipe(S), this._setupHorizontalSwipe(this._panelEl);
1062
+ let U = document.createElement("div");
1063
+ U.className = "gengage-chat-footer", U.dataset.gengagePart = "chat-footer", U.textContent = this.i18n.poweredBy, this.root.appendChild(U);
1064
+ let ae = (e) => {
1065
1065
  e.key === "Escape" && t.onClose();
1066
1066
  };
1067
- this.root.addEventListener("keydown", oe), this._cleanups.push(() => this.root.removeEventListener("keydown", oe)), e.appendChild(this.root);
1067
+ this.root.addEventListener("keydown", ae), this._cleanups.push(() => this.root.removeEventListener("keydown", ae)), e.appendChild(this.root);
1068
1068
  }
1069
1069
  addMessage(e) {
1070
1070
  let t = document.createElement("div");
@@ -1164,7 +1164,7 @@ var Je = class {
1164
1164
  for (let n of e) {
1165
1165
  let e = document.createElement("button");
1166
1166
  if (e.className = n.image ? "gengage-chat-pill gds-chip gds-chip-active gengage-chat-pill--rich" : "gengage-chat-pill gds-chip gds-chip-active", e.type = "button", n.icon) {
1167
- let t = He[n.icon] ?? "<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>", r = document.createElement("span");
1167
+ let t = Ve[n.icon] ?? "<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>", r = document.createElement("span");
1168
1168
  r.className = "gengage-chat-pill-icon", r.innerHTML = t, e.appendChild(r);
1169
1169
  }
1170
1170
  if (n.image && x(n.image)) {
@@ -1190,7 +1190,7 @@ var Je = class {
1190
1190
  }
1191
1191
  showKvkkBanner(e, t) {
1192
1192
  this._kvkkSlot.innerHTML = "";
1193
- let n = ze({
1193
+ let n = Re({
1194
1194
  htmlContent: e,
1195
1195
  onDismiss: t,
1196
1196
  closeAriaLabel: this.i18n.closeAriaLabel
@@ -1244,7 +1244,7 @@ var Je = class {
1244
1244
  this._attachMenuEl && (this._attachMenuEl.hasAttribute("hidden") ? this._openAttachMenu() : this._closeAttachMenu());
1245
1245
  }
1246
1246
  async _pasteImageFromClipboardMenu(e) {
1247
- let t = await qe(e);
1247
+ let t = await Ke(e);
1248
1248
  if (t) {
1249
1249
  this._routeAttachmentFile(t), this._closeAttachMenu();
1250
1250
  return;
@@ -1569,7 +1569,7 @@ var Je = class {
1569
1569
  return;
1570
1570
  }
1571
1571
  e.index += 1, e.labelEl.textContent = e.steps[e.index], e.index >= e.steps.length - 1 && this._clearLoadingBindingInterval(e);
1572
- }, We));
1572
+ }, Ue));
1573
1573
  }
1574
1574
  _clearLoadingBindingInterval(e) {
1575
1575
  e?.intervalId && (clearInterval(e.intervalId), e.intervalId = null);
@@ -1699,7 +1699,7 @@ var Je = class {
1699
1699
  for (let t of e) {
1700
1700
  let e = document.createElement("button");
1701
1701
  if (e.className = "gengage-chat-input-chip gds-chip", e.type = "button", t.icon) {
1702
- let n = He[t.icon] ?? "<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>", r = document.createElement("span");
1702
+ let n = Ve[t.icon] ?? "<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>", r = document.createElement("span");
1703
1703
  r.className = "gengage-chat-input-chip-icon", r.innerHTML = n, e.appendChild(r);
1704
1704
  }
1705
1705
  let n = document.createElement("span");
@@ -1766,12 +1766,12 @@ var Je = class {
1766
1766
  }, 2500);
1767
1767
  }
1768
1768
  destroy() {
1769
- Oe(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();
1769
+ De(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();
1770
1770
  for (let e of this._cleanups) e();
1771
1771
  this._cleanups.length = 0, this._voiceInput?.destroy(), this._voiceInput = null;
1772
1772
  }
1773
- }, Ye = "<svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"3\" fill=\"currentColor\" opacity=\"0.15\"/>\n <rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"3\" stroke=\"currentColor\" stroke-width=\"1.5\"/>\n <circle cx=\"9\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"15\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <path d=\"M9.5 17C10.3 17.6 11.1 18 12 18C12.9 18 13.7 17.6 14.5 17\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n <path d=\"M12 7V4\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n <circle cx=\"12\" cy=\"3\" r=\"1\" fill=\"currentColor\"/>\n <path d=\"M1 12V14\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n <path d=\"M23 12V14\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n</svg>";
1774
- function Xe(e) {
1773
+ }, Je = "<svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"3\" fill=\"currentColor\" opacity=\"0.15\"/>\n <rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"3\" stroke=\"currentColor\" stroke-width=\"1.5\"/>\n <circle cx=\"9\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"15\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <path d=\"M9.5 17C10.3 17.6 11.1 18 12 18C12.9 18 13.7 17.6 14.5 17\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n <path d=\"M12 7V4\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n <circle cx=\"12\" cy=\"3\" r=\"1\" fill=\"currentColor\"/>\n <path d=\"M1 12V14\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n <path d=\"M23 12V14\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n</svg>";
1774
+ function Ye(e) {
1775
1775
  let t = document.createElement("div");
1776
1776
  t.className = "gengage-chat-launcher-container", t.dataset.gengagePart = "chat-launcher-container";
1777
1777
  let n = document.createElement("div");
@@ -1781,7 +1781,7 @@ function Xe(e) {
1781
1781
  r.className = "gengage-chat-launcher gengage-chat-launcher--image-mode";
1782
1782
  let t = document.createElement("img");
1783
1783
  t.src = e.imageUrl, t.alt = "", t.draggable = !1, r.appendChild(t);
1784
- } else r.className = "gengage-chat-launcher", r.innerHTML = e.svgMarkup ?? Ye;
1784
+ } else r.className = "gengage-chat-launcher", r.innerHTML = e.svgMarkup ?? Je;
1785
1785
  if (r.dataset.gengagePart = "chat-launcher-button", e.tooltip !== void 0) {
1786
1786
  let t = document.createElement("span");
1787
1787
  t.className = "gengage-chat-launcher-tooltip", t.dataset.gengagePart = "chat-launcher-tooltip", t.textContent = e.tooltip, r.appendChild(t);
@@ -1797,7 +1797,7 @@ function Xe(e) {
1797
1797
  }
1798
1798
  //#endregion
1799
1799
  //#region src/common/tts-player.ts
1800
- var Ze = new Set([
1800
+ var Xe = new Set([
1801
1801
  "audio/ogg",
1802
1802
  "audio/mpeg",
1803
1803
  "audio/mp3",
@@ -1805,25 +1805,25 @@ var Ze = new Set([
1805
1805
  "audio/webm",
1806
1806
  "audio/aac",
1807
1807
  "audio/mp4"
1808
- ]), Qe = /* @__PURE__ */ new Set();
1809
- function $e(e) {
1810
- e.pause(), e.removeAttribute("src"), e.load(), Qe.delete(e);
1808
+ ]), Ze = /* @__PURE__ */ new Set();
1809
+ function Qe(e) {
1810
+ e.pause(), e.removeAttribute("src"), e.load(), Ze.delete(e);
1811
1811
  }
1812
- function et(e, t = "audio/ogg") {
1812
+ function $e(e, t = "audio/ogg") {
1813
1813
  let n = t.split(";")[0].trim();
1814
- if (!Ze.has(n)) return null;
1814
+ if (!Xe.has(n)) return null;
1815
1815
  try {
1816
1816
  let n = new Audio(`data:${t};base64,${e}`);
1817
- return Qe.add(n), n.addEventListener("ended", () => $e(n), { once: !0 }), n.play().catch(() => {
1818
- $e(n);
1819
- }), { stop: () => $e(n) };
1817
+ return Ze.add(n), n.addEventListener("ended", () => Qe(n), { once: !0 }), n.play().catch(() => {
1818
+ Qe(n);
1819
+ }), { stop: () => Qe(n) };
1820
1820
  } catch {
1821
1821
  return null;
1822
1822
  }
1823
1823
  }
1824
1824
  //#endregion
1825
1825
  //#region src/chat/components/ComparisonTable.ts
1826
- var tt = {
1826
+ var et = {
1827
1827
  screen_size: "Screen Size",
1828
1828
  weight: "Weight",
1829
1829
  battery_capacity: "Battery Capacity",
@@ -1855,25 +1855,25 @@ var tt = {
1855
1855
  height: "Height",
1856
1856
  depth: "Depth"
1857
1857
  };
1858
- function nt(e, t) {
1859
- return t?.[e] ?? tt[e] ?? e.replace(/_/g, " ").replace(/^\w/, (e) => e.toUpperCase());
1858
+ function tt(e, t) {
1859
+ return t?.[e] ?? et[e] ?? e.replace(/_/g, " ").replace(/^\w/, (e) => e.toUpperCase());
1860
1860
  }
1861
- function rt(e) {
1861
+ function nt(e) {
1862
1862
  if (typeof e != "string") return !1;
1863
1863
  let t = Number(e);
1864
1864
  return Number.isFinite(t) && t > 0;
1865
1865
  }
1866
- function it(e) {
1866
+ function rt(e) {
1867
1867
  let t = typeof e == "number" ? e : typeof e == "string" ? Number(e) : NaN;
1868
1868
  return Number.isFinite(t) && t > 0;
1869
1869
  }
1870
- function at(e) {
1870
+ function it(e) {
1871
1871
  let t = typeof e == "number" ? e : Number(e), n = document.createElement("div");
1872
1872
  n.className = "gengage-chat-comparison-recommended-rating", n.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>";
1873
1873
  let r = document.createElement("span");
1874
1874
  return r.className = "gengage-chat-comparison-recommended-rating-value", r.textContent = t.toFixed(1), n.appendChild(r), n;
1875
1875
  }
1876
- function ot(e) {
1876
+ function at(e) {
1877
1877
  let { recommended: t, products: n, attributes: r, highlights: i, specialCases: a, onProductClick: o, i18n: s } = e, c = document.createElement("div");
1878
1878
  if (c.className = "gengage-chat-comparison", c.dataset.gengagePart = "comparison-dialog", c.setAttribute("role", "dialog"), c.setAttribute("aria-label", s?.comparisonHeading ?? "Comparison Results"), t) {
1879
1879
  let n = document.createElement("article");
@@ -1898,9 +1898,9 @@ function ot(e) {
1898
1898
  let d = document.createElement("div");
1899
1899
  d.className = "gengage-chat-comparison-recommended-title", d.textContent = t.name, u.appendChild(d);
1900
1900
  let f = document.createElement("div");
1901
- if (f.className = "gengage-chat-comparison-recommended-meta", it(t.rating) && f.appendChild(at(t.rating)), rt(t.price)) {
1901
+ if (f.className = "gengage-chat-comparison-recommended-meta", rt(t.rating) && f.appendChild(it(t.rating)), nt(t.price)) {
1902
1902
  let n = document.createElement("div");
1903
- n.className = "gengage-chat-comparison-recommended-price", n.textContent = H(t.price, e.pricing), f.appendChild(n);
1903
+ n.className = "gengage-chat-comparison-recommended-price", n.textContent = U(t.price, e.pricing), f.appendChild(n);
1904
1904
  }
1905
1905
  if (f.childElementCount > 0 && u.appendChild(f), e.recommendedText) {
1906
1906
  let t = document.createElement("p");
@@ -1939,7 +1939,7 @@ function ot(e) {
1939
1939
  let i = document.createElement("span");
1940
1940
  i.className = "gengage-chat-comparison-key-differences-summary-meta", i.textContent = s?.viewMoreLabel ?? "Show More", n.appendChild(r), n.appendChild(i), t.appendChild(n);
1941
1941
  let a = document.createElement("div");
1942
- a.className = "gengage-chat-comparison-key-differences-content", a.innerHTML = C(st(e.keyDifferencesHtml)), t.appendChild(a), c.appendChild(t);
1942
+ a.className = "gengage-chat-comparison-key-differences-content", a.innerHTML = C(ot(e.keyDifferencesHtml)), t.appendChild(a), c.appendChild(t);
1943
1943
  }
1944
1944
  if (a && a.length > 0) {
1945
1945
  let e = document.createElement("details");
@@ -1947,7 +1947,7 @@ function ot(e) {
1947
1947
  let t = document.createElement("summary");
1948
1948
  t.textContent = s?.specialCasesLabel ?? "For Special Cases", e.appendChild(t);
1949
1949
  let n = document.createElement("ul");
1950
- for (let e of a) ct(n, e);
1950
+ for (let e of a) st(n, e);
1951
1951
  n.childElementCount > 0 && e.appendChild(n), c.appendChild(e);
1952
1952
  }
1953
1953
  if (n.length > 0 && r.length > 0) {
@@ -1978,9 +1978,9 @@ function ot(e) {
1978
1978
  e.className = "gengage-chat-comparison-table-header-img-placeholder", e.setAttribute("aria-hidden", "true"), i.appendChild(e);
1979
1979
  }
1980
1980
  let s = document.createElement("div");
1981
- if (s.className = "gengage-chat-comparison-table-product-name", s.textContent = r.name, i.appendChild(s), rt(r.price)) {
1981
+ if (s.className = "gengage-chat-comparison-table-product-name", s.textContent = r.name, i.appendChild(s), nt(r.price)) {
1982
1982
  let t = document.createElement("div");
1983
- t.className = "gengage-chat-comparison-table-price", t.textContent = H(r.price, e.pricing), i.appendChild(t);
1983
+ t.className = "gengage-chat-comparison-table-price", t.textContent = U(r.price, e.pricing), i.appendChild(t);
1984
1984
  }
1985
1985
  n.appendChild(i), l.appendChild(n);
1986
1986
  }
@@ -1988,7 +1988,7 @@ function ot(e) {
1988
1988
  let d = document.createElement("tbody");
1989
1989
  for (let e of r) {
1990
1990
  let r = document.createElement("tr"), i = document.createElement("td");
1991
- i.className = "gengage-chat-comparison-label", i.textContent = nt(e.label, s?.criteriaLabels), r.appendChild(i);
1991
+ i.className = "gengage-chat-comparison-label", i.textContent = tt(e.label, s?.criteriaLabels), r.appendChild(i);
1992
1992
  for (let i = 0; i < e.values.length; i++) {
1993
1993
  let a = document.createElement("td");
1994
1994
  n[i]?.sku === t?.sku && (a.className = "gengage-chat-comparison-selected gds-comparison-table-winner-cell"), a.textContent = e.values[i] ?? "", r.appendChild(a);
@@ -2007,12 +2007,12 @@ function ot(e) {
2007
2007
  e.shiftKey && document.activeElement === n ? (e.preventDefault(), r.focus()) : !e.shiftKey && document.activeElement === r && (e.preventDefault(), n.focus());
2008
2008
  }), c;
2009
2009
  }
2010
- function st(e) {
2010
+ function ot(e) {
2011
2011
  if (/<[uo]l[\s>]/i.test(e) || /<li[\s>]/i.test(e)) return e;
2012
2012
  let t = e.split("\n").filter((e) => e.trim());
2013
2013
  return t.length <= 1 ? e : "<ul>" + t.map((e) => `<li>${e.trim()}</li>`).join("") + "</ul>";
2014
2014
  }
2015
- function ct(e, t) {
2015
+ function st(e, t) {
2016
2016
  let n = C(t);
2017
2017
  if (!n) return;
2018
2018
  let r = document.createElement("template");
@@ -2026,14 +2026,14 @@ function ct(e, t) {
2026
2026
  return;
2027
2027
  }
2028
2028
  let a = document.createElement("li");
2029
- lt(t) ? a.innerHTML = n : a.textContent = t, e.appendChild(a);
2029
+ ct(t) ? a.innerHTML = n : a.textContent = t, e.appendChild(a);
2030
2030
  }
2031
- function lt(e) {
2031
+ function ct(e) {
2032
2032
  return /<\/?[a-z][\s\S]*>/i.test(e);
2033
2033
  }
2034
2034
  //#endregion
2035
2035
  //#region src/chat/utils/ui.ts
2036
- function ut(e, t = 18) {
2036
+ function lt(e, t = 18) {
2037
2037
  let n = "http://www.w3.org/2000/svg", r = document.createElementNS(n, "svg");
2038
2038
  r.setAttribute("width", String(t)), r.setAttribute("height", String(t)), r.setAttribute("viewBox", "0 0 24 24"), r.setAttribute("fill", "none"), r.setAttribute("stroke", "currentColor"), r.setAttribute("stroke-width", "2"), r.setAttribute("stroke-linecap", "round"), r.setAttribute("stroke-linejoin", "round"), r.setAttribute("aria-hidden", "true");
2039
2039
  for (let t of e) {
@@ -2044,30 +2044,30 @@ function ut(e, t = 18) {
2044
2044
  }
2045
2045
  //#endregion
2046
2046
  //#region src/chat/components/ReviewHighlights.ts
2047
- var dt = "General", ft = 220, pt = 6;
2048
- function mt(e) {
2049
- if (typeof e != "string") return [dt];
2047
+ var ut = "General", dt = 220, ft = 6;
2048
+ function pt(e) {
2049
+ if (typeof e != "string") return [ut];
2050
2050
  let t = e.split(/[,;|/]+/).map((e) => e.trim().replace(/\s+/g, " ")).filter((e) => e.length > 0);
2051
- return t.length === 0 ? [dt] : Array.from(new Set(t.map((e) => e.toLocaleLowerCase()))).map((e) => t.find((t) => t.toLocaleLowerCase() === e) ?? dt);
2051
+ return t.length === 0 ? [ut] : Array.from(new Set(t.map((e) => e.toLocaleLowerCase()))).map((e) => t.find((t) => t.toLocaleLowerCase() === e) ?? ut);
2052
2052
  }
2053
- function ht(e) {
2053
+ function mt(e) {
2054
2054
  return e === "positive" || e === "negative" || e === "neutral" ? e : "neutral";
2055
2055
  }
2056
- function gt(e) {
2056
+ function ht(e) {
2057
2057
  if (typeof e != "string") return "";
2058
2058
  let t = e.trim().replace(/\s+/g, " ");
2059
- return t.length <= ft ? t : `${t.slice(0, ft - 3).trimEnd()}...`;
2059
+ return t.length <= dt ? t : `${t.slice(0, dt - 3).trimEnd()}...`;
2060
2060
  }
2061
- function _t(e) {
2061
+ function gt(e) {
2062
2062
  return e.positive > e.negative ? "positive" : e.negative > e.positive ? "negative" : "neutral";
2063
2063
  }
2064
- function vt(e) {
2065
- return ut(e === "positive" ? ["M7 17 17 7", "M7 7h10v10"] : e === "negative" ? ["M7 7 17 17", "M17 7v10H7"] : ["M5 12h14"], 14);
2064
+ function _t(e) {
2065
+ return lt(e === "positive" ? ["M7 17 17 7", "M7 7h10v10"] : e === "negative" ? ["M7 7 17 17", "M17 7v10H7"] : ["M5 12h14"], 14);
2066
2066
  }
2067
- function yt(e, t = "1 customer mentions", n = "customers mention") {
2067
+ function vt(e, t = "1 customer mentions", n = "customers mention") {
2068
2068
  return e === 1 ? t : `${e} ${n}`;
2069
2069
  }
2070
- function bt(e, t) {
2070
+ function yt(e, t) {
2071
2071
  let n = document.createElement("div");
2072
2072
  n.className = "gengage-chat-review-highlights";
2073
2073
  let r = e.props?.reviews;
@@ -2077,7 +2077,7 @@ function bt(e, t) {
2077
2077
  }
2078
2078
  let i = r.filter((e) => typeof e == "object" && !!e), a = /* @__PURE__ */ new Map();
2079
2079
  for (let e of i) {
2080
- let t = ht(e.review_class), n = gt(e.review_text), r = mt(e.review_tag);
2080
+ let t = mt(e.review_class), n = ht(e.review_text), r = pt(e.review_tag);
2081
2081
  for (let i of r) {
2082
2082
  let r = i.toLocaleLowerCase(), o = a.get(r);
2083
2083
  if (o || (o = {
@@ -2088,7 +2088,7 @@ function bt(e, t) {
2088
2088
  negative: 0,
2089
2089
  neutral: 0,
2090
2090
  snippets: []
2091
- }, a.set(r, o)), o.mentions += 1, t === "positive" ? o.positive += 1 : t === "negative" ? o.negative += 1 : o.neutral += 1, n.length > 0 && o.snippets.length < pt && !o.snippets.some((e) => e.text === n)) {
2091
+ }, a.set(r, o)), o.mentions += 1, t === "positive" ? o.positive += 1 : t === "negative" ? o.negative += 1 : o.neutral += 1, n.length > 0 && o.snippets.length < ft && !o.snippets.some((e) => e.text === n)) {
2092
2092
  let r = {
2093
2093
  text: n,
2094
2094
  tone: t
@@ -2116,7 +2116,7 @@ function bt(e, t) {
2116
2116
  let n = document.createElement("div");
2117
2117
  n.className = "gengage-chat-review-detail-meta";
2118
2118
  let r = document.createElement("span");
2119
- if (r.className = "gengage-chat-review-detail-mentions", r.textContent = `${yt(e.mentions, t?.reviewCustomersMentionSingular, t?.reviewCustomersMentionPlural)} "${e.label}"`, n.appendChild(r), e.positive > 0) {
2119
+ if (r.className = "gengage-chat-review-detail-mentions", r.textContent = `${vt(e.mentions, t?.reviewCustomersMentionSingular, t?.reviewCustomersMentionPlural)} "${e.label}"`, n.appendChild(r), e.positive > 0) {
2120
2120
  let t = document.createElement("span");
2121
2121
  t.className = "gengage-chat-review-detail-positive", t.textContent = `${e.positive} ${s}`, n.appendChild(t);
2122
2122
  }
@@ -2145,10 +2145,10 @@ function bt(e, t) {
2145
2145
  }
2146
2146
  };
2147
2147
  for (let e of o) {
2148
- let t = _t(e), n = document.createElement("button");
2148
+ let t = gt(e), n = document.createElement("button");
2149
2149
  n.type = "button", n.className = "gengage-chat-review-subject gds-chip", n.dataset.subjectKey = e.key, n.dataset.tone = t;
2150
2150
  let r = document.createElement("span");
2151
- r.className = "gengage-chat-review-subject-icon", r.appendChild(vt(t)), n.appendChild(r);
2151
+ r.className = "gengage-chat-review-subject-icon", r.appendChild(_t(t)), n.appendChild(r);
2152
2152
  let i = document.createElement("span");
2153
2153
  i.className = "gengage-chat-review-subject-label", i.textContent = e.label, n.appendChild(i);
2154
2154
  let a = document.createElement("span");
@@ -2159,24 +2159,80 @@ function bt(e, t) {
2159
2159
  return n.appendChild(d), m(), p(), n.appendChild(f), n;
2160
2160
  }
2161
2161
  //#endregion
2162
+ //#region src/chat/components/product-price-layout.ts
2163
+ function bt(e) {
2164
+ if (!e) return;
2165
+ let t = e.discountReason ?? e.discount_reason ?? e.campaignReason ?? e.campaign_reason;
2166
+ if (typeof t != "string") return;
2167
+ let n = t.trim();
2168
+ return n.length > 0 ? n : void 0;
2169
+ }
2170
+ function xt(e, t) {
2171
+ if (e.productPriceUi?.showCampaignReason === !0) return bt(t);
2172
+ }
2173
+ function St(e, t) {
2174
+ let n = t?.originalPriceStyle ?? t?.price_original_style;
2175
+ if (n === "inline" || n === "strikethrough") return n;
2176
+ let r = e.productPriceUi?.originalPriceStyle;
2177
+ return r === "inline" || r === "strikethrough" ? r : "strikethrough";
2178
+ }
2179
+ function Ct(e) {
2180
+ let t = document.createElement("div");
2181
+ return t.className = "gengage-chat-campaign-reason", t.textContent = e, t;
2182
+ }
2183
+ function wt(e, t) {
2184
+ for (let e of [
2185
+ "campaignReasonLogoUrl",
2186
+ "campaign_reason_logo_url",
2187
+ "discountBadgeLogoUrl",
2188
+ "discount_badge_logo_url"
2189
+ ]) {
2190
+ let n = t?.[e];
2191
+ if (typeof n == "string" && n.trim()) {
2192
+ let e = n.trim();
2193
+ if (x(e)) return e;
2194
+ }
2195
+ }
2196
+ let n = e.productPriceUi?.campaignBadgeLogoUrl;
2197
+ if (typeof n == "string" && n.trim()) {
2198
+ let e = n.trim();
2199
+ if (x(e)) return e;
2200
+ }
2201
+ }
2202
+ function Tt(e) {
2203
+ let t = document.createElement("div");
2204
+ if (t.className = "gengage-chat-campaign-price-badge", t.dataset.gengagePart = "campaign-price-badge", e.logoUrl) {
2205
+ let n = document.createElement("div");
2206
+ n.className = "gengage-chat-campaign-price-badge__logo";
2207
+ let r = document.createElement("img");
2208
+ r.alt = "", r.loading = "lazy", r.src = e.logoUrl, W(r), n.appendChild(r), t.appendChild(n);
2209
+ }
2210
+ let n = document.createElement("div");
2211
+ n.className = "gengage-chat-campaign-price-badge__body";
2212
+ let r = document.createElement("div");
2213
+ r.className = "gengage-chat-campaign-price-badge__reason", r.textContent = e.reasonText;
2214
+ let i = document.createElement("span");
2215
+ return i.className = "gengage-chat-campaign-price-badge__sale", i.textContent = e.salePriceFormatted, n.appendChild(r), n.appendChild(i), t.appendChild(n), t;
2216
+ }
2217
+ //#endregion
2162
2218
  //#region src/chat/components/AITopPicks.ts
2163
- function xt(e) {
2219
+ function Et(e) {
2164
2220
  let t = e.product.sku;
2165
2221
  if (typeof t == "string" && t.length > 0) return t;
2166
2222
  let n = e.action?.payload;
2167
2223
  return n && typeof n == "object" && "sku" in n && typeof n.sku == "string" ? n.sku : null;
2168
2224
  }
2169
- var St = {
2225
+ var Dt = {
2170
2226
  winner: "roleWinner",
2171
2227
  best_value: "roleBestValue",
2172
2228
  best_alternative: "roleBestAlternative"
2173
2229
  };
2174
- function Ct(e, t) {
2230
+ function Ot(e, t) {
2175
2231
  if (!e || !t) return null;
2176
- let n = St[e];
2232
+ let n = Dt[e];
2177
2233
  return n ? t[n] ?? e : e;
2178
2234
  }
2179
- function wt(e) {
2235
+ function kt(e) {
2180
2236
  let t = e.rating, n = typeof t == "number" ? t : typeof t == "string" ? parseFloat(t) : NaN;
2181
2237
  if (Number.isNaN(n) || n <= 0) return null;
2182
2238
  let r = document.createElement("div");
@@ -2186,15 +2242,15 @@ function wt(e) {
2186
2242
  let a = document.createElement("span");
2187
2243
  return a.className = "gengage-chat-ai-toppick-rating-value", a.textContent = n.toFixed(1), r.appendChild(i), r.appendChild(a), r;
2188
2244
  }
2189
- function Tt(e, t, n, r, i) {
2245
+ function At(e, t, n, r, i) {
2190
2246
  let a = document.createElement("div");
2191
2247
  a.className = "gengage-chat-ai-toppick-media", a.dataset.gengagePart = "ai-top-pick-media";
2192
2248
  let o = e.product, s = o.imageUrl;
2193
2249
  if (s && x(s)) {
2194
2250
  let e = document.createElement("img");
2195
- e.className = "gengage-chat-ai-toppick-img", e.dataset.gengagePart = "ai-top-pick-image", h(e, "src", s), e.loading = "lazy", e.alt = t, U(e), a.appendChild(e);
2251
+ e.className = "gengage-chat-ai-toppick-img", e.dataset.gengagePart = "ai-top-pick-image", h(e, "src", s), e.loading = "lazy", e.alt = t, W(e), a.appendChild(e);
2196
2252
  }
2197
- let c = xt(e);
2253
+ let c = Et(e);
2198
2254
  if (c && !i?.skipOverlayActions) {
2199
2255
  let e = document.createElement("div");
2200
2256
  if (e.className = "gengage-chat-product-card-img-actions", r.onFavoriteToggle) {
@@ -2221,18 +2277,52 @@ function Tt(e, t, n, r, i) {
2221
2277
  }
2222
2278
  n.appendChild(a);
2223
2279
  }
2224
- function Et(e, t, n) {
2280
+ function jt(e, t, n) {
2225
2281
  let r = e.price, i = e.originalPrice;
2226
2282
  if (!r) return;
2227
- let a = document.createElement("div");
2228
- if (a.className = "gengage-chat-ai-toppick-price", a.dataset.gengagePart = "ai-top-pick-price", i && i !== r) {
2283
+ let a = xt(n, e), o = St(n, e), s = !!(i && i !== r), c = !!(a && s), l = wt(n, e), u = document.createElement("div");
2284
+ if (u.className = "gengage-chat-ai-toppick-price", u.dataset.gengagePart = "ai-top-pick-price", c) {
2285
+ let e = Tt({
2286
+ reasonText: a,
2287
+ salePriceFormatted: U(r, n.pricing),
2288
+ ...l === void 0 ? {} : { logoUrl: l }
2289
+ });
2290
+ if (s && o === "inline") {
2291
+ u.classList.add("gengage-chat-ai-toppick-price--inline"), u.appendChild(e);
2292
+ let t = document.createElement("span");
2293
+ t.className = "gengage-chat-ai-toppick-price-sep", t.setAttribute("aria-hidden", "true");
2294
+ let r = document.createElement("span");
2295
+ r.className = "gengage-chat-ai-toppick-original-price", r.textContent = U(i, n.pricing), u.appendChild(t), u.appendChild(r);
2296
+ } else {
2297
+ let t = document.createElement("span");
2298
+ t.className = "gengage-chat-ai-toppick-original-price", t.textContent = U(i, n.pricing), u.appendChild(t), u.appendChild(document.createTextNode(" ")), u.appendChild(e);
2299
+ }
2300
+ t.appendChild(u);
2301
+ return;
2302
+ }
2303
+ if (s && o === "inline") {
2304
+ u.classList.add("gengage-chat-ai-toppick-price--inline");
2229
2305
  let e = document.createElement("span");
2230
- e.className = "gengage-chat-ai-toppick-original-price", e.textContent = H(i, n.pricing), a.appendChild(e), a.appendChild(document.createTextNode(" "));
2306
+ e.className = "gengage-chat-ai-toppick-price-current", e.textContent = U(r, n.pricing);
2307
+ let t = document.createElement("span");
2308
+ t.className = "gengage-chat-ai-toppick-price-sep", t.setAttribute("aria-hidden", "true");
2309
+ let a = document.createElement("span");
2310
+ a.className = "gengage-chat-ai-toppick-original-price", a.textContent = U(i, n.pricing), u.appendChild(e), u.appendChild(t), u.appendChild(a);
2311
+ } else if (s) {
2312
+ let e = document.createElement("span");
2313
+ e.className = "gengage-chat-ai-toppick-original-price", e.textContent = U(i, n.pricing), u.appendChild(e), u.appendChild(document.createTextNode(" "));
2314
+ let t = document.createElement("span");
2315
+ t.className = "gengage-chat-ai-toppick-price-current", t.textContent = U(r, n.pricing), u.appendChild(t);
2316
+ } else {
2317
+ let e = document.createElement("span");
2318
+ e.className = "gengage-chat-ai-toppick-price-current", e.textContent = U(r, n.pricing), u.appendChild(e);
2231
2319
  }
2232
- let o = document.createElement("span");
2233
- o.textContent = H(r, n.pricing), a.appendChild(o), t.appendChild(a);
2320
+ if (a) {
2321
+ let e = document.createElement("div");
2322
+ e.className = "gengage-chat-ai-toppick-price-stack", e.appendChild(Ct(a)), e.appendChild(u), t.appendChild(e);
2323
+ } else t.appendChild(u);
2234
2324
  }
2235
- function Dt(e, t) {
2325
+ function Mt(e, t) {
2236
2326
  let n = typeof e.reason == "string" ? e.reason.trim() : "", r = typeof e.reviewHighlight == "string" ? e.reviewHighlight.trim() : "";
2237
2327
  if (!(!n && !r)) {
2238
2328
  if (n) {
@@ -2245,10 +2335,10 @@ function Dt(e, t) {
2245
2335
  }
2246
2336
  }
2247
2337
  }
2248
- function Ot(e, t, n) {
2338
+ function Nt(e, t, n) {
2249
2339
  let r = document.createElement("div");
2250
2340
  r.className = n ? "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", r.dataset.gengagePart = n ? "ai-top-pick-card-winner" : "ai-top-pick-card";
2251
- let i = e.product, a = xt(e), o = i.url ?? "", s = i.cartCode, c = i.inStock, l = !!(a && s && c !== !1), u = e.action;
2341
+ let i = e.product, a = Et(e), o = i.url ?? "", s = i.cartCode, c = i.inStock, l = !!(a && s && c !== !1), u = e.action;
2252
2342
  a && t.onProductClick ? (r.classList.add("gds-clickable"), r.addEventListener("click", (e) => {
2253
2343
  e.target.closest(".gengage-chat-ai-toppick-cta") || e.target.closest(".gengage-chat-favorite-btn") || e.target.closest(".gengage-chat-find-similar-pill") || t.onProductClick?.({
2254
2344
  sku: a,
@@ -2257,13 +2347,13 @@ function Ot(e, t, n) {
2257
2347
  })) : u && (r.classList.add("gds-clickable"), r.addEventListener("click", (e) => {
2258
2348
  e.target.closest(".gengage-chat-ai-toppick-cta") || e.target.closest(".gengage-chat-favorite-btn") || e.target.closest(".gengage-chat-find-similar-pill") || t.onAction(u);
2259
2349
  }));
2260
- let d = i.name || "Product image", f = !n && t.isMobile === !0, p = n ? Ct(e.role, t.i18n) ?? t.i18n?.roleWinner ?? "TOP MATCH" : Ct(e.role, t.i18n);
2350
+ let d = i.name || "Product image", f = !n && t.isMobile === !0, p = n ? Ot(e.role, t.i18n) ?? t.i18n?.roleWinner ?? "TOP MATCH" : Ot(e.role, t.i18n);
2261
2351
  if (p && !f) {
2262
2352
  let e = document.createElement("span");
2263
2353
  e.className = "gengage-chat-ai-toppick-badge gds-badge", e.dataset.gengagePart = "ai-top-pick-role-badge", e.textContent = p, r.appendChild(e);
2264
2354
  }
2265
2355
  let m = document.createElement("div");
2266
- m.className = "gengage-chat-ai-toppick-top-row", m.dataset.gengagePart = "ai-top-pick-top-row", Tt(e, d, m, t, { skipOverlayActions: f });
2356
+ m.className = "gengage-chat-ai-toppick-top-row", m.dataset.gengagePart = "ai-top-pick-top-row", At(e, d, m, t, { skipOverlayActions: f });
2267
2357
  let h = document.createElement("div");
2268
2358
  if (h.className = "gengage-chat-ai-toppick-body", h.dataset.gengagePart = "ai-top-pick-body", p && f) {
2269
2359
  let e = document.createElement("div");
@@ -2274,10 +2364,10 @@ function Ot(e, t, n) {
2274
2364
  let e = document.createElement("div");
2275
2365
  e.className = "gengage-chat-ai-toppick-name", e.dataset.gengagePart = "ai-top-pick-name", e.textContent = g, h.appendChild(e);
2276
2366
  }
2277
- let _ = wt(i);
2278
- _ && h.appendChild(_), Et(i, h, t), e.labels && e.labels.length > 0 && h.appendChild(At(e.labels)), m.appendChild(h), r.appendChild(m);
2367
+ let _ = kt(i);
2368
+ _ && h.appendChild(_), jt(i, h, t), e.labels && e.labels.length > 0 && h.appendChild(Ft(e.labels)), m.appendChild(h), r.appendChild(m);
2279
2369
  let v = document.createElement("div");
2280
- if (v.className = "gengage-chat-ai-toppick-detail", v.dataset.gengagePart = "ai-top-pick-detail", n) Dt(e, v);
2370
+ if (v.className = "gengage-chat-ai-toppick-detail", v.dataset.gengagePart = "ai-top-pick-detail", n) Mt(e, v);
2281
2371
  else {
2282
2372
  let t = typeof e.reason == "string" ? e.reason.trim() : "";
2283
2373
  if (t) {
@@ -2319,7 +2409,7 @@ function Ot(e, t, n) {
2319
2409
  }
2320
2410
  return r;
2321
2411
  }
2322
- function kt(e, t) {
2412
+ function Pt(e, t) {
2323
2413
  let n = document.createElement("div");
2324
2414
  n.className = "gengage-chat-ai-top-picks", n.dataset.gengagePart = "ai-top-picks";
2325
2415
  let r = e.props?.suggestions ?? [];
@@ -2329,18 +2419,18 @@ function kt(e, t) {
2329
2419
  let a = document.createElement("div");
2330
2420
  a.className = "gengage-chat-ai-top-picks-scroll", a.dataset.gengagePart = "ai-top-picks-scroll";
2331
2421
  let o = r[0];
2332
- if (a.appendChild(Ot(o, t, !0)), r.length > 1) {
2422
+ if (a.appendChild(Nt(o, t, !0)), r.length > 1) {
2333
2423
  let e = document.createElement("div");
2334
2424
  e.className = "gengage-chat-ai-top-picks-rest", e.dataset.gengagePart = "ai-top-picks-rest";
2335
2425
  for (let n = 1; n < r.length; n++) {
2336
2426
  let i = r[n], a = i.role === "winner";
2337
- e.appendChild(Ot(i, t, a));
2427
+ e.appendChild(Nt(i, t, a));
2338
2428
  }
2339
2429
  a.appendChild(e);
2340
2430
  }
2341
2431
  return n.appendChild(a), n;
2342
2432
  }
2343
- function At(e) {
2433
+ function Ft(e) {
2344
2434
  let t = document.createElement("div");
2345
2435
  t.className = "gengage-chat-ai-toppick-labels", t.dataset.gengagePart = "ai-top-pick-labels";
2346
2436
  for (let n of e) {
@@ -2351,11 +2441,11 @@ function At(e) {
2351
2441
  }
2352
2442
  //#endregion
2353
2443
  //#region src/chat/components/GroundingReviewCard.ts
2354
- function jt(e, t) {
2444
+ function It(e, t) {
2355
2445
  let n = document.createElement("div");
2356
2446
  n.className = "gengage-chat-grounding-review gds-evidence-card", n.dataset.gengagePart = "grounding-review-card";
2357
2447
  let r = e.props ?? {}, i = r.title, a = r.reviewCount, o = r.action, s = t.i18n?.groundingReviewCta ?? "Read Reviews", c = document.createElement("span");
2358
- c.className = "gengage-chat-grounding-review-icon", c.appendChild(ut([
2448
+ c.className = "gengage-chat-grounding-review-icon", c.appendChild(lt([
2359
2449
  "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",
2360
2450
  "M8 9h8",
2361
2451
  "M8 13h6"
@@ -2373,13 +2463,13 @@ function jt(e, t) {
2373
2463
  let f = document.createElement("span");
2374
2464
  f.textContent = s, d.appendChild(f);
2375
2465
  let p = document.createElement("span");
2376
- return p.className = "gengage-chat-grounding-review-cta-icon", p.appendChild(ut(["M5 12h14", "M15 8l4 4-4 4"], 14)), d.appendChild(p), n.appendChild(d), o && (n.classList.add("gds-clickable"), n.setAttribute("role", "button"), n.setAttribute("tabindex", "0"), n.addEventListener("click", () => t.onAction(o)), n.addEventListener("keydown", (e) => {
2466
+ return p.className = "gengage-chat-grounding-review-cta-icon", p.appendChild(lt(["M5 12h14", "M15 8l4 4-4 4"], 14)), d.appendChild(p), n.appendChild(d), o && (n.classList.add("gds-clickable"), n.setAttribute("role", "button"), n.setAttribute("tabindex", "0"), n.addEventListener("click", () => t.onAction(o)), n.addEventListener("keydown", (e) => {
2377
2467
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), t.onAction(o));
2378
2468
  })), n;
2379
2469
  }
2380
2470
  //#endregion
2381
2471
  //#region src/chat/components/AIGroupingCards.ts
2382
- function Mt(e) {
2472
+ function Lt(e) {
2383
2473
  if (e.action.type !== "findSimilar") return e.action;
2384
2474
  let t = e.action.payload && typeof e.action.payload == "object" ? e.action.payload : null, n = typeof t?.input == "string" && t.input.trim() || typeof t?.text == "string" && t.text.trim() || e.name.trim();
2385
2475
  if (!n) return e.action;
@@ -2397,7 +2487,7 @@ function Mt(e) {
2397
2487
  payload: r
2398
2488
  };
2399
2489
  }
2400
- function Nt(e, t) {
2490
+ function Rt(e, t) {
2401
2491
  let n = document.createElement("div");
2402
2492
  n.className = "gengage-chat-grouping-cards", n.dataset.gengagePart = "ai-grouping-cards";
2403
2493
  let r = e.props?.entries ?? [];
@@ -2411,7 +2501,7 @@ function Nt(e, t) {
2411
2501
  o.className = "gengage-chat-grouping-cards-scroll", o.dataset.gengagePart = "ai-grouping-cards-scroll";
2412
2502
  for (let e of r) {
2413
2503
  let n = document.createElement("div");
2414
- if (n.className = "gengage-chat-grouping-card gds-card", n.dataset.gengagePart = "ai-grouping-card", n.classList.add("gds-clickable"), n.addEventListener("click", () => t.onAction(Mt(e))), e.image && x(e.image)) {
2504
+ if (n.className = "gengage-chat-grouping-card gds-card", n.dataset.gengagePart = "ai-grouping-card", n.classList.add("gds-clickable"), n.addEventListener("click", () => t.onAction(Lt(e))), e.image && x(e.image)) {
2415
2505
  let t = document.createElement("img");
2416
2506
  t.className = "gengage-chat-grouping-card-img", t.dataset.gengagePart = "ai-grouping-card-image", t.src = e.image, t.alt = e.name, t.width = 64, t.height = 64, n.appendChild(t);
2417
2507
  }
@@ -2435,7 +2525,7 @@ function Nt(e, t) {
2435
2525
  }
2436
2526
  //#endregion
2437
2527
  //#region src/chat/components/AISuggestedSearchCards.ts
2438
- function Pt(e, t) {
2528
+ function zt(e, t) {
2439
2529
  let n = document.createElement("div");
2440
2530
  n.className = "gengage-chat-suggested-search-cards", n.dataset.gengagePart = "ai-suggested-search-cards";
2441
2531
  let r = e.props?.entries ?? [];
@@ -2455,7 +2545,7 @@ function Pt(e, t) {
2455
2545
  }
2456
2546
  //#endregion
2457
2547
  //#region src/chat/components/FloatingComparisonButton.ts
2458
- function Ft(e, t) {
2548
+ function Bt(e, t) {
2459
2549
  let n = e.length >= 2, r = t.i18n?.compareSelected ?? "Compare", i = t.comparisonSelectionWarning, a = document.createElement("div");
2460
2550
  a.className = "gengage-chat-comparison-floating-btn", a.dataset.gengagePart = "comparison-dock";
2461
2551
  let o = document.createElement("div");
@@ -2487,7 +2577,7 @@ function Ft(e, t) {
2487
2577
  }
2488
2578
  //#endregion
2489
2579
  //#region src/chat/components/ProsAndCons.ts
2490
- function It(e) {
2580
+ function Vt(e) {
2491
2581
  let t = document.createElement("div");
2492
2582
  t.className = "gengage-chat-pros-cons gds-card-soft", t.dataset.gengagePart = "pros-cons";
2493
2583
  let n = e.props?.productName;
@@ -2526,7 +2616,7 @@ function It(e) {
2526
2616
  }
2527
2617
  //#endregion
2528
2618
  //#region src/chat/components/CategoriesContainer.ts
2529
- function Lt(e, t) {
2619
+ function Ht(e, t) {
2530
2620
  let n = e.props?.groups ?? [], r = e.props?.filterTags ?? [], i = document.createElement("div");
2531
2621
  if (i.className = "gengage-chat-categories", i.dataset.gengagePart = "categories-container", n.length === 0) return i;
2532
2622
  let a = document.createElement("div");
@@ -2546,7 +2636,7 @@ function Lt(e, t) {
2546
2636
  let d = document.createElement("div");
2547
2637
  d.className = "gengage-chat-categories-grid", d.dataset.gengagePart = "categories-panel", d.id = l, d.setAttribute("role", "tabpanel"), d.setAttribute("aria-labelledby", i), e !== 0 && (d.style.display = "none");
2548
2638
  for (let e of r.products) {
2549
- let n = Rt(e, t);
2639
+ let n = Ut(e, t);
2550
2640
  d.appendChild(n);
2551
2641
  }
2552
2642
  s.push(d);
@@ -2566,18 +2656,18 @@ function Lt(e, t) {
2566
2656
  }
2567
2657
  return i;
2568
2658
  }
2569
- function Rt(e, t) {
2659
+ function Ut(e, t) {
2570
2660
  let n = document.createElement("div");
2571
2661
  if (n.className = "gengage-chat-product-card gds-card gds-product-card gds-card-interactive", n.dataset.gengagePart = "categories-product-card", e.imageUrl && x(e.imageUrl)) {
2572
2662
  let t = document.createElement("img");
2573
- t.className = "gengage-chat-product-card-img", t.src = e.imageUrl, t.alt = e.name, t.loading = "lazy", U(t), n.appendChild(t);
2663
+ t.className = "gengage-chat-product-card-img", t.src = e.imageUrl, t.alt = e.name, t.loading = "lazy", W(t), n.appendChild(t);
2574
2664
  }
2575
2665
  let r = document.createElement("div");
2576
2666
  r.className = "gengage-chat-product-card-body";
2577
2667
  let i = document.createElement("div");
2578
2668
  if (i.className = "gengage-chat-product-card-name", i.textContent = e.name, r.appendChild(i), e.price) {
2579
2669
  let n = document.createElement("div");
2580
- n.className = "gengage-chat-product-card-price", n.textContent = H(e.price, t.pricing), r.appendChild(n);
2670
+ n.className = "gengage-chat-product-card-price", n.textContent = U(e.price, t.pricing), r.appendChild(n);
2581
2671
  }
2582
2672
  return n.appendChild(r), (t.onProductSelect || t.onAction) && (n.classList.add("gds-clickable"), n.addEventListener("click", () => {
2583
2673
  if (e.sku) {
@@ -2593,7 +2683,7 @@ function Rt(e, t) {
2593
2683
  }
2594
2684
  //#endregion
2595
2685
  //#region src/chat/components/HandoffNotice.ts
2596
- function zt(e, t) {
2686
+ function Wt(e, t) {
2597
2687
  let n = document.createElement("div");
2598
2688
  n.className = "gengage-chat-handoff-notice gds-evidence-card gds-evidence-card-warning", n.dataset.gengagePart = "handoff-notice", n.setAttribute("role", "alert");
2599
2689
  let r = document.createElement("span");
@@ -2609,18 +2699,18 @@ function zt(e, t) {
2609
2699
  }
2610
2700
  //#endregion
2611
2701
  //#region src/chat/components/ProductSummaryCard.ts
2612
- function Bt(e, t) {
2702
+ function Gt(e, t) {
2613
2703
  let n = e.props?.product ?? e.props, r = document.createElement("div");
2614
2704
  if (r.className = "gengage-chat-product-summary gds-card", r.dataset.gengagePart = "product-summary-card", !n) return r;
2615
2705
  r.classList.add("gds-clickable"), r.addEventListener("click", (e) => {
2616
2706
  e.target.closest("a") || t.onProductSelect?.(n);
2617
2707
  });
2618
2708
  let i = n.imageUrl;
2619
- if (i && V(i)) {
2709
+ if (i && H(i)) {
2620
2710
  let e = document.createElement("div");
2621
2711
  e.className = "gengage-chat-product-summary__image", e.dataset.gengagePart = "product-summary-image";
2622
2712
  let t = document.createElement("img");
2623
- t.loading = "lazy", h(t, "src", i), t.alt = n.name || "Product image", U(t), e.appendChild(t), r.appendChild(e);
2713
+ t.loading = "lazy", h(t, "src", i), t.alt = n.name || "Product image", W(t), e.appendChild(t), r.appendChild(e);
2624
2714
  }
2625
2715
  let a = document.createElement("div");
2626
2716
  a.className = "gengage-chat-product-summary__content", a.dataset.gengagePart = "product-summary-content";
@@ -2634,7 +2724,7 @@ function Bt(e, t) {
2634
2724
  let c = n.rating, l = n.reviewCount;
2635
2725
  if (typeof c == "number" && Number.isFinite(c) && c > 0) {
2636
2726
  let e = document.createElement("div");
2637
- if (e.className = "gengage-chat-product-summary__rating", e.dataset.gengagePart = "product-summary-rating", e.appendChild(oe(c)), typeof l == "number" && Number.isFinite(l)) {
2727
+ if (e.className = "gengage-chat-product-summary__rating", e.dataset.gengagePart = "product-summary-rating", e.appendChild(ae(c)), typeof l == "number" && Number.isFinite(l)) {
2638
2728
  let t = document.createElement("span");
2639
2729
  t.className = "gengage-chat-product-summary__review-count", t.textContent = ` (${l})`, e.appendChild(t);
2640
2730
  }
@@ -2642,17 +2732,53 @@ function Bt(e, t) {
2642
2732
  }
2643
2733
  let u = n.price, d = n.originalPrice;
2644
2734
  if (u) {
2645
- let e = document.createElement("div");
2646
- if (e.className = "gengage-chat-product-summary__price", e.dataset.gengagePart = "product-summary-price", d && d !== u) {
2647
- let n = document.createElement("span");
2648
- n.className = "gengage-chat-product-summary__price-original", n.textContent = H(d, t.pricing), e.appendChild(n), e.appendChild(document.createTextNode(" "));
2735
+ let e = xt(t, n), r = St(t, n), i = !!(d && d !== u), o = document.createElement("div");
2736
+ o.className = "gengage-chat-product-summary__price", o.dataset.gengagePart = "product-summary-price";
2737
+ let s = !!(e && i), c = wt(t, n);
2738
+ if (s) {
2739
+ let n = Tt({
2740
+ reasonText: e,
2741
+ salePriceFormatted: U(u, t.pricing),
2742
+ ...c === void 0 ? {} : { logoUrl: c }
2743
+ });
2744
+ if (i && r === "inline") {
2745
+ o.classList.add("gengage-chat-product-summary__price--inline"), o.appendChild(n);
2746
+ let e = document.createElement("span");
2747
+ e.className = "gengage-chat-product-summary__price-sep", e.setAttribute("aria-hidden", "true");
2748
+ let r = document.createElement("span");
2749
+ r.className = "gengage-chat-product-summary__price-original", r.textContent = U(d, t.pricing), o.appendChild(e), o.appendChild(r);
2750
+ } else {
2751
+ let e = document.createElement("span");
2752
+ e.className = "gengage-chat-product-summary__price-original", e.textContent = U(d, t.pricing), o.appendChild(e), o.appendChild(document.createTextNode(" ")), o.appendChild(n);
2753
+ }
2754
+ a.appendChild(o);
2755
+ } else {
2756
+ if (i && r === "inline") {
2757
+ o.classList.add("gengage-chat-product-summary__price--inline");
2758
+ let e = document.createElement("span");
2759
+ e.className = "gengage-chat-product-summary__price-current", e.textContent = U(u, t.pricing);
2760
+ let n = document.createElement("span");
2761
+ n.className = "gengage-chat-product-summary__price-sep", n.setAttribute("aria-hidden", "true");
2762
+ let r = document.createElement("span");
2763
+ r.className = "gengage-chat-product-summary__price-original", r.textContent = U(d, t.pricing), o.appendChild(e), o.appendChild(n), o.appendChild(r);
2764
+ } else if (i) {
2765
+ let e = document.createElement("span");
2766
+ e.className = "gengage-chat-product-summary__price-original", e.textContent = U(d, t.pricing), o.appendChild(e), o.appendChild(document.createTextNode(" "));
2767
+ let n = document.createElement("span");
2768
+ n.className = "gengage-chat-product-summary__price-current", n.textContent = U(u, t.pricing), o.appendChild(n);
2769
+ } else {
2770
+ let e = document.createElement("span");
2771
+ e.className = "gengage-chat-product-summary__price-current", e.textContent = U(u, t.pricing), o.appendChild(e);
2772
+ }
2773
+ if (e) {
2774
+ let t = document.createElement("div");
2775
+ t.className = "gengage-chat-product-summary__price-stack", t.appendChild(Ct(e)), t.appendChild(o), a.appendChild(t);
2776
+ } else a.appendChild(o);
2649
2777
  }
2650
- let n = document.createElement("span");
2651
- n.className = "gengage-chat-product-summary__price-current", n.textContent = H(u, t.pricing), e.appendChild(n), a.appendChild(e);
2652
2778
  }
2653
2779
  r.appendChild(a);
2654
2780
  let f = n.url;
2655
- if (f && V(f)) {
2781
+ if (f && H(f)) {
2656
2782
  let e = document.createElement("a");
2657
2783
  e.className = "gengage-chat-product-summary__cta gds-chip gds-chip-active", e.dataset.gengagePart = "product-summary-cta", h(e, "href", f), h(e, "target", "_blank"), h(e, "rel", "noopener noreferrer"), e.textContent = t.i18n?.productCtaLabel ?? "View", r.appendChild(e);
2658
2784
  }
@@ -2660,16 +2786,16 @@ function Bt(e, t) {
2660
2786
  }
2661
2787
  //#endregion
2662
2788
  //#region src/chat/components/renderUISpec.ts
2663
- function Vt() {
2789
+ function Kt() {
2664
2790
  return window.innerWidth < 768;
2665
2791
  }
2666
- var Ht = {
2667
- ActionButtons: ({ element: e, context: t }) => Kt(e, t),
2668
- ActionButton: ({ element: e, context: t }) => qt(e, t),
2669
- ProductCard: ({ element: e, context: t }) => Jt(e, t),
2670
- ProductDetailsPanel: ({ element: e, context: t }) => Tn(e, t),
2671
- ProductGrid: ({ element: e, spec: t, renderElement: n, context: r }) => Ln(e, t, n, r),
2672
- ReviewHighlights: ({ element: e, context: t }) => bt(e, {
2792
+ var qt = {
2793
+ ActionButtons: ({ element: e, context: t }) => Zt(e, t),
2794
+ ActionButton: ({ element: e, context: t }) => Qt(e, t),
2795
+ ProductCard: ({ element: e, context: t }) => tn(e, t),
2796
+ ProductDetailsPanel: ({ element: e, context: t }) => Mn(e, t),
2797
+ ProductGrid: ({ element: e, spec: t, renderElement: n, context: r }) => Wn(e, t, n, r),
2798
+ ReviewHighlights: ({ element: e, context: t }) => yt(e, {
2673
2799
  emptyReviewsMessage: t.i18n?.emptyReviewsMessage,
2674
2800
  reviewFilterPositive: t.i18n?.reviewFilterPositive,
2675
2801
  reviewFilterNegative: t.i18n?.reviewFilterNegative,
@@ -2677,17 +2803,17 @@ var Ht = {
2677
2803
  reviewCustomersMentionPlural: t.i18n?.reviewCustomersMentionPlural,
2678
2804
  reviewSubjectsHeading: t.i18n?.reviewSubjectsHeading
2679
2805
  }),
2680
- ComparisonTable: ({ element: e, context: t }) => Rn(e, t),
2681
- AITopPicks: ({ element: e, context: t }) => kt(e, t),
2682
- GroundingReviewCard: ({ element: e, context: t }) => jt(e, t),
2683
- AIGroupingCards: ({ element: e, context: t }) => Nt(e, t),
2684
- AISuggestedSearchCards: ({ element: e, context: t }) => Pt(e, t),
2685
- ProsAndCons: ({ element: e }) => It(e),
2686
- CategoriesContainer: ({ element: e, context: t }) => Lt(e, t),
2687
- HandoffNotice: ({ element: e, context: t }) => zt(e, t),
2688
- ProductSummaryCard: ({ element: e, context: t }) => Bt(e, t),
2689
- Divider: ({ element: e }) => zn(e)
2690
- }, Ut = ({ element: e, renderElement: t }) => {
2806
+ ComparisonTable: ({ element: e, context: t }) => Gn(e, t),
2807
+ AITopPicks: ({ element: e, context: t }) => Pt(e, t),
2808
+ GroundingReviewCard: ({ element: e, context: t }) => It(e, t),
2809
+ AIGroupingCards: ({ element: e, context: t }) => Rt(e, t),
2810
+ AISuggestedSearchCards: ({ element: e, context: t }) => zt(e, t),
2811
+ ProsAndCons: ({ element: e }) => Vt(e),
2812
+ CategoriesContainer: ({ element: e, context: t }) => Ht(e, t),
2813
+ HandoffNotice: ({ element: e, context: t }) => Wt(e, t),
2814
+ ProductSummaryCard: ({ element: e, context: t }) => Gt(e, t),
2815
+ Divider: ({ element: e }) => Kn(e)
2816
+ }, Jt = ({ element: e, renderElement: t }) => {
2691
2817
  if (!e.children || e.children.length === 0) return null;
2692
2818
  let n = document.createElement("div");
2693
2819
  for (let r of e.children) {
@@ -2696,10 +2822,10 @@ var Ht = {
2696
2822
  }
2697
2823
  return n;
2698
2824
  };
2699
- function Wt() {
2700
- return { ...Ht };
2825
+ function Yt() {
2826
+ return { ...qt };
2701
2827
  }
2702
- function Gt(t, n, r = Ht, i = Ut) {
2828
+ function Xt(t, n, r = qt, i = Jt) {
2703
2829
  return e({
2704
2830
  spec: t,
2705
2831
  context: n,
@@ -2708,7 +2834,7 @@ function Gt(t, n, r = Ht, i = Ut) {
2708
2834
  unknownRenderer: i
2709
2835
  });
2710
2836
  }
2711
- function Kt(e, t) {
2837
+ function Zt(e, t) {
2712
2838
  let n = document.createElement("div");
2713
2839
  n.className = "gengage-chat-action-buttons";
2714
2840
  let r = e.props?.buttons;
@@ -2718,7 +2844,7 @@ function Kt(e, t) {
2718
2844
  }
2719
2845
  return n;
2720
2846
  }
2721
- function qt(e, t) {
2847
+ function Qt(e, t) {
2722
2848
  let n = document.createElement("button");
2723
2849
  n.className = "gengage-chat-action-btn";
2724
2850
  let r = e.props?.label;
@@ -2726,7 +2852,98 @@ function qt(e, t) {
2726
2852
  let i = e.props?.action;
2727
2853
  return i && n.addEventListener("click", () => t.onAction(i)), n;
2728
2854
  }
2729
- function Jt(e, t) {
2855
+ function $t(e, t, n, r, i) {
2856
+ e.replaceChildren();
2857
+ let a = St(t, n), o = !!(i && r && i !== r), s = xt(t, n), c = !!(s && o), l = wt(t, n);
2858
+ if (!r || parseFloat(r) <= 0) return;
2859
+ if (c) {
2860
+ let n = Tt({
2861
+ reasonText: s,
2862
+ salePriceFormatted: U(r, t.pricing),
2863
+ ...l === void 0 ? {} : { logoUrl: l }
2864
+ });
2865
+ if (o && a === "inline") {
2866
+ e.classList.add("gengage-chat-product-card-price-block--inline");
2867
+ let r = document.createElement("div");
2868
+ r.className = "gengage-chat-product-card-price-row", r.appendChild(n);
2869
+ let a = document.createElement("span");
2870
+ a.className = "gengage-chat-product-card-price-sep", a.setAttribute("aria-hidden", "true");
2871
+ let o = document.createElement("span");
2872
+ o.className = "gengage-chat-product-card-original-price", o.textContent = U(i, t.pricing), r.appendChild(a), r.appendChild(o), e.appendChild(r);
2873
+ return;
2874
+ }
2875
+ if (e.classList.remove("gengage-chat-product-card-price-block--inline"), e.appendChild(n), o) {
2876
+ e.appendChild(document.createTextNode(" "));
2877
+ let n = document.createElement("span");
2878
+ n.className = "gengage-chat-product-card-original-price", n.textContent = U(i, t.pricing), e.appendChild(n);
2879
+ }
2880
+ return;
2881
+ }
2882
+ if (o && a === "inline") {
2883
+ e.classList.add("gengage-chat-product-card-price-block--inline");
2884
+ let n = document.createElement("div");
2885
+ n.className = "gengage-chat-product-card-price-row";
2886
+ let a = document.createElement("span");
2887
+ a.className = "gengage-chat-product-card-current-price", a.textContent = U(r, t.pricing);
2888
+ let o = document.createElement("span");
2889
+ o.className = "gengage-chat-product-card-price-sep", o.setAttribute("aria-hidden", "true");
2890
+ let s = document.createElement("span");
2891
+ s.className = "gengage-chat-product-card-original-price", s.textContent = U(i, t.pricing), n.appendChild(a), n.appendChild(o), n.appendChild(s), e.appendChild(n);
2892
+ return;
2893
+ }
2894
+ e.classList.remove("gengage-chat-product-card-price-block--inline");
2895
+ let u = document.createElement("span");
2896
+ if (u.className = "gengage-chat-product-card-current-price", u.textContent = U(r, t.pricing), e.appendChild(u), o) {
2897
+ e.appendChild(document.createTextNode(" "));
2898
+ let n = document.createElement("span");
2899
+ n.className = "gengage-chat-product-card-original-price", n.textContent = U(i, t.pricing), e.appendChild(n);
2900
+ }
2901
+ }
2902
+ function en(e, t, n, r, i, a, o) {
2903
+ e.classList.remove("gengage-chat-product-details-price--inline"), e.replaceChildren(), e.className = "gengage-chat-product-details-price";
2904
+ let s = xt(t, n), c = !!(s && o), l = wt(t, n);
2905
+ if (c) {
2906
+ let n = Tt({
2907
+ reasonText: s,
2908
+ salePriceFormatted: U(r, t.pricing),
2909
+ ...l === void 0 ? {} : { logoUrl: l }
2910
+ });
2911
+ if (o && a === "inline") {
2912
+ e.classList.add("gengage-chat-product-details-price--inline"), e.appendChild(n);
2913
+ let r = document.createElement("span");
2914
+ r.className = "gengage-chat-product-details-price-sep", r.setAttribute("aria-hidden", "true");
2915
+ let a = document.createElement("span");
2916
+ a.className = "gengage-chat-product-details-original-price", a.textContent = U(i, t.pricing), e.appendChild(r), e.appendChild(a);
2917
+ } else {
2918
+ if (o) {
2919
+ let n = document.createElement("span");
2920
+ n.className = "gengage-chat-product-details-original-price", n.textContent = U(i, t.pricing), e.appendChild(n), e.appendChild(document.createTextNode(" "));
2921
+ }
2922
+ e.appendChild(n);
2923
+ }
2924
+ } else if (o && a === "inline") {
2925
+ e.classList.add("gengage-chat-product-details-price--inline");
2926
+ let n = document.createElement("span");
2927
+ n.className = "gengage-chat-product-details-current-price", n.textContent = U(r, t.pricing);
2928
+ let a = document.createElement("span");
2929
+ a.className = "gengage-chat-product-details-price-sep", a.setAttribute("aria-hidden", "true");
2930
+ let o = document.createElement("span");
2931
+ o.className = "gengage-chat-product-details-original-price", o.textContent = U(i, t.pricing), e.appendChild(n), e.appendChild(a), e.appendChild(o);
2932
+ } else {
2933
+ if (o) {
2934
+ let n = document.createElement("span");
2935
+ n.className = "gengage-chat-product-details-original-price", n.textContent = U(i, t.pricing), e.appendChild(n), e.appendChild(document.createTextNode(" "));
2936
+ }
2937
+ let n = document.createElement("span");
2938
+ n.className = "gengage-chat-product-details-current-price", n.textContent = U(r, t.pricing), e.appendChild(n);
2939
+ }
2940
+ let u = ln(n, "discountPercent", "price_discount_rate");
2941
+ if (typeof u == "number" && u > 0) {
2942
+ let t = document.createElement("span");
2943
+ t.className = "gengage-chat-product-details-discount-badge", t.textContent = `%${oe(u)}`, e.appendChild(t);
2944
+ }
2945
+ }
2946
+ function tn(e, t) {
2730
2947
  let n = document.createElement("div");
2731
2948
  n.className = "gengage-chat-product-card gds-card gds-product-card gds-card-interactive";
2732
2949
  let r = e.props?.product ?? e.props;
@@ -2744,17 +2961,17 @@ function Jt(e, t) {
2744
2961
  }
2745
2962
  }));
2746
2963
  let o = r.imageUrl;
2747
- if (o && V(o)) {
2964
+ if (o && H(o)) {
2748
2965
  let e = document.createElement("div");
2749
2966
  e.className = "gengage-chat-product-card-img-wrapper";
2750
2967
  let i = document.createElement("img");
2751
2968
  i.className = "gengage-chat-product-card-img", i.loading = "lazy", h(i, "src", o);
2752
2969
  let a = r.name;
2753
- a && (i.alt = a), U(i), e.appendChild(i);
2970
+ a && (i.alt = a), W(i), e.appendChild(i);
2754
2971
  let s = r.discountPercent;
2755
2972
  if (typeof s == "number" && s > 0) {
2756
2973
  let t = document.createElement("span");
2757
- t.className = "gengage-chat-product-card-discount-badge", t.textContent = `%${se(s)}`, e.appendChild(t);
2974
+ t.className = "gengage-chat-product-card-discount-badge", t.textContent = `%${oe(s)}`, e.appendChild(t);
2758
2975
  }
2759
2976
  let c = document.createElement("div");
2760
2977
  c.className = "gengage-chat-product-card-img-actions";
@@ -2794,101 +3011,86 @@ function Jt(e, t) {
2794
3011
  let e = document.createElement("div");
2795
3012
  e.className = "gengage-chat-product-card-brand", e.textContent = c, s.appendChild(e);
2796
3013
  }
2797
- let l = r.rating, u = r.reviewCount, d = r.price, f = r.originalPrice, p = r.price_async, m = typeof l == "number" && Number.isFinite(l) && l > 0, g = document.createElement("div");
2798
- g.className = "gengage-chat-product-card-meta-row";
2799
- let _ = document.createElement("div");
2800
- if (_.className = "gengage-chat-product-card-price gengage-chat-product-card-price-block", p === !0) {
3014
+ let l = r.rating, u = r.reviewCount, d = r.price, f = r.originalPrice, p = r.price_async, m = xt(t, r), g = St(t, r), _ = !!(m || f && d && f !== d && parseFloat(d) > 0 && g === "inline"), v = typeof l == "number" && Number.isFinite(l) && l > 0, y = document.createElement("div");
3015
+ y.className = "gengage-chat-product-card-meta-row";
3016
+ let b = document.createElement("div");
3017
+ b.className = "gengage-chat-product-card-price gengage-chat-product-card-price-block";
3018
+ let x = _ ? (() => {
3019
+ let e = document.createElement("div");
3020
+ return e.className = "gengage-chat-product-card-price-stack", m && e.appendChild(Ct(m)), e.appendChild(b), e;
3021
+ })() : b;
3022
+ if (p === !0) {
2801
3023
  let e = document.createElement("span");
2802
- e.className = "gengage-chat-price-skeleton", _.appendChild(e), setTimeout(() => {
2803
- if (e.parentElement) if (d && parseFloat(d) > 0) {
2804
- let n = r.originalPrice;
2805
- if (n && n !== d) {
2806
- let r = document.createElement("span");
2807
- r.className = "gengage-chat-product-card-current-price", r.textContent = H(d, t.pricing);
2808
- let i = document.createElement("span");
2809
- i.className = "gengage-chat-product-card-original-price", i.textContent = H(n, t.pricing);
2810
- let a = document.createDocumentFragment();
2811
- a.appendChild(r), a.appendChild(document.createTextNode(" ")), a.appendChild(i), e.replaceWith(a);
2812
- } else {
2813
- let n = document.createElement("span");
2814
- n.className = "gengage-chat-product-card-current-price", n.textContent = H(d, t.pricing), e.replaceWith(n);
2815
- }
2816
- } else e.remove();
3024
+ e.className = "gengage-chat-price-skeleton", b.appendChild(e), setTimeout(() => {
3025
+ e.parentElement && (d && parseFloat(d) > 0 ? $t(b, t, r, d, r.originalPrice) : e.remove());
2817
3026
  }, 300);
2818
- } else if (d && parseFloat(d) > 0) {
2819
- let e = document.createElement("span");
2820
- if (e.className = "gengage-chat-product-card-current-price", e.textContent = H(d, t.pricing), _.appendChild(e), f && f !== d) {
2821
- _.appendChild(document.createTextNode(" "));
2822
- let e = document.createElement("span");
2823
- e.className = "gengage-chat-product-card-original-price", e.textContent = H(f, t.pricing), _.appendChild(e);
2824
- }
2825
- }
2826
- if ((_.childElementCount > 0 || p === !0) && g.appendChild(_), m) {
3027
+ } else d && parseFloat(d) > 0 && $t(b, t, r, d, f);
3028
+ if ((b.childElementCount > 0 || p === !0) && y.appendChild(x), v) {
2827
3029
  let e = document.createElement("div");
2828
3030
  e.className = "gengage-chat-product-card-rating gengage-chat-product-card-rating-compact";
2829
- let t = ce(l), n = [`${t.toFixed(1)}`, "out of 5 stars"];
3031
+ let t = se(l), n = [`${t.toFixed(1)}`, "out of 5 stars"];
2830
3032
  typeof u == "number" && Number.isFinite(u) && n.push(`(${u} reviews)`), e.setAttribute("aria-label", n.join(" "));
2831
3033
  let r = document.createElement("span");
2832
3034
  r.className = "gengage-chat-product-card-rating-compact-star", r.setAttribute("aria-hidden", "true"), r.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>";
2833
3035
  let i = document.createElement("span");
2834
- i.className = "gengage-chat-product-card-rating-compact-value", i.textContent = t.toFixed(1), e.appendChild(r), e.appendChild(i), g.appendChild(e);
3036
+ i.className = "gengage-chat-product-card-rating-compact-value", i.textContent = t.toFixed(1), e.appendChild(r), e.appendChild(i), y.appendChild(e);
2835
3037
  }
2836
- g.childElementCount === 0 && (g.classList.add("gengage-chat-product-card-meta-row--empty"), g.setAttribute("aria-hidden", "true")), s.appendChild(g);
2837
- let v = r.name;
2838
- if (v) {
3038
+ y.childElementCount === 0 && (y.classList.add("gengage-chat-product-card-meta-row--empty"), y.setAttribute("aria-hidden", "true")), s.appendChild(y);
3039
+ let S = r.name;
3040
+ if (S) {
2839
3041
  let e = document.createElement("div");
2840
- e.className = "gengage-chat-product-card-name", e.textContent = v, e.title = v, s.appendChild(e);
3042
+ e.className = "gengage-chat-product-card-name", e.textContent = S, e.title = S, s.appendChild(e);
2841
3043
  }
2842
- let y = r.inStock;
2843
- if (typeof y == "boolean") {
3044
+ let C = r.inStock;
3045
+ if (typeof C == "boolean") {
2844
3046
  let e = document.createElement("div");
2845
- e.className = `gengage-chat-product-card-stock ${y ? "is-in-stock" : "is-out-of-stock"}`, e.textContent = y ? t.i18n?.inStockLabel ?? "In Stock" : t.i18n?.outOfStockLabel ?? "Out of Stock", s.appendChild(e);
3047
+ e.className = `gengage-chat-product-card-stock ${C ? "is-in-stock" : "is-out-of-stock"}`, e.textContent = C ? t.i18n?.inStockLabel ?? "In Stock" : t.i18n?.outOfStockLabel ?? "Out of Stock", s.appendChild(e);
2846
3048
  }
2847
3049
  n.appendChild(s);
2848
- let b = r.url, x = r.sku, S = r.cartCode, C = !!(S && x && y !== !1), w = t.i18n?.productCtaLabel ?? "View";
2849
- if (C) {
3050
+ let w = r.url, T = r.sku, E = r.cartCode, D = !!(E && T && C !== !1), O = t.i18n?.productCtaLabel ?? "View";
3051
+ if (D) {
2850
3052
  let e = document.createElement("div");
2851
3053
  e.className = "gengage-chat-product-card-buy-footer";
2852
3054
  let r = document.createElement("button");
2853
- r.type = "button", r.className = "gengage-chat-product-card-buy-trigger", r.textContent = w, r.addEventListener("click", (e) => {
3055
+ r.type = "button", r.className = "gengage-chat-product-card-buy-trigger", r.textContent = O, r.addEventListener("click", (e) => {
2854
3056
  e.stopPropagation(), t.onAction({
2855
- title: t.i18n?.addToCartButton ?? w,
3057
+ title: t.i18n?.addToCartButton ?? O,
2856
3058
  type: "addToCart",
2857
3059
  payload: {
2858
- sku: x,
2859
- cartCode: S,
3060
+ sku: T,
3061
+ cartCode: E,
2860
3062
  quantity: 1
2861
3063
  }
2862
3064
  });
2863
3065
  }), e.appendChild(r), n.appendChild(e);
2864
3066
  } else if (a) {
2865
3067
  let e = document.createElement("button");
2866
- e.className = "gengage-chat-product-card-cta", e.type = "button", e.textContent = a.type === "launchSingleProduct" ? w : a.title || w, e.addEventListener("click", (e) => {
3068
+ e.className = "gengage-chat-product-card-cta", e.type = "button", e.textContent = a.type === "launchSingleProduct" ? O : a.title || O, e.addEventListener("click", (e) => {
2867
3069
  if (n.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")) {
2868
3070
  e.stopPropagation();
2869
3071
  return;
2870
3072
  }
2871
3073
  t.onAction(a);
2872
3074
  }), n.appendChild(e);
2873
- } else if (b && V(b)) {
3075
+ } else if (w && H(w)) {
2874
3076
  let e = document.createElement("a");
2875
- e.className = "gengage-chat-product-card-cta", h(e, "href", b), h(e, "target", "_blank"), h(e, "rel", "noopener noreferrer"), e.textContent = w, e.addEventListener("click", (e) => {
3077
+ e.className = "gengage-chat-product-card-cta", h(e, "href", w), h(e, "target", "_blank"), h(e, "rel", "noopener noreferrer"), e.textContent = O, e.addEventListener("click", (e) => {
2876
3078
  if (n.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")) {
2877
3079
  e.preventDefault(), e.stopPropagation();
2878
3080
  return;
2879
3081
  }
2880
- t.onProductClick && x && (e.preventDefault(), t.onProductClick({
2881
- sku: x,
2882
- url: b
3082
+ t.onProductClick && T && (e.preventDefault(), t.onProductClick({
3083
+ sku: T,
3084
+ url: w
2883
3085
  }));
2884
3086
  }), n.appendChild(e);
2885
3087
  }
2886
- if (t.comparisonSelectMode && x && t.onToggleComparisonSku) {
3088
+ if (t.comparisonSelectMode && T && t.onToggleComparisonSku) {
2887
3089
  let e = document.createElement("div");
2888
3090
  e.className = "gengage-chat-comparison-select-wrapper";
2889
- let i = t.comparisonSelectedSkus?.includes(x) ?? !1;
3091
+ let i = t.comparisonSelectedSkus?.includes(T) ?? !1;
2890
3092
  i && e.classList.add("gengage-chat-comparison-select-wrapper--selected");
2891
- let a = r.name ?? x, o = t.i18n?.comparisonSelectCardHint ?? "Tap anywhere on the card to add or remove it from comparison.";
3093
+ let a = r.name ?? T, o = t.i18n?.comparisonSelectCardHint ?? "Tap anywhere on the card to add or remove it from comparison.";
2892
3094
  e.setAttribute("role", "group"), e.setAttribute("aria-label", `${String(a)}. ${o}`);
2893
3095
  let s = document.createElement("button");
2894
3096
  s.type = "button", s.className = "gengage-chat-comparison-checkbox", s.dataset.selected = i ? "true" : "false", s.setAttribute("aria-pressed", i ? "true" : "false");
@@ -2896,37 +3098,37 @@ function Jt(e, t) {
2896
3098
  c.className = "gengage-chat-comparison-checkbox-icon", c.innerHTML = i ? "<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>";
2897
3099
  let l = document.createElement("span");
2898
3100
  l.className = "gengage-chat-comparison-checkbox-label", l.textContent = i ? t.i18n?.comparisonSelectedLabel ?? "Selected" : t.i18n?.comparisonSelectLabel ?? "Select to compare", s.appendChild(c), s.appendChild(l), s.addEventListener("click", (e) => {
2899
- e.stopPropagation(), t.onToggleComparisonSku?.(x);
3101
+ e.stopPropagation(), t.onToggleComparisonSku?.(T);
2900
3102
  });
2901
3103
  let u = document.createElement("div");
2902
3104
  return u.className = "gengage-chat-comparison-card-hint", u.setAttribute("aria-hidden", "true"), u.textContent = o, e.addEventListener("click", (e) => {
2903
- e.target.closest(".gengage-chat-comparison-checkbox") || (e.stopPropagation(), t.onToggleComparisonSku?.(x));
3105
+ e.target.closest(".gengage-chat-comparison-checkbox") || (e.stopPropagation(), t.onToggleComparisonSku?.(T));
2904
3106
  }), e.appendChild(s), e.appendChild(u), e.appendChild(n), e;
2905
3107
  }
2906
3108
  return n;
2907
3109
  }
2908
- var Yt = new Set([
3110
+ var nn = new Set([
2909
3111
  "color",
2910
3112
  "colour",
2911
3113
  "renk",
2912
3114
  "renk kodu",
2913
3115
  "color code"
2914
- ]), Xt = new Set([
3116
+ ]), rn = new Set([
2915
3117
  "size",
2916
3118
  "beden",
2917
3119
  "boyut"
2918
- ]), Zt = new Set([
3120
+ ]), an = new Set([
2919
3121
  "finish",
2920
3122
  "bitiş",
2921
3123
  "bitişi"
2922
- ]), Qt = [
3124
+ ]), on = [
2923
3125
  "variants",
2924
3126
  "variantOptions",
2925
3127
  "variant_options",
2926
3128
  "productVariants",
2927
3129
  "product_variants",
2928
3130
  "options"
2929
- ], $t = new Set([
3131
+ ], sn = new Set([
2930
3132
  "H2",
2931
3133
  "H3",
2932
3134
  "H4",
@@ -2939,7 +3141,7 @@ var Yt = new Set([
2939
3141
  "B",
2940
3142
  "EM",
2941
3143
  "I"
2942
- ]), en = new Set([
3144
+ ]), cn = new Set([
2943
3145
  "SCRIPT",
2944
3146
  "STYLE",
2945
3147
  "NOSCRIPT",
@@ -2947,7 +3149,7 @@ var Yt = new Set([
2947
3149
  "OBJECT",
2948
3150
  "EMBED"
2949
3151
  ]);
2950
- function K(e, ...t) {
3152
+ function q(e, ...t) {
2951
3153
  for (let n of t) {
2952
3154
  let t = e[n];
2953
3155
  if (typeof t == "string") {
@@ -2956,7 +3158,7 @@ function K(e, ...t) {
2956
3158
  }
2957
3159
  }
2958
3160
  }
2959
- function tn(e, ...t) {
3161
+ function ln(e, ...t) {
2960
3162
  for (let n of t) {
2961
3163
  let t = e[n];
2962
3164
  if (typeof t == "number" && Number.isFinite(t)) return t;
@@ -2966,44 +3168,44 @@ function tn(e, ...t) {
2966
3168
  }
2967
3169
  }
2968
3170
  }
2969
- function nn(e, ...t) {
3171
+ function un(e, ...t) {
2970
3172
  for (let n of t) {
2971
3173
  let t = e[n];
2972
3174
  if (typeof t == "boolean") return t;
2973
3175
  }
2974
3176
  }
2975
- function rn(e, ...t) {
3177
+ function dn(e, ...t) {
2976
3178
  for (let n of t) {
2977
3179
  let t = e[n];
2978
3180
  if (t && typeof t == "object" && !Array.isArray(t)) return t;
2979
3181
  }
2980
3182
  }
2981
- function an(e) {
3183
+ function fn(e) {
2982
3184
  return Array.isArray(e) ? e.filter((e) => typeof e == "string" && e.trim().length > 0) : [];
2983
3185
  }
2984
- function on(e) {
2985
- let t = [...an(e.images), K(e, "imageUrl", "image_url", "image")].filter((e) => !!e && V(e));
3186
+ function pn(e) {
3187
+ let t = [...fn(e.images), q(e, "imageUrl", "image_url", "image")].filter((e) => !!e && H(e));
2986
3188
  return Array.from(new Set(t));
2987
3189
  }
2988
- function sn(e) {
3190
+ function mn(e) {
2989
3191
  return typeof DOMParser < "u" ? (new DOMParser().parseFromString(e, "text/html").body.textContent ?? "").replace(/\s+/g, " ").trim() : e.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim();
2990
3192
  }
2991
- function cn(e) {
2992
- let t = K(e, "description_html", "descriptionHtml");
3193
+ function hn(e) {
3194
+ let t = q(e, "description_html", "descriptionHtml");
2993
3195
  if (t) {
2994
- let e = sn(t);
3196
+ let e = mn(t);
2995
3197
  if (e) return {
2996
3198
  text: e,
2997
3199
  html: t
2998
3200
  };
2999
3201
  }
3000
- let n = K(e, "description");
3202
+ let n = q(e, "description");
3001
3203
  return n ? { text: n } : void 0;
3002
3204
  }
3003
- function ln(e) {
3205
+ function gn(e) {
3004
3206
  return Array.isArray(e) ? e.map((e) => {
3005
3207
  if (!e || typeof e != "object") return null;
3006
- let t = e, n = K(t, "key", "name", "label", "title"), r = t.value, i = typeof r == "string" || typeof r == "number" || typeof r == "boolean" ? String(r).trim() : void 0;
3208
+ let t = e, n = q(t, "key", "name", "label", "title"), r = t.value, i = typeof r == "string" || typeof r == "number" || typeof r == "boolean" ? String(r).trim() : void 0;
3007
3209
  return !n || !i ? null : {
3008
3210
  key: n,
3009
3211
  value: i
@@ -3016,154 +3218,154 @@ function ln(e) {
3016
3218
  };
3017
3219
  }).filter((e) => e !== null) : [];
3018
3220
  }
3019
- function un(e) {
3020
- let t = ln(e.features);
3021
- return t.length > 0 ? t : ln(e.specifications);
3221
+ function _n(e) {
3222
+ let t = gn(e.features);
3223
+ return t.length > 0 ? t : gn(e.specifications);
3022
3224
  }
3023
- function dn(e) {
3024
- let t = e.specifications, n = ln(t);
3225
+ function vn(e) {
3226
+ let t = e.specifications, n = gn(t);
3025
3227
  if (n.length > 0) return Array.isArray(t) ? n : Object.fromEntries(n.map((e) => [e.key, e.value]));
3026
- let r = ln(e.features);
3228
+ let r = gn(e.features);
3027
3229
  return r.length > 0 ? r : void 0;
3028
3230
  }
3029
- function q(e, ...t) {
3030
- return K(e, ...t);
3231
+ function J(e, ...t) {
3232
+ return q(e, ...t);
3031
3233
  }
3032
- function fn(e, ...t) {
3033
- return tn(e, ...t);
3234
+ function yn(e, ...t) {
3235
+ return ln(e, ...t);
3034
3236
  }
3035
- function pn(e) {
3036
- return q(e, "value", "option_value", "attribute_value", "label", "title", "name", "variant_name", "sku");
3237
+ function bn(e) {
3238
+ return J(e, "value", "option_value", "attribute_value", "label", "title", "name", "variant_name", "sku");
3037
3239
  }
3038
- function mn(e) {
3039
- return q(e, "type", "attribute", "option_name", "attribute_name") || (q(e, "value") ? q(e, "name", "variant_name") : void 0);
3240
+ function xn(e) {
3241
+ return J(e, "type", "attribute", "option_name", "attribute_name") || (J(e, "value") ? J(e, "name", "variant_name") : void 0);
3040
3242
  }
3041
- function hn(e) {
3042
- let t = mn(e)?.toLowerCase();
3043
- return !!(K(e, "color", "colour", "color_hex", "hex", "swatch", "swatchColor") || t && Yt.has(t));
3243
+ function Sn(e) {
3244
+ let t = xn(e)?.toLowerCase();
3245
+ return !!(q(e, "color", "colour", "color_hex", "hex", "swatch", "swatchColor") || t && nn.has(t));
3044
3246
  }
3045
- function gn(e) {
3247
+ function Cn(e) {
3046
3248
  if (!e) return;
3047
3249
  let t = e.trim();
3048
3250
  if (!(!t || t.includes(";")) && (typeof CSS < "u" && CSS.supports?.("color", t) || /^#(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(t))) return t;
3049
3251
  }
3050
- function _n(e) {
3051
- let t = gn(q(e, "swatchColor", "swatch", "color_hex", "hex", "color", "colour"));
3252
+ function wn(e) {
3253
+ let t = Cn(J(e, "swatchColor", "swatch", "color_hex", "hex", "color", "colour"));
3052
3254
  if (t) return t;
3053
- if (hn(e)) return gn(pn(e));
3255
+ if (Sn(e)) return Cn(bn(e));
3054
3256
  }
3055
- function vn(e) {
3056
- return q(e, "image", "imageUrl", "image_url", "swatchImage", "swatch_image");
3257
+ function Tn(e) {
3258
+ return J(e, "image", "imageUrl", "image_url", "swatchImage", "swatch_image");
3057
3259
  }
3058
- function yn(e) {
3059
- return fn(e, "price_discounted", "priceDiscounted") ?? q(e, "price_discounted", "priceDiscounted") ?? fn(e, "price") ?? q(e, "price");
3260
+ function En(e) {
3261
+ return yn(e, "price_discounted", "priceDiscounted") ?? J(e, "price_discounted", "priceDiscounted") ?? yn(e, "price") ?? J(e, "price");
3060
3262
  }
3061
- function bn(e) {
3263
+ function Dn(e) {
3062
3264
  let t = e.trim().toLowerCase();
3063
- return Yt.has(t) || Xt.has(t) || Zt.has(t);
3265
+ return nn.has(t) || rn.has(t) || an.has(t);
3064
3266
  }
3065
- function xn(e) {
3267
+ function On(e) {
3066
3268
  let t = e.trim().toLowerCase();
3067
3269
  return t === "renk kodu" ? "Renk" : t === "color code" ? "Color" : e.trim();
3068
3270
  }
3069
- function Sn(e) {
3070
- for (let t of Qt) {
3271
+ function kn(e) {
3272
+ for (let t of on) {
3071
3273
  let n = e[t];
3072
3274
  if (!Array.isArray(n)) continue;
3073
3275
  let r = n.filter((e) => !!e && typeof e == "object" && !Array.isArray(e));
3074
3276
  if (r.length > 0) return r;
3075
3277
  }
3076
3278
  }
3077
- function Cn(e) {
3078
- let t = Sn(e);
3279
+ function An(e) {
3280
+ let t = kn(e);
3079
3281
  if (t) return t;
3080
- let n = K(e, "sku"), r = nn(e, "inStock", "in_stock"), i = [], a = /* @__PURE__ */ new Set(), o = (e, t) => {
3081
- if (!bn(e) || typeof t != "string" && typeof t != "number" && typeof t != "boolean") return;
3282
+ let n = q(e, "sku"), r = un(e, "inStock", "in_stock"), i = [], a = /* @__PURE__ */ new Set(), o = (e, t) => {
3283
+ if (!Dn(e) || typeof t != "string" && typeof t != "number" && typeof t != "boolean") return;
3082
3284
  let o = String(t).trim();
3083
3285
  if (!o) return;
3084
- let s = xn(e), c = `${s.toLowerCase()}:${o.toLowerCase()}`;
3286
+ let s = On(e), c = `${s.toLowerCase()}:${o.toLowerCase()}`;
3085
3287
  a.has(c) || (a.add(c), i.push({
3086
3288
  name: s,
3087
3289
  value: o,
3088
3290
  sku: n,
3089
3291
  inStock: r
3090
3292
  }));
3091
- }, s = rn(e, "facetHits", "facet_hits");
3293
+ }, s = dn(e, "facetHits", "facet_hits");
3092
3294
  if (s) for (let [e, t] of Object.entries(s)) o(e, t);
3093
- for (let t of un(e)) o(t.key, t.value);
3295
+ for (let t of _n(e)) o(t.key, t.value);
3094
3296
  return i;
3095
3297
  }
3096
- function wn(e, t) {
3097
- let n = Array.from(new Set(e.map(mn).filter((e) => !!e)));
3298
+ function jn(e, t) {
3299
+ let n = Array.from(new Set(e.map(xn).filter((e) => !!e)));
3098
3300
  return n.length === 1 ? `${e.length} ${n[0]}` : t.i18n?.variantsLabel ?? "Variants";
3099
3301
  }
3100
- function Tn(e, t) {
3302
+ function Mn(e, t) {
3101
3303
  let n = document.createElement("article");
3102
3304
  n.className = "gengage-chat-product-details-panel";
3103
3305
  let r = e.props?.product ?? e.props;
3104
3306
  if (!r) return n;
3105
- let i = K(r, "name"), a = K(r, "brand"), o = K(r, "sku"), s = K(r, "cartCode", "cart_code"), c = K(r, "price"), l = K(r, "originalPrice", "price_original"), u = nn(r, "price_async"), d = nn(r, "inStock", "in_stock"), f = tn(r, "reviewCount", "review_count"), p = tn(r, "rating"), m = on(r), g = un(r).slice(0, 4);
3106
- if (m.length > 1) {
3307
+ let i = q(r, "name"), a = q(r, "brand"), o = q(r, "sku"), s = q(r, "cartCode", "cart_code"), c = q(r, "price"), l = q(r, "originalPrice", "price_original"), u = un(r, "price_async"), d = xt(t, r), f = St(t, r), p = !!(l && c && l !== c), m = un(r, "inStock", "in_stock"), g = ln(r, "reviewCount", "review_count"), _ = ln(r, "rating"), v = pn(r), y = _n(r).slice(0, 4);
3308
+ if (v.length > 1) {
3107
3309
  let e = document.createElement("div");
3108
3310
  e.className = "gengage-chat-product-details-media gengage-chat-product-details-gallery gengage-chat-product-details-img-wrap";
3109
3311
  let r = document.createElement("img");
3110
- r.className = "gengage-chat-product-details-img", h(r, "src", m[0]), r.alt = i ?? "Product image", U(r), e.appendChild(r);
3312
+ r.className = "gengage-chat-product-details-img", h(r, "src", v[0]), r.alt = i ?? "Product image", W(r), e.appendChild(r);
3111
3313
  let a = document.createElement("div");
3112
3314
  a.className = "gengage-chat-product-gallery-thumbs";
3113
3315
  let o = null, s = 0, c = t.i18n, l = c?.galleryPrevAriaLabel ?? "Previous image", u = c?.galleryNextAriaLabel ?? "Next image", d = (e) => e === "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>", f = document.createElement("button");
3114
3316
  f.type = "button", f.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--prev gds-btn gds-btn-ghost gds-icon-btn", f.setAttribute("aria-label", l), f.innerHTML = d("prev");
3115
3317
  let p = document.createElement("button");
3116
3318
  p.type = "button", p.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--next gds-btn gds-btn-ghost gds-icon-btn", p.setAttribute("aria-label", u), p.innerHTML = d("next");
3117
- let g = () => {
3118
- f.disabled = s <= 0, p.disabled = s >= m.length - 1;
3119
- }, _ = (e) => {
3120
- if (e < 0 || e >= m.length || e === s) return;
3121
- let t = m[e];
3319
+ let m = () => {
3320
+ f.disabled = s <= 0, p.disabled = s >= v.length - 1;
3321
+ }, g = (e) => {
3322
+ if (e < 0 || e >= v.length || e === s) return;
3323
+ let t = v[e];
3122
3324
  if (!t) return;
3123
3325
  h(r, "src", t);
3124
3326
  let n = a.querySelectorAll(".gengage-chat-product-gallery-thumb");
3125
- o && o.classList.remove("gengage-chat-product-gallery-thumb--active"), e < 6 && n[e] ? (n[e].classList.add("gengage-chat-product-gallery-thumb--active"), o = n[e]) : o = null, s = e, g();
3327
+ o && o.classList.remove("gengage-chat-product-gallery-thumb--active"), e < 6 && n[e] ? (n[e].classList.add("gengage-chat-product-gallery-thumb--active"), o = n[e]) : o = null, s = e, m();
3126
3328
  };
3127
- for (let e = 0; e < m.length; e++) {
3128
- let t = m[e];
3329
+ for (let e = 0; e < v.length; e++) {
3330
+ let t = v[e];
3129
3331
  if (e >= 6) break;
3130
3332
  let n = document.createElement("img");
3131
- n.className = "gengage-chat-product-gallery-thumb", e === 0 && (n.classList.add("gengage-chat-product-gallery-thumb--active"), o = n), h(n, "src", t), n.alt = `${i ?? "Product"} ${e + 1}`, n.width = 48, n.height = 48, U(n), n.addEventListener("click", () => {
3132
- _(e);
3333
+ n.className = "gengage-chat-product-gallery-thumb", e === 0 && (n.classList.add("gengage-chat-product-gallery-thumb--active"), o = n), h(n, "src", t), n.alt = `${i ?? "Product"} ${e + 1}`, n.width = 48, n.height = 48, W(n), n.addEventListener("click", () => {
3334
+ g(e);
3133
3335
  }), a.appendChild(n);
3134
3336
  }
3135
- if (m.length > 6) {
3337
+ if (v.length > 6) {
3136
3338
  let e = document.createElement("span");
3137
- e.className = "gengage-chat-product-gallery-thumb-more", e.textContent = `+${m.length - 6}`, a.appendChild(e);
3339
+ e.className = "gengage-chat-product-gallery-thumb-more", e.textContent = `+${v.length - 6}`, a.appendChild(e);
3138
3340
  }
3139
3341
  f.addEventListener("click", (e) => {
3140
- e.stopPropagation(), _(s - 1);
3342
+ e.stopPropagation(), g(s - 1);
3141
3343
  }), p.addEventListener("click", (e) => {
3142
- e.stopPropagation(), _(s + 1);
3143
- }), g();
3144
- let v = 0;
3344
+ e.stopPropagation(), g(s + 1);
3345
+ }), m();
3346
+ let _ = 0;
3145
3347
  r.addEventListener("touchstart", (e) => {
3146
- v = e.changedTouches[0].clientX;
3348
+ _ = e.changedTouches[0].clientX;
3147
3349
  }, { passive: !0 }), r.addEventListener("touchend", (e) => {
3148
- let t = e.changedTouches[0].clientX, n = v - t;
3149
- Math.abs(n) < 50 || _(n > 0 ? Math.min(s + 1, m.length - 1) : Math.max(s - 1, 0));
3350
+ let t = e.changedTouches[0].clientX, n = _ - t;
3351
+ Math.abs(n) < 50 || g(n > 0 ? Math.min(s + 1, v.length - 1) : Math.max(s - 1, 0));
3150
3352
  }), e.appendChild(f), e.appendChild(p), e.appendChild(a), n.appendChild(e);
3151
- } else if (m.length === 1) {
3353
+ } else if (v.length === 1) {
3152
3354
  let e = document.createElement("div");
3153
3355
  e.className = "gengage-chat-product-details-media gengage-chat-product-details-img-wrap";
3154
3356
  let t = document.createElement("img");
3155
- t.className = "gengage-chat-product-details-img", t.loading = "lazy", h(t, "src", m[0]), U(t), t.alt = i ?? "Product image", e.appendChild(t), n.appendChild(e);
3357
+ t.className = "gengage-chat-product-details-img", t.loading = "lazy", h(t, "src", v[0]), W(t), t.alt = i ?? "Product image", e.appendChild(t), n.appendChild(e);
3156
3358
  }
3157
- let _ = document.createElement("div");
3158
- if (_.className = "gengage-chat-product-details-content", a && (!i || !i.toLowerCase().startsWith(a.toLowerCase()))) {
3359
+ let b = document.createElement("div");
3360
+ if (b.className = "gengage-chat-product-details-content", a && (!i || !i.toLowerCase().startsWith(a.toLowerCase()))) {
3159
3361
  let e = document.createElement("div");
3160
- e.className = "gengage-chat-product-details-brand", e.textContent = a, _.appendChild(e);
3362
+ e.className = "gengage-chat-product-details-brand", e.textContent = a, b.appendChild(e);
3161
3363
  }
3162
3364
  if (i) {
3163
3365
  let e = document.createElement("h3");
3164
- e.className = "gengage-chat-product-details-title", e.textContent = i, e.title = i, _.appendChild(e);
3366
+ e.className = "gengage-chat-product-details-title", e.textContent = i, e.title = i, b.appendChild(e);
3165
3367
  }
3166
- if (typeof p == "number" && Number.isFinite(p) && p > 0) {
3368
+ if (typeof _ == "number" && Number.isFinite(_) && _ > 0) {
3167
3369
  let e = document.createElement(o ? "button" : "div");
3168
3370
  e.className = "gengage-chat-product-details-rating", o && (e.type = "button", e.classList.add("gengage-chat-product-details-rating--clickable"), e.setAttribute("aria-label", t.i18n?.groundingReviewCta ?? "Read Reviews"), e.addEventListener("click", () => {
3169
3371
  t.onAction({
@@ -3171,58 +3373,55 @@ function Tn(e, t) {
3171
3373
  type: "reviewSummary",
3172
3374
  payload: { sku: o }
3173
3375
  });
3174
- })), e.appendChild(oe(p));
3376
+ })), e.appendChild(ae(_));
3175
3377
  let n = document.createElement("span");
3176
- if (n.className = "gengage-chat-product-details-rating-value", n.textContent = ce(p).toFixed(1), e.appendChild(n), typeof f == "number" && Number.isFinite(f)) {
3378
+ if (n.className = "gengage-chat-product-details-rating-value", n.textContent = se(_).toFixed(1), e.appendChild(n), typeof g == "number" && Number.isFinite(g)) {
3177
3379
  let t = document.createElement("span");
3178
- t.className = "gengage-chat-product-details-review-count", t.textContent = ` (${f})`, e.appendChild(t);
3380
+ t.className = "gengage-chat-product-details-review-count", t.textContent = ` (${g})`, e.appendChild(t);
3179
3381
  }
3180
- _.appendChild(e);
3382
+ b.appendChild(e);
3181
3383
  }
3182
- if (u === !0) {
3183
- let e = document.createElement("div");
3184
- e.className = "gengage-chat-product-details-price";
3185
- let n = document.createElement("span");
3186
- n.className = "gengage-chat-price-skeleton", e.appendChild(n), _.appendChild(e), setTimeout(() => {
3187
- if (n.parentElement) if (c && parseFloat(c) > 0) {
3188
- let e = document.createElement("span");
3189
- e.className = "gengage-chat-product-details-current-price", e.textContent = H(c, t.pricing), n.replaceWith(e);
3190
- } else n.remove();
3191
- }, 300);
3192
- } else if (c && parseFloat(c) > 0) {
3193
- let e = document.createElement("div");
3194
- if (e.className = "gengage-chat-product-details-price", l && l !== c) {
3195
- let n = document.createElement("span");
3196
- n.className = "gengage-chat-product-details-original-price", n.textContent = H(l, t.pricing), e.appendChild(n), e.appendChild(document.createTextNode(" "));
3384
+ {
3385
+ let e = b;
3386
+ if (d) {
3387
+ let t = document.createElement("div");
3388
+ t.className = "gengage-chat-product-details-price-stack", t.appendChild(Ct(d)), b.appendChild(t), e = t;
3197
3389
  }
3198
- let n = document.createElement("span");
3199
- n.className = "gengage-chat-product-details-current-price", n.textContent = H(c, t.pricing), e.appendChild(n);
3200
- let i = tn(r, "discountPercent", "price_discount_rate");
3201
- if (typeof i == "number" && i > 0) {
3202
- let t = document.createElement("span");
3203
- t.className = "gengage-chat-product-details-discount-badge", t.textContent = `%${se(i)}`, e.appendChild(t);
3390
+ let n = document.createElement("div");
3391
+ if (n.className = "gengage-chat-product-details-price", u === !0) {
3392
+ let i = document.createElement("span");
3393
+ i.className = "gengage-chat-price-skeleton", n.appendChild(i), e.appendChild(n), setTimeout(() => {
3394
+ if (i.parentElement) if (c && parseFloat(c) > 0) en(n, t, r, c, l, f, p);
3395
+ else {
3396
+ let e = n.parentElement;
3397
+ n.remove(), e?.classList.contains("gengage-chat-product-details-price-stack") && e.remove();
3398
+ }
3399
+ }, 300);
3400
+ } else if (c && parseFloat(c) > 0) en(n, t, r, c, l, f, p), e.appendChild(n);
3401
+ else if (d) {
3402
+ let t = e;
3403
+ t.classList.contains("gengage-chat-product-details-price-stack") && t.remove();
3204
3404
  }
3205
- _.appendChild(e);
3206
3405
  }
3207
- if (typeof d == "boolean") {
3406
+ if (typeof m == "boolean") {
3208
3407
  let e = document.createElement("div");
3209
- e.className = `gengage-chat-product-details-stock ${d ? "is-in-stock" : "is-out-of-stock"}`, e.textContent = d ? t.i18n?.inStockLabel ?? "In Stock" : t.i18n?.outOfStockLabel ?? "Out of Stock", _.appendChild(e);
3408
+ e.className = `gengage-chat-product-details-stock ${m ? "is-in-stock" : "is-out-of-stock"}`, e.textContent = m ? t.i18n?.inStockLabel ?? "In Stock" : t.i18n?.outOfStockLabel ?? "Out of Stock", b.appendChild(e);
3210
3409
  }
3211
- let v = r.promotions;
3212
- if (v && v.length > 0) {
3410
+ let x = r.promotions;
3411
+ if (x && x.length > 0) {
3213
3412
  let e = document.createElement("div");
3214
3413
  e.className = "gengage-chat-product-details-promos";
3215
- for (let t of v.slice(0, 3)) {
3414
+ for (let t of x.slice(0, 3)) {
3216
3415
  if (!t || /%(0(\.0+)?)\s/.test(t)) continue;
3217
3416
  let n = document.createElement("span");
3218
3417
  n.className = "gengage-chat-product-details-promo-badge", n.textContent = t, n.title = t, e.appendChild(n);
3219
3418
  }
3220
- e.childElementCount > 0 && _.appendChild(e);
3419
+ e.childElementCount > 0 && b.appendChild(e);
3221
3420
  }
3222
- if (g.length > 0) {
3421
+ if (y.length > 0) {
3223
3422
  let e = document.createElement("dl");
3224
3423
  e.className = "gengage-chat-product-details-facts";
3225
- for (let t of g) {
3424
+ for (let t of y) {
3226
3425
  let n = document.createElement("div");
3227
3426
  n.className = "gengage-chat-product-details-fact";
3228
3427
  let r = document.createElement("dt");
@@ -3230,39 +3429,39 @@ function Tn(e, t) {
3230
3429
  let i = document.createElement("dd");
3231
3430
  i.textContent = t.value, n.appendChild(r), n.appendChild(i), e.appendChild(n);
3232
3431
  }
3233
- _.appendChild(e);
3432
+ b.appendChild(e);
3234
3433
  }
3235
- let y = Cn(r);
3236
- if (y.length > 0) {
3434
+ let S = An(r);
3435
+ if (S.length > 0) {
3237
3436
  let e = document.createElement("div");
3238
3437
  e.className = "gengage-chat-product-variants";
3239
3438
  let n = document.createElement("div");
3240
- n.className = "gengage-chat-product-variants-label", n.textContent = wn(y, t), e.appendChild(n);
3439
+ n.className = "gengage-chat-product-variants-label", n.textContent = jn(S, t), e.appendChild(n);
3241
3440
  let r = document.createElement("div");
3242
3441
  r.className = "gengage-chat-product-variants-list";
3243
- for (let e of y) {
3244
- let n = pn(e), a = q(e, "sku");
3442
+ for (let e of S) {
3443
+ let n = bn(e), a = J(e, "sku");
3245
3444
  if (!n && !a) continue;
3246
3445
  let s = document.createElement("button");
3247
3446
  s.className = "gengage-chat-product-variant-btn gds-chip", s.type = "button";
3248
3447
  let l = n ?? a ?? "";
3249
3448
  s.title = l;
3250
- let u = nn(e, "in_stock", "inStock");
3449
+ let u = un(e, "in_stock", "inStock");
3251
3450
  a && o && a === o ? (s.classList.add("gengage-chat-product-variant-btn--active"), s.setAttribute("aria-pressed", "true")) : s.setAttribute("aria-pressed", "false"), u === !1 && (s.classList.add("gengage-chat-product-variant-btn--out"), s.disabled = !0);
3252
- let d = vn(e), f = _n(e);
3253
- if (d && V(d)) {
3451
+ let d = Tn(e), f = wn(e);
3452
+ if (d && H(d)) {
3254
3453
  let e = document.createElement("img");
3255
- e.className = "gengage-chat-product-variant-swatch gengage-chat-product-variant-swatch--image", h(e, "src", d), e.alt = "", e.setAttribute("aria-hidden", "true"), U(e), s.appendChild(e);
3454
+ e.className = "gengage-chat-product-variant-swatch gengage-chat-product-variant-swatch--image", h(e, "src", d), e.alt = "", e.setAttribute("aria-hidden", "true"), W(e), s.appendChild(e);
3256
3455
  } else if (f) {
3257
3456
  let e = document.createElement("span");
3258
3457
  e.className = "gengage-chat-product-variant-swatch", e.setAttribute("aria-hidden", "true"), e.style.backgroundColor = f, s.appendChild(e);
3259
3458
  }
3260
3459
  let p = document.createElement("span");
3261
3460
  p.className = "gengage-chat-product-variant-label", p.textContent = l, s.appendChild(p);
3262
- let m = yn(e);
3461
+ let m = En(e);
3263
3462
  if (m && String(m) !== String(c)) {
3264
3463
  let e = document.createElement("span");
3265
- e.className = "gengage-chat-product-variant-price", e.textContent = H(String(m), t.pricing), s.appendChild(e);
3464
+ e.className = "gengage-chat-product-variant-price", e.textContent = U(String(m), t.pricing), s.appendChild(e);
3266
3465
  }
3267
3466
  if (a && a !== o) {
3268
3467
  let n = i ?? "", r = (typeof e.value == "string" ? e.value.trim() : "") || (typeof e.name == "string" ? e.name.trim() : "") || (typeof e.variant_name == "string" ? e.variant_name.trim() : "") || "", o = n.length > 0 ? r.length > 0 && r !== n ? `${n} (${r})` : n : l;
@@ -3276,16 +3475,16 @@ function Tn(e, t) {
3276
3475
  }
3277
3476
  r.appendChild(s);
3278
3477
  }
3279
- r.childElementCount > 0 && (e.appendChild(r), _.appendChild(e));
3478
+ r.childElementCount > 0 && (e.appendChild(r), b.appendChild(e));
3280
3479
  }
3281
- let b = document.createElement("div");
3282
- b.className = "gengage-chat-product-details-actions";
3283
- let x = e.props?.action;
3284
- if (x) {
3480
+ let C = document.createElement("div");
3481
+ C.className = "gengage-chat-product-details-actions";
3482
+ let w = e.props?.action;
3483
+ if (w) {
3285
3484
  let e = document.createElement("button");
3286
- e.className = "gengage-chat-product-details-cta gds-btn gds-btn-primary", e.type = "button", e.textContent = x.title || t.i18n?.productCtaLabel || "View", e.addEventListener("click", () => t.onAction(x)), b.appendChild(e);
3485
+ e.className = "gengage-chat-product-details-cta gds-btn gds-btn-primary", e.type = "button", e.textContent = w.title || t.i18n?.productCtaLabel || "View", e.addEventListener("click", () => t.onAction(w)), C.appendChild(e);
3287
3486
  }
3288
- if (s && o && d !== !1) {
3487
+ if (s && o && m !== !1) {
3289
3488
  let e = document.createElement("button");
3290
3489
  e.className = "gengage-chat-product-details-atc gds-btn gds-btn-primary", e.type = "button", e.textContent = t.i18n?.addToCartButton ?? "Add to Cart", e.addEventListener("click", () => {
3291
3490
  t.onAction({
@@ -3297,20 +3496,20 @@ function Tn(e, t) {
3297
3496
  quantity: 1
3298
3497
  }
3299
3498
  });
3300
- }), b.appendChild(e);
3499
+ }), C.appendChild(e);
3301
3500
  }
3302
- let S = K(r, "url");
3303
- if (!x && S && V(S)) {
3501
+ let T = q(r, "url");
3502
+ if (!w && T && H(T)) {
3304
3503
  let e = document.createElement("a");
3305
- e.className = "gengage-chat-product-details-cta gds-btn gds-btn-secondary", h(e, "href", S), h(e, "target", "_blank"), h(e, "rel", "noopener noreferrer"), e.textContent = t.i18n?.viewOnSiteLabel ?? t.i18n?.productCtaLabel ?? "View on Site", e.addEventListener("click", (e) => {
3504
+ e.className = "gengage-chat-product-details-cta gds-btn gds-btn-secondary", h(e, "href", T), h(e, "target", "_blank"), h(e, "rel", "noopener noreferrer"), e.textContent = t.i18n?.viewOnSiteLabel ?? t.i18n?.productCtaLabel ?? "View on Site", e.addEventListener("click", (e) => {
3306
3505
  t.onProductClick && o && (e.preventDefault(), t.onProductClick({
3307
3506
  sku: o,
3308
- url: S
3507
+ url: T
3309
3508
  }));
3310
- }), b.appendChild(e);
3509
+ }), C.appendChild(e);
3311
3510
  }
3312
- let C = S;
3313
- if (C && V(C)) {
3511
+ let E = T;
3512
+ if (E && H(E)) {
3314
3513
  let e = document.createElement("button");
3315
3514
  e.className = "gengage-chat-product-details-share gds-btn gds-btn-ghost gds-icon-btn", e.type = "button";
3316
3515
  let n = t.i18n?.shareButton ?? "Share";
@@ -3329,53 +3528,53 @@ function Tn(e, t) {
3329
3528
  try {
3330
3529
  navigator.share ? await navigator.share({
3331
3530
  title: i ?? "",
3332
- url: C
3333
- }) : navigator.clipboard && (await navigator.clipboard.writeText(C), e.classList.add("gengage-chat-product-details-share--copied"), setTimeout(() => e.classList.remove("gengage-chat-product-details-share--copied"), 1500));
3531
+ url: E
3532
+ }) : navigator.clipboard && (await navigator.clipboard.writeText(E), e.classList.add("gengage-chat-product-details-share--copied"), setTimeout(() => e.classList.remove("gengage-chat-product-details-share--copied"), 1500));
3334
3533
  } catch {}
3335
- }), b.appendChild(e);
3534
+ }), C.appendChild(e);
3336
3535
  }
3337
- b.childElementCount > 0 && _.appendChild(b), n.appendChild(_);
3338
- let w = cn(r), T = dn(r);
3339
- return (w || T) && n.appendChild(kn(w, T, t)), n;
3536
+ C.childElementCount > 0 && b.appendChild(C), n.appendChild(b);
3537
+ let D = hn(r), O = vn(r);
3538
+ return (D || O) && n.appendChild(In(D, O, t)), n;
3340
3539
  }
3341
- function En(e) {
3540
+ function Nn(e) {
3342
3541
  if (e.nodeType === Node.TEXT_NODE) return document.createTextNode(e.textContent ?? "");
3343
3542
  if (e.nodeType !== Node.ELEMENT_NODE) return null;
3344
3543
  let t = e, n = t.tagName.toUpperCase();
3345
- if (en.has(n)) return null;
3346
- if (!$t.has(n)) {
3544
+ if (cn.has(n)) return null;
3545
+ if (!sn.has(n)) {
3347
3546
  let e = document.createDocumentFragment();
3348
3547
  for (let n of Array.from(t.childNodes)) {
3349
- let t = En(n);
3548
+ let t = Nn(n);
3350
3549
  t && e.appendChild(t);
3351
3550
  }
3352
3551
  return e;
3353
3552
  }
3354
3553
  let r = document.createElement(n.toLowerCase());
3355
3554
  for (let e of Array.from(t.childNodes)) {
3356
- let t = En(e);
3555
+ let t = Nn(e);
3357
3556
  t && r.appendChild(t);
3358
3557
  }
3359
3558
  return r;
3360
3559
  }
3361
- function Dn(e, t) {
3560
+ function Pn(e, t) {
3362
3561
  let n = t.split(/\n{2,}/).map((e) => e.replace(/\s+/g, " ").trim()).filter(Boolean);
3363
3562
  if (n.length !== 0) for (let t of n) {
3364
3563
  let n = document.createElement("p");
3365
3564
  n.textContent = t, e.appendChild(n);
3366
3565
  }
3367
3566
  }
3368
- function On(e, t) {
3567
+ function Fn(e, t) {
3369
3568
  if (e.classList.add("gengage-chat-product-description"), t.html && typeof DOMParser < "u") {
3370
- let n = new DOMParser().parseFromString(t.html, "text/html"), r = Array.from(n.body.childNodes).map((e) => En(e)).filter((e) => !!e && (e.nodeType === Node.ELEMENT_NODE || !!e.textContent?.trim()));
3569
+ let n = new DOMParser().parseFromString(t.html, "text/html"), r = Array.from(n.body.childNodes).map((e) => Nn(e)).filter((e) => !!e && (e.nodeType === Node.ELEMENT_NODE || !!e.textContent?.trim()));
3371
3570
  if (r.length > 0) {
3372
3571
  for (let t of r) e.appendChild(t);
3373
3572
  return;
3374
3573
  }
3375
3574
  }
3376
- Dn(e, t.text);
3575
+ Pn(e, t.text);
3377
3576
  }
3378
- function kn(e, t, n) {
3577
+ function In(e, t, n) {
3379
3578
  let r = document.createElement("div");
3380
3579
  r.className = "gengage-chat-product-detail-tabs";
3381
3580
  let i = document.createElement("div");
@@ -3385,7 +3584,7 @@ function kn(e, t, n) {
3385
3584
  let t = document.createElement("button");
3386
3585
  t.className = "gengage-chat-product-detail-tab gds-tab gengage-chat-product-detail-tab--active is-active", t.type = "button", t.setAttribute("aria-selected", "true"), t.textContent = n.i18n?.productInfoTab ?? "Product Info", i.appendChild(t);
3387
3586
  let r = document.createElement("div");
3388
- r.className = "gengage-chat-product-detail-tab-panel", On(r, e), a.push(r);
3587
+ r.className = "gengage-chat-product-detail-tab-panel", Fn(r, e), a.push(r);
3389
3588
  }
3390
3589
  if (t) {
3391
3590
  let r = document.createElement("button");
@@ -3419,7 +3618,7 @@ function kn(e, t, n) {
3419
3618
  for (let e of a) r.appendChild(e);
3420
3619
  return r;
3421
3620
  }
3422
- function An(e) {
3621
+ function Ln(e) {
3423
3622
  let t = "width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"";
3424
3623
  switch (e) {
3425
3624
  case "related": return `<svg ${t} aria-hidden="true"><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z"/></svg>`;
@@ -3428,19 +3627,19 @@ function An(e) {
3428
3627
  default: return "";
3429
3628
  }
3430
3629
  }
3431
- function jn() {
3630
+ function Rn() {
3432
3631
  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>";
3433
3632
  }
3434
- function Mn() {
3633
+ function zn() {
3435
3634
  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>";
3436
3635
  }
3437
- function Nn() {
3636
+ function Bn() {
3438
3637
  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>";
3439
3638
  }
3440
- function Pn(e, t) {
3639
+ function Vn(e, t) {
3441
3640
  return e.type === t.type && e.direction === t.direction;
3442
3641
  }
3443
- function Fn(e, t, n) {
3642
+ function Hn(e, t, n) {
3444
3643
  if (!n || n.type === "related") return e;
3445
3644
  let r = e.map((e) => {
3446
3645
  let n = t.elements[e]?.props?.product, r = n ? Number(n.price) : NaN;
@@ -3451,8 +3650,8 @@ function Fn(e, t, n) {
3451
3650
  });
3452
3651
  return r.sort((e, t) => e.price === Infinity && t.price === Infinity ? 0 : e.price === Infinity ? 1 : t.price === Infinity ? -1 : n.direction === "desc" ? t.price - e.price : e.price - t.price), r.map((e) => e.id);
3453
3652
  }
3454
- function In(e, t, n, r) {
3455
- let i = Fn(t, n, r), a = /* @__PURE__ */ new Map();
3653
+ function Un(e, t, n, r) {
3654
+ let i = Hn(t, n, r), a = /* @__PURE__ */ new Map();
3456
3655
  for (let t of Array.from(e.children)) {
3457
3656
  let e = t.dataset.elementId;
3458
3657
  e && a.set(e, t);
@@ -3462,7 +3661,7 @@ function In(e, t, n, r) {
3462
3661
  n && e.appendChild(n);
3463
3662
  }
3464
3663
  }
3465
- function Ln(e, t, n, r) {
3664
+ function Wn(e, t, n, r) {
3466
3665
  let i = document.createElement("div");
3467
3666
  i.className = "gengage-chat-product-grid-wrapper";
3468
3667
  let a = e.children ?? [], o = document.createElement("div");
@@ -3502,12 +3701,12 @@ function Ln(e, t, n, r) {
3502
3701
  let p = document.createElement("span");
3503
3702
  p.className = "gengage-chat-product-sort-trigger-label";
3504
3703
  let m = (e) => {
3505
- let t = c.find((t) => Pn(t.sortState, e)) ?? c[0];
3506
- p.textContent = t.label, f.innerHTML = An(t.icon), l.dataset.sortIcon = t.icon, u.setAttribute("aria-label", `${d}: ${t.label}`), u.title = t.label;
3704
+ let t = c.find((t) => Vn(t.sortState, e)) ?? c[0];
3705
+ p.textContent = t.label, f.innerHTML = Ln(t.icon), l.dataset.sortIcon = t.icon, u.setAttribute("aria-label", `${d}: ${t.label}`), u.title = t.label;
3507
3706
  };
3508
3707
  m(n);
3509
3708
  let h = document.createElement("span");
3510
- h.className = "gengage-chat-product-sort-trigger-chevron", h.innerHTML = jn(), u.appendChild(f), u.appendChild(p), u.appendChild(h);
3709
+ h.className = "gengage-chat-product-sort-trigger-chevron", h.innerHTML = Rn(), u.appendChild(f), u.appendChild(p), u.appendChild(h);
3511
3710
  let g = document.createElement("div");
3512
3711
  g.className = "gengage-chat-product-sort-menu gds-menu", g.hidden = !0, g.setAttribute("role", "listbox"), g.setAttribute("aria-label", d);
3513
3712
  let _ = e.ownerDocument, v = null, y = () => {
@@ -3530,17 +3729,17 @@ function Ln(e, t, n, r) {
3530
3729
  for (let e of c) {
3531
3730
  let i = document.createElement("button");
3532
3731
  i.type = "button", i.className = "gengage-chat-product-sort-option gds-menu-option", i.setAttribute("role", "option");
3533
- let s = Pn(n, e.sortState);
3732
+ let s = Vn(n, e.sortState);
3534
3733
  i.setAttribute("aria-selected", s ? "true" : "false"), s && i.classList.add("gengage-chat-product-sort-option--active", "gds-menu-option-active");
3535
3734
  let c = e.sortState.type === "related" ? "related" : `price-${e.sortState.direction ?? ""}`;
3536
3735
  i.dataset.sortKey = c;
3537
3736
  let l = document.createElement("span");
3538
- l.className = "gengage-chat-product-sort-option-icon", l.innerHTML = An(e.icon);
3737
+ l.className = "gengage-chat-product-sort-option-icon", l.innerHTML = Ln(e.icon);
3539
3738
  let u = document.createElement("span");
3540
3739
  u.className = "gengage-chat-product-sort-option-label", u.textContent = e.label;
3541
3740
  let d = document.createElement("span");
3542
- d.className = "gengage-chat-product-sort-option-check", d.innerHTML = Mn(), d.setAttribute("aria-hidden", "true"), s || d.classList.add("gengage-chat-product-sort-option-check--hidden"), i.appendChild(l), i.appendChild(u), i.appendChild(d), i.addEventListener("click", () => {
3543
- n = e.sortState, r.onSortChange?.(e.sortState), In(o, a, t, e.sortState), g.querySelectorAll(".gengage-chat-product-sort-option").forEach((e) => {
3741
+ d.className = "gengage-chat-product-sort-option-check", d.innerHTML = zn(), d.setAttribute("aria-hidden", "true"), s || d.classList.add("gengage-chat-product-sort-option-check--hidden"), i.appendChild(l), i.appendChild(u), i.appendChild(d), i.addEventListener("click", () => {
3742
+ n = e.sortState, r.onSortChange?.(e.sortState), Un(o, a, t, e.sortState), g.querySelectorAll(".gengage-chat-product-sort-option").forEach((e) => {
3544
3743
  let t = e, n = t.dataset.sortKey === c;
3545
3744
  t.classList.toggle("gengage-chat-product-sort-option--active", n), t.classList.toggle("gds-menu-option-active", n), t.setAttribute("aria-selected", n ? "true" : "false"), t.querySelector(".gengage-chat-product-sort-option-check")?.classList.toggle("gengage-chat-product-sort-option-check--hidden", !n);
3546
3745
  }), m(e.sortState), y();
@@ -3550,7 +3749,7 @@ function Ln(e, t, n, r) {
3550
3749
  let t = document.createElement("button");
3551
3750
  t.className = "gengage-chat-comparison-toggle-btn gds-btn gds-btn-ghost", t.type = "button", r.comparisonSelectMode && t.classList.add("gengage-chat-comparison-toggle-btn--active"), r.isStreaming && t.classList.add("gengage-chat-comparison-toggle-btn--hidden");
3552
3751
  let n = document.createElement("span");
3553
- n.className = "gengage-chat-comparison-toggle-icon", n.innerHTML = Nn();
3752
+ n.className = "gengage-chat-comparison-toggle-icon", n.innerHTML = Bn();
3554
3753
  let i = document.createElement("span");
3555
3754
  i.className = "gengage-chat-comparison-toggle-label";
3556
3755
  let a = r.i18n?.compareSelected ?? "Compare";
@@ -3573,13 +3772,13 @@ function Ln(e, t, n, r) {
3573
3772
  let t = document.createElement("span");
3574
3773
  t.className = "gengage-chat-product-grid-head-title", t.textContent = s, e.appendChild(t), i.appendChild(e);
3575
3774
  }
3576
- let c = Fn(a, t, r?.productSort);
3775
+ let c = Hn(a, t, r?.productSort);
3577
3776
  for (let e of c) {
3578
3777
  if (!t.elements[e]) continue;
3579
3778
  let r = n(e);
3580
3779
  r && (r.dataset.elementId = e, o.appendChild(r));
3581
3780
  }
3582
- if ((r?.isMobile ?? Vt()) && o.classList.add("gengage-chat-product-grid--mobile"), i.appendChild(o), e.props?.endOfList !== !0 && a.length > 0) {
3781
+ if ((r?.isMobile ?? Kt()) && o.classList.add("gengage-chat-product-grid--mobile"), i.appendChild(o), e.props?.endOfList !== !0 && a.length > 0) {
3583
3782
  let e = r?.i18n?.viewMoreLabel ?? "Show More", t = document.createElement("button");
3584
3783
  t.className = "gengage-chat-product-grid-view-more", t.type = "button", t.textContent = e, t.addEventListener("click", () => {
3585
3784
  r?.onAction({
@@ -3589,14 +3788,14 @@ function Ln(e, t, n, r) {
3589
3788
  });
3590
3789
  }), i.appendChild(t);
3591
3790
  }
3592
- let l = r?.isMobile ?? Vt();
3791
+ let l = r?.isMobile ?? Kt();
3593
3792
  if (r?.comparisonSelectMode && r.comparisonSelectedSkus && !l) {
3594
- let e = Ft(r.comparisonSelectedSkus, r);
3793
+ let e = Bt(r.comparisonSelectedSkus, r);
3595
3794
  i.appendChild(e);
3596
3795
  }
3597
3796
  return i;
3598
3797
  }
3599
- function Rn(e, t) {
3798
+ function Gn(e, t) {
3600
3799
  let n = e.props ?? {}, r = n.keyDifferencesHtml, i = n.recommended, a = n.products ?? [], o = n.attributes ?? [], s = n.highlights ?? [], c = n.specialCases, l = n.recommendedText, u = n.winnerHits, d = n.productActions;
3601
3800
  if (!i) return document.createElement("div");
3602
3801
  let f = {
@@ -3623,10 +3822,10 @@ function Rn(e, t) {
3623
3822
  specialCasesLabel: t.i18n.specialCasesLabel,
3624
3823
  addToCartButton: t.i18n.addToCartButton
3625
3824
  });
3626
- let p = ot(f);
3627
- return (t.isMobile ?? Vt()) && p.classList.add("gengage-chat-comparison--mobile"), p;
3825
+ let p = at(f);
3826
+ return (t.isMobile ?? Kt()) && p.classList.add("gengage-chat-comparison--mobile"), p;
3628
3827
  }
3629
- function zn(e) {
3828
+ function Kn(e) {
3630
3829
  let t = document.createElement("hr");
3631
3830
  t.className = "gengage-chat-divider";
3632
3831
  let n = e.props?.label;
@@ -3642,7 +3841,7 @@ function zn(e) {
3642
3841
  }
3643
3842
  //#endregion
3644
3843
  //#region src/chat/components/typewriter.ts
3645
- var Bn = new Set([
3844
+ var qn = new Set([
3646
3845
  "P",
3647
3846
  "DIV",
3648
3847
  "H1",
@@ -3665,23 +3864,23 @@ var Bn = new Set([
3665
3864
  "DT",
3666
3865
  "DD"
3667
3866
  ]);
3668
- function Vn(e) {
3867
+ function Jn(e) {
3669
3868
  let t = [], n = [];
3670
- for (let r of e) r.nodeType === Node.ELEMENT_NODE && Bn.has(r.tagName) ? (n.length > 0 && (t.push(n), n = []), t.push([r])) : n.push(r);
3869
+ for (let r of e) r.nodeType === Node.ELEMENT_NODE && qn.has(r.tagName) ? (n.length > 0 && (t.push(n), n = []), t.push([r])) : n.push(r);
3671
3870
  return n.length > 0 && t.push(n), t;
3672
3871
  }
3673
- function Hn(e) {
3872
+ function Yn(e) {
3674
3873
  for (let t of e) for (let e of t) if (e.nodeType === Node.ELEMENT_NODE && (e.tagName === "TABLE" || e.querySelector?.("table"))) return !0;
3675
3874
  return !1;
3676
3875
  }
3677
- function Un() {
3876
+ function Xn() {
3678
3877
  return typeof window > "u" || typeof window.matchMedia != "function" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches;
3679
3878
  }
3680
- function Wn(e) {
3879
+ function Zn(e) {
3681
3880
  let { container: t, html: n, delayMs: r = 30, onTick: i, onComplete: a } = e, o = document.createElement("template");
3682
3881
  o.innerHTML = n;
3683
- let s = Vn(o.content.childNodes);
3684
- if (Un() || s.length <= 1 || Hn(s)) return t.innerHTML = n, a?.(), {
3882
+ let s = Jn(o.content.childNodes);
3883
+ if (Xn() || s.length <= 1 || Yn(s)) return t.innerHTML = n, a?.(), {
3685
3884
  complete() {},
3686
3885
  cancel() {},
3687
3886
  isRunning: !1
@@ -3712,10 +3911,10 @@ function Wn(e) {
3712
3911
  }
3713
3912
  //#endregion
3714
3913
  //#region src/chat/components/productMentionLinker.ts
3715
- function Gn(e) {
3914
+ function Qn(e) {
3716
3915
  return e !== void 0 && /[\p{L}\p{N}_]/u.test(e);
3717
3916
  }
3718
- function Kn(e) {
3917
+ function $n(e) {
3719
3918
  let { container: t, mentions: n, onProductClick: r } = e;
3720
3919
  if (n.length === 0) return;
3721
3920
  let i = /* @__PURE__ */ new Map();
@@ -3729,7 +3928,7 @@ function Kn(e) {
3729
3928
  continue;
3730
3929
  }
3731
3930
  let c = s > 0 ? t[s - 1] : void 0, l = t[s + n.short_name.length];
3732
- if (Gn(c) || Gn(l)) {
3931
+ if (Qn(c) || Qn(l)) {
3733
3932
  a = i.nextNode();
3734
3933
  continue;
3735
3934
  }
@@ -3747,25 +3946,25 @@ function Kn(e) {
3747
3946
  }
3748
3947
  //#endregion
3749
3948
  //#region src/chat/components/actionClassifier.ts
3750
- var qn = new Set([
3949
+ var er = new Set([
3751
3950
  "search",
3752
3951
  "info",
3753
3952
  "review",
3754
3953
  "similar"
3755
- ]), Jn = new Set([
3954
+ ]), tr = new Set([
3756
3955
  "quickAnswer",
3757
3956
  "reviewSummary",
3758
3957
  "searchDiscovery",
3759
3958
  "launchDiscovery",
3760
3959
  "exploreTogetherV2"
3761
3960
  ]);
3762
- function Yn(e) {
3763
- return !!(e.icon && qn.has(e.icon) || e.action?.type && Jn.has(e.action.type));
3961
+ function nr(e) {
3962
+ return !!(e.icon && er.has(e.icon) || e.action?.type && tr.has(e.action.type));
3764
3963
  }
3765
3964
  //#endregion
3766
3965
  //#region src/chat/components/ChoicePrompter.ts
3767
- var Xn = "gengage_choice_prompter_dismissed", Zn = "gengage_choice_prompter_dismissed_global";
3768
- function Qn(e) {
3966
+ var rr = "gengage_choice_prompter_dismissed", ir = "gengage_choice_prompter_dismissed_global";
3967
+ function ar(e) {
3769
3968
  let t = document.createElement("div");
3770
3969
  t.className = "gengage-chat-choice-prompter gds-card", t.dataset.gengagePart = "choice-prompter";
3771
3970
  let n = document.createElement("div");
@@ -3776,50 +3975,50 @@ function Qn(e) {
3776
3975
  i.className = "gengage-chat-choice-prompter-suggestion", i.textContent = e.suggestion, n.appendChild(i), t.appendChild(n);
3777
3976
  let a = document.createElement("button");
3778
3977
  a.type = "button", a.className = "gengage-chat-choice-prompter-cta gds-btn gds-btn-primary", a.dataset.gengagePart = "choice-prompter-cta", a.textContent = e.ctaLabel, a.addEventListener("click", () => {
3779
- tr(e.threadId), t.remove(), e.onCtaClick();
3978
+ cr(e.threadId), t.remove(), e.onCtaClick();
3780
3979
  }), t.appendChild(a);
3781
3980
  let o = document.createElement("button");
3782
3981
  return o.type = "button", o.className = "gengage-chat-choice-prompter-dismiss", o.dataset.gengagePart = "choice-prompter-dismiss", o.textContent = "×", o.setAttribute("aria-label", e.dismissAriaLabel ?? "Dismiss"), o.addEventListener("click", () => {
3783
- tr(e.threadId), t.remove(), e.onDismiss?.();
3982
+ cr(e.threadId), t.remove(), e.onDismiss?.();
3784
3983
  }), t.appendChild(o), t;
3785
3984
  }
3786
- function $n() {
3985
+ function or() {
3787
3986
  try {
3788
- sessionStorage.removeItem(Xn), sessionStorage.removeItem(Zn);
3987
+ sessionStorage.removeItem(rr), sessionStorage.removeItem(ir);
3789
3988
  } catch {}
3790
3989
  }
3791
- function er(e) {
3990
+ function sr(e) {
3792
3991
  try {
3793
- let t = sessionStorage.getItem(Xn);
3992
+ let t = sessionStorage.getItem(rr);
3794
3993
  return t ? JSON.parse(t).includes(e) : !1;
3795
3994
  } catch {
3796
3995
  return !1;
3797
3996
  }
3798
3997
  }
3799
- function tr(e) {
3998
+ function cr(e) {
3800
3999
  try {
3801
- let t = sessionStorage.getItem(Xn), n = t ? JSON.parse(t) : [];
3802
- n.includes(e) || n.push(e), sessionStorage.setItem(Xn, JSON.stringify(n));
4000
+ let t = sessionStorage.getItem(rr), n = t ? JSON.parse(t) : [];
4001
+ n.includes(e) || n.push(e), sessionStorage.setItem(rr, JSON.stringify(n));
3803
4002
  } catch {}
3804
4003
  }
3805
- function nr(e) {
3806
- e && tr(e);
4004
+ function lr(e) {
4005
+ e && cr(e);
3807
4006
  }
3808
4007
  //#endregion
3809
4008
  //#region src/common/indexed-db.ts
3810
- var rr = "gengage_assistant", ir = 3, J = "sessions", Y = "context", X = "payload", Z = "favorites";
3811
- function ar(e) {
4009
+ var ur = "gengage_assistant", dr = 3, Y = "sessions", X = "context", Z = "payload", Q = "favorites";
4010
+ function fr(e) {
3812
4011
  return new Promise((t, n) => {
3813
4012
  e.onsuccess = () => t(e.result), e.onerror = () => n(e.error);
3814
4013
  });
3815
4014
  }
3816
- function Q(e) {
4015
+ function $(e) {
3817
4016
  return new Promise((t, n) => {
3818
4017
  e.oncomplete = () => t(), e.onerror = () => n(e.error), e.onabort = () => n(e.error ?? new DOMException("Transaction aborted"));
3819
4018
  });
3820
4019
  }
3821
- var or = class {
3822
- constructor(e = rr, t = ir) {
4020
+ var pr = class {
4021
+ constructor(e = ur, t = dr) {
3823
4022
  this._db = null, this._dbName = e, this._version = t;
3824
4023
  }
3825
4024
  async open() {
@@ -3827,19 +4026,19 @@ var or = class {
3827
4026
  let n = indexedDB.open(this._dbName, this._version);
3828
4027
  n.onupgradeneeded = (e) => {
3829
4028
  let t = n.result, r = e.oldVersion;
3830
- r < 1 && (t.createObjectStore(J, { keyPath: [
4029
+ r < 1 && (t.createObjectStore(Y, { keyPath: [
3831
4030
  "userId",
3832
4031
  "appId",
3833
4032
  "sessionId"
3834
- ] }), t.createObjectStore(Y, { keyPath: ["sessionId", "threadId"] }), t.createObjectStore(X, { keyPath: ["threadId", "messageId"] }).createIndex("threadId", "threadId", { unique: !1 }), t.createObjectStore(Z, { keyPath: [
4033
+ ] }), t.createObjectStore(X, { keyPath: ["sessionId", "threadId"] }), t.createObjectStore(Z, { keyPath: ["threadId", "messageId"] }).createIndex("threadId", "threadId", { unique: !1 }), t.createObjectStore(Q, { keyPath: [
3835
4034
  "userId",
3836
4035
  "appId",
3837
4036
  "sku"
3838
- ] })), r >= 1 && r < 2 && (t.objectStoreNames.contains(J) && t.deleteObjectStore(J), t.objectStoreNames.contains(X) && t.deleteObjectStore(X), t.createObjectStore(J, { keyPath: [
4037
+ ] })), r >= 1 && r < 2 && (t.objectStoreNames.contains(Y) && t.deleteObjectStore(Y), t.objectStoreNames.contains(Z) && t.deleteObjectStore(Z), t.createObjectStore(Y, { keyPath: [
3839
4038
  "userId",
3840
4039
  "appId",
3841
4040
  "sessionId"
3842
- ] }), t.createObjectStore(X, { keyPath: ["threadId", "messageId"] }).createIndex("threadId", "threadId", { unique: !1 }), t.objectStoreNames.contains(Y) || t.createObjectStore(Y, { keyPath: ["sessionId", "threadId"] })), r < 3 && (t.objectStoreNames.contains(Z) || t.createObjectStore(Z, { keyPath: [
4041
+ ] }), t.createObjectStore(Z, { keyPath: ["threadId", "messageId"] }).createIndex("threadId", "threadId", { unique: !1 }), t.objectStoreNames.contains(X) || t.createObjectStore(X, { keyPath: ["sessionId", "threadId"] })), r < 3 && (t.objectStoreNames.contains(Q) || t.createObjectStore(Q, { keyPath: [
3843
4042
  "userId",
3844
4043
  "appId",
3845
4044
  "sku"
@@ -3853,25 +4052,25 @@ var or = class {
3853
4052
  this._db?.close(), this._db = null;
3854
4053
  }
3855
4054
  async saveSession(e) {
3856
- let t = this._requireDb().transaction(J, "readwrite");
3857
- t.objectStore(J).put(e), await Q(t);
4055
+ let t = this._requireDb().transaction(Y, "readwrite");
4056
+ t.objectStore(Y).put(e), await $(t);
3858
4057
  }
3859
4058
  async loadSession(e, t, n) {
3860
- return await ar(this._requireDb().transaction(J, "readonly").objectStore(J).get([
4059
+ return await fr(this._requireDb().transaction(Y, "readonly").objectStore(Y).get([
3861
4060
  e,
3862
4061
  t,
3863
4062
  n
3864
4063
  ])) ?? null;
3865
4064
  }
3866
4065
  async saveContext(e) {
3867
- let t = this._requireDb().transaction(Y, "readwrite");
3868
- t.objectStore(Y).put(e), await Q(t);
4066
+ let t = this._requireDb().transaction(X, "readwrite");
4067
+ t.objectStore(X).put(e), await $(t);
3869
4068
  }
3870
4069
  async loadContext(e, t) {
3871
- return await ar(this._requireDb().transaction(Y, "readonly").objectStore(Y).get([e, t])) ?? null;
4070
+ return await fr(this._requireDb().transaction(X, "readonly").objectStore(X).get([e, t])) ?? null;
3872
4071
  }
3873
4072
  async deleteContextsAfterThread(e, t) {
3874
- let n = this._requireDb().transaction(Y, "readwrite"), r = n.objectStore(Y).openCursor();
4073
+ let n = this._requireDb().transaction(X, "readwrite"), r = n.objectStore(X).openCursor();
3875
4074
  await new Promise((n, i) => {
3876
4075
  r.onsuccess = () => {
3877
4076
  let i = r.result;
@@ -3885,10 +4084,10 @@ var or = class {
3885
4084
  } catch {}
3886
4085
  i.continue();
3887
4086
  }, r.onerror = () => i(r.error);
3888
- }), await Q(n);
4087
+ }), await $(n);
3889
4088
  }
3890
4089
  async loadLatestContext(e) {
3891
- let t = this._requireDb().transaction(Y, "readonly").objectStore(Y), n = IDBKeyRange.bound([e, ""], [e, "￿"]);
4090
+ let t = this._requireDb().transaction(X, "readonly").objectStore(X), n = IDBKeyRange.bound([e, ""], [e, "￿"]);
3892
4091
  return new Promise((e, r) => {
3893
4092
  let i = t.openCursor(n, "prev");
3894
4093
  i.onsuccess = () => {
@@ -3898,14 +4097,14 @@ var or = class {
3898
4097
  });
3899
4098
  }
3900
4099
  async savePayload(e) {
3901
- let t = this._requireDb().transaction(X, "readwrite");
3902
- t.objectStore(X).put(e), await Q(t);
4100
+ let t = this._requireDb().transaction(Z, "readwrite");
4101
+ t.objectStore(Z).put(e), await $(t);
3903
4102
  }
3904
4103
  async loadPayload(e, t) {
3905
- return await ar(this._requireDb().transaction(X, "readonly").objectStore(X).get([e, t])) ?? null;
4104
+ return await fr(this._requireDb().transaction(Z, "readonly").objectStore(Z).get([e, t])) ?? null;
3906
4105
  }
3907
4106
  async loadPayloadsByThread(e) {
3908
- let t = this._requireDb().transaction(X, "readonly").objectStore(X).index("threadId"), n = [];
4107
+ let t = this._requireDb().transaction(Z, "readonly").objectStore(Z).index("threadId"), n = [];
3909
4108
  return new Promise((r, i) => {
3910
4109
  let a = t.openCursor(IDBKeyRange.only(e));
3911
4110
  a.onsuccess = () => {
@@ -3919,22 +4118,22 @@ var or = class {
3919
4118
  });
3920
4119
  }
3921
4120
  async saveFavorite(e) {
3922
- let t = this._requireDb().transaction(Z, "readwrite");
3923
- t.objectStore(Z).put(e), await Q(t);
4121
+ let t = this._requireDb().transaction(Q, "readwrite");
4122
+ t.objectStore(Q).put(e), await $(t);
3924
4123
  }
3925
4124
  async removeFavorite(e, t, n) {
3926
- let r = this._requireDb().transaction(Z, "readwrite");
3927
- r.objectStore(Z).delete([
4125
+ let r = this._requireDb().transaction(Q, "readwrite");
4126
+ r.objectStore(Q).delete([
3928
4127
  e,
3929
4128
  t,
3930
4129
  n
3931
- ]), await Q(r);
4130
+ ]), await $(r);
3932
4131
  }
3933
4132
  async loadFavorites(e, t) {
3934
- return (await ar(this._requireDb().transaction(Z, "readonly").objectStore(Z).getAll())).filter((n) => n.userId === e && n.appId === t);
4133
+ return (await fr(this._requireDb().transaction(Q, "readonly").objectStore(Q).getAll())).filter((n) => n.userId === e && n.appId === t);
3935
4134
  }
3936
4135
  async isFavorite(e, t, n) {
3937
- return await ar(this._requireDb().transaction(Z, "readonly").objectStore(Z).get([
4136
+ return await fr(this._requireDb().transaction(Q, "readonly").objectStore(Q).get([
3938
4137
  e,
3939
4138
  t,
3940
4139
  n
@@ -3944,15 +4143,15 @@ var or = class {
3944
4143
  if (!this._db) throw Error("GengageIndexedDB: database not open. Call open() first.");
3945
4144
  return this._db;
3946
4145
  }
3947
- }, sr = [
4146
+ }, mr = [
3948
4147
  "comparisonTable",
3949
4148
  "groupList",
3950
4149
  "productDetailsSimilars",
3951
4150
  "productList"
3952
- ], cr = class {
4151
+ ], hr = class {
3953
4152
  constructor(e) {
3954
4153
  this._lockCount = 1, this._hiddenByUser = !1, this._lastPanelContentType = null, this._chatShown = !1, this._isFavoritesMode = !1, this._lastExtended = !1, this._onChange = e.onChange;
3955
- let t = new Set(sr);
4154
+ let t = new Set(mr);
3956
4155
  e.productDetailsInPanel && t.add("productDetails"), this._panelContentTypes = t;
3957
4156
  }
3958
4157
  get isExtended() {
@@ -3980,7 +4179,7 @@ var or = class {
3980
4179
  let e = this.isExtended;
3981
4180
  e !== this._lastExtended && (this._lastExtended = e, this._onChange(e));
3982
4181
  }
3983
- }, lr = class {
4182
+ }, gr = class {
3984
4183
  constructor(e) {
3985
4184
  this.deps = e, this.snapshots = /* @__PURE__ */ new Map(), this._snapshotRebuilders = /* @__PURE__ */ new Map(), this.snapshotTypes = /* @__PURE__ */ new Map(), this.activePanelMessageId = null, this.currentType = null, this.threads = [], this.lastActionType = null;
3986
4185
  }
@@ -4018,7 +4217,7 @@ var or = class {
4018
4217
  let n = this.deps.i18n();
4019
4218
  switch (e) {
4020
4219
  case "ProductDetailsPanel": return n.panelTitleProductDetails;
4021
- case "ProductGrid": return ur(this.lastActionType) ? n.panelTitleSearchResults : n.panelTitleSimilarProducts;
4220
+ case "ProductGrid": return _r(this.lastActionType) ? n.panelTitleSearchResults : n.panelTitleSimilarProducts;
4022
4221
  case "ComparisonTable": return n.panelTitleComparisonResults;
4023
4222
  case "AIGroupingCards": return n.panelTitleCategories;
4024
4223
  default: return "";
@@ -4033,7 +4232,7 @@ var or = class {
4033
4232
  updateTopBarForLoading(e) {
4034
4233
  let t = this.deps.i18n(), n = {
4035
4234
  productDetails: t.panelTitleProductDetails,
4036
- productList: ur(this.lastActionType) ? t.panelTitleSearchResults : t.panelTitleSimilarProducts,
4235
+ productList: _r(this.lastActionType) ? t.panelTitleSearchResults : t.panelTitleSimilarProducts,
4037
4236
  comparisonTable: t.panelTitleComparisonResults,
4038
4237
  groupList: t.panelTitleCategories
4039
4238
  }[e] ?? "";
@@ -4088,15 +4287,15 @@ var or = class {
4088
4287
  this.snapshots.clear(), this._snapshotRebuilders.clear(), this.snapshotTypes.clear(), this.activePanelMessageId = null, this.currentType = null, this.threads = [];
4089
4288
  }
4090
4289
  };
4091
- function ur(e) {
4290
+ function _r(e) {
4092
4291
  return e === "user_message" || e === "inputText";
4093
4292
  }
4094
- function dr(e) {
4293
+ function vr(e) {
4095
4294
  return e.similarsAppend && e.currentPanelType === "ProductDetailsPanel" && e.hasPanelContent && !e.isPanelLoading ? "appendSimilars" : e.componentType === "ProductGrid" && !e.isFirstPanelContentInStream && e.hasPanelContent && !e.isPanelLoading ? "append" : "replace";
4096
4295
  }
4097
4296
  //#endregion
4098
4297
  //#region src/chat/session-persistence.ts
4099
- var fr = class {
4298
+ var yr = class {
4100
4299
  constructor(e) {
4101
4300
  this.favoritedSkus = /* @__PURE__ */ new Set(), this._favoritesCache = /* @__PURE__ */ new Map(), this._persistLock = Promise.resolve(), this._db = e;
4102
4301
  }
@@ -4157,7 +4356,7 @@ var fr = class {
4157
4356
  try {
4158
4357
  await t();
4159
4358
  } catch {}
4160
- n?.send("openURLInNewTab", { url: e }), V(e) && (window.location.href = e);
4359
+ n?.send("openURLInNewTab", { url: e }), H(e) && (window.location.href = e);
4161
4360
  }
4162
4361
  async loadPayload(e, t) {
4163
4362
  if (!this._db) return null;
@@ -4197,7 +4396,7 @@ var fr = class {
4197
4396
  close() {
4198
4397
  this._db?.close(), this._db = null;
4199
4398
  }
4200
- }, pr = (e) => `${e}:assistant`, mr = class {
4399
+ }, br = (e) => `${e}:assistant`, xr = class {
4201
4400
  constructor() {
4202
4401
  this.groups = {}, this.pinnedToBottom = !0, this.userInteracting = !1, this.focusedThreadId = null, this.shown = !1, this.lastAutoAnchoredGroupId = null, this.scrollRequest = null, this._nextScrollId = 1;
4203
4402
  }
@@ -4208,7 +4407,7 @@ var fr = class {
4208
4407
  this.groups = {}, this.pinnedToBottom = !0, this.userInteracting = !1, this.focusedThreadId = null, this.lastAutoAnchoredGroupId = null, this.scrollRequest = null;
4209
4408
  }
4210
4409
  registerAssistantActivity(e) {
4211
- let t = pr(e), n = this.groups[t], r = this.shown && this.pinnedToBottom && !this.userInteracting ? "active_unread" : "unseen";
4410
+ let t = br(e), n = this.groups[t], r = this.shown && this.pinnedToBottom && !this.userInteracting ? "active_unread" : "unseen";
4212
4411
  this.groups[t] = {
4213
4412
  id: t,
4214
4413
  threadId: e,
@@ -4218,7 +4417,7 @@ var fr = class {
4218
4417
  }, n?.readState === "seen" && this.lastAutoAnchoredGroupId === t && (this.lastAutoAnchoredGroupId = null);
4219
4418
  }
4220
4419
  finalizeAssistantGroup(e) {
4221
- let t = pr(e), n = this.groups[t];
4420
+ let t = br(e), n = this.groups[t];
4222
4421
  n && (n.status = "complete", n.updatedAt = Date.now());
4223
4422
  }
4224
4423
  setGroupReadStates(e) {
@@ -4259,10 +4458,10 @@ var fr = class {
4259
4458
  return this.shown && this.userInteracting && !this.pinnedToBottom;
4260
4459
  }
4261
4460
  getAssistantReadState(e) {
4262
- return this.groups[pr(e)]?.readState;
4461
+ return this.groups[br(e)]?.readState;
4263
4462
  }
4264
4463
  };
4265
- function hr(e, t) {
4464
+ function Sr(e, t) {
4266
4465
  for (let n = e.length - 1; n >= 0; n--) {
4267
4466
  let r = e[n], i = t.getAssistantReadState(r);
4268
4467
  if (i !== void 0 && i !== "seen") return r;
@@ -4271,7 +4470,7 @@ function hr(e, t) {
4271
4470
  }
4272
4471
  //#endregion
4273
4472
  //#region src/common/pill-launcher.ts
4274
- function gr(e) {
4473
+ function Cr(e) {
4275
4474
  let { label: t, avatarUrl: n, primaryColor: r, secondaryColor: i = "#111827", fontFamily: a = "inherit", labelClassName: o = "gengage-pill-launcher-label", styleId: s = "gengage-pill-launcher-style", mobileBreakpoint: c = 768, desktopWidth: l = "188px", desktopHeight: u = "60px", iconSize: d = "46px" } = e, f = `${parseInt(l, 10) - 14}px`, p = `${parseInt(u, 10) - 4}px`, m = `${parseInt(d, 10) - 4}px`, h = `
4276
4475
  :host {
4277
4476
  --pill-primary: ${r};
@@ -4399,7 +4598,7 @@ button[data-gengage-part="chat-launcher-button"] img {
4399
4598
  }
4400
4599
  //#endregion
4401
4600
  //#region src/chat/stream-error-display.ts
4402
- var _r = /^HTTP\s+\d{3}\b/i, vr = [
4601
+ var wr = /^HTTP\s+\d{3}\b/i, Tr = [
4403
4602
  /response body is null/i,
4404
4603
  /streaming not supported/i,
4405
4604
  /ECONNREFUSED/i,
@@ -4410,7 +4609,7 @@ var _r = /^HTTP\s+\d{3}\b/i, vr = [
4410
4609
  /502\s+bad gateway/i,
4411
4610
  /503\s+service unavailable/i,
4412
4611
  /504\s+gateway timeout/i
4413
- ], yr = [
4612
+ ], Er = [
4414
4613
  /Traceback\s*\(/i,
4415
4614
  /\bSyntaxError\b/,
4416
4615
  /\bReferenceError\b/,
@@ -4422,68 +4621,68 @@ var _r = /^HTTP\s+\d{3}\b/i, vr = [
4422
4621
  /<anonymous>/i,
4423
4622
  /ChunkLoadError/i,
4424
4623
  /UnhandledPromiseRejection/i
4425
- ], br = 720;
4426
- function xr(e, t) {
4624
+ ], Dr = 720;
4625
+ function Or(e, t) {
4427
4626
  if (g(e)) return !0;
4428
4627
  let n = e.message.trim();
4429
- if (_r.test(n) || vr.some((e) => e.test(n))) return !0;
4628
+ if (wr.test(n) || Tr.some((e) => e.test(n))) return !0;
4430
4629
  let r = t.trim();
4431
- if (r.length > br) return !0;
4630
+ if (r.length > Dr) return !0;
4432
4631
  let i = r.split(/\n/).length;
4433
- return !!(i >= 6 || yr.some((e) => e.test(r)) || i >= 3 && /\bat\s+/.test(r));
4632
+ return !!(i >= 6 || Er.some((e) => e.test(r)) || i >= 3 && /\bat\s+/.test(r));
4434
4633
  }
4435
4634
  //#endregion
4436
4635
  //#region src/chat/kvkk.ts
4437
- var Sr = "gengage_kvkk_shown", Cr = [
4636
+ var kr = "gengage_kvkk_shown", Ar = [
4438
4637
  "kvkk",
4439
4638
  "kişisel veri",
4440
4639
  "kisisel veri"
4441
- ], wr = /\b6698\b/;
4442
- function Tr(e) {
4640
+ ], jr = /\b6698\b/;
4641
+ function Mr(e) {
4443
4642
  let t = e.toLowerCase();
4444
- return Cr.some((e) => t.includes(e)) || wr.test(t);
4643
+ return Ar.some((e) => t.includes(e)) || jr.test(t);
4445
4644
  }
4446
- function Er(e) {
4645
+ function Nr(e) {
4447
4646
  try {
4448
- return localStorage.getItem(`${Sr}_${e}`) === "1";
4647
+ return localStorage.getItem(`${kr}_${e}`) === "1";
4449
4648
  } catch {
4450
4649
  return !1;
4451
4650
  }
4452
4651
  }
4453
- function Dr(e) {
4652
+ function Pr(e) {
4454
4653
  try {
4455
- localStorage.setItem(`${Sr}_${e}`, "1");
4654
+ localStorage.setItem(`${kr}_${e}`, "1");
4456
4655
  } catch {}
4457
4656
  }
4458
- function Or(e) {
4657
+ function Fr(e) {
4459
4658
  let t = new DOMParser().parseFromString(e, "text/html").body, n = Array.from(t.children);
4460
- for (let e of n) if (Tr(e.textContent ?? "")) {
4659
+ for (let e of n) if (Mr(e.textContent ?? "")) {
4461
4660
  e.remove();
4462
4661
  break;
4463
4662
  }
4464
4663
  return t.innerHTML.trim();
4465
4664
  }
4466
- function kr(e) {
4665
+ function Ir(e) {
4467
4666
  let t = new DOMParser().parseFromString(e, "text/html");
4468
- for (let e of Array.from(t.body.children)) if (Tr(e.textContent ?? "")) return e.outerHTML;
4667
+ for (let e of Array.from(t.body.children)) if (Mr(e.textContent ?? "")) return e.outerHTML;
4469
4668
  return null;
4470
4669
  }
4471
- var Ar = {
4670
+ var Lr = {
4472
4671
  tr: "TURKISH",
4473
4672
  en: "ENGLISH",
4474
4673
  de: "GERMAN",
4475
4674
  fr: "FRENCH"
4476
4675
  };
4477
- function jr(e) {
4478
- return e ? Ar[e.toLowerCase().slice(0, 2)] ?? "TURKISH" : "TURKISH";
4676
+ function Rr(e) {
4677
+ return e ? Lr[e.toLowerCase().slice(0, 2)] ?? "TURKISH" : "TURKISH";
4479
4678
  }
4480
4679
  //#endregion
4481
4680
  //#region src/chat/components/chat.css?inline
4482
- var Mr = ":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%;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:8px 14px;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%;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;font-size:13px;line-height:1.5}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;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-size:var(--gengage-chat-launcher-size,56px);--_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-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-bottom);right:var(--_gengage-chat-launcher-right);z-index:var(--gengage-z-index,2147480000);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-size);height:var(--_gengage-chat-launcher-size);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--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-mobile-right,16px);bottom:calc(var(--gengage-chat-launcher-mobile-bottom,16px) + env(safe-area-inset-bottom,0px))}.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{border-radius:0;height:100dvh;max-height:100dvh;top:0}.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);transform:translateY(calc(-1 * var(--gengage-keyboard-offset,0px)))}.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}.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-divider-preview{pointer-events:none;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:38px;height:192px;box-shadow:var(--shadow-2);z-index:1;border-radius:999px;flex-direction:column;gap:2px;padding:6px 4px;display:none;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-preview:after{content:\"\";background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--surface-shell) 10%, transparent));pointer-events:none;position:absolute;inset:0}.gengage-chat-panel-divider-preview-thumb{border-radius:999px;flex:1 1 0;min-height:0;position:relative;overflow:hidden}.gengage-chat-panel-divider-preview-img{object-fit:cover;filter:grayscale(.55)saturate(.8)brightness(.92);opacity:.9;width:100%;height:100%;transform:scale(1.14)}.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-panel--collapsed~.gengage-chat-panel-divider.gengage-chat-panel-divider--preview-active .gengage-chat-panel-divider-preview{display:flex;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-panel-divider--preview-active .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle)}.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{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--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.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--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-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{background:var(--surface-card);border:1px solid var(--border-default);min-width:0;min-height:52px;box-shadow:none;border-radius:16px;flex:1;align-items:center;gap:12px;padding:6px 6px 6px 14px;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{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;align-content:center;padding:0;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{min-height:52px;padding:6px 6px 6px 14px}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;font-size:16px;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:normal}.gengage-chat-send{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);width:40px;min-width:40px;height:40px;color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;border-radius:12px;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:inherit;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-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-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(--client-primary)}.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}.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-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-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-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(--client-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-current-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:40px;height:40px;color:var(--text-primary);border-radius:12px;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}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:44px;min-width:44px;height:44px}.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-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}.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 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,.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-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price,.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:140px}.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{object-fit:contain;flex-shrink:0;width:100%;height:100%;max-height:140px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{max-height:260px}.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{box-sizing:border-box;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;padding:12px;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{z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.05em;pointer-events:none;white-space:normal;border-radius:999px;max-width:calc(100% - 24px);padding:2px 10px;font-size:10px;font-weight:700;line-height:1.25;position:absolute;top:-10px;left:12px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card-muted);color:var(--text-secondary)}.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:auto;max-width:100%;height:auto;max-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-original-price{color:var(--text-secondary);font-size:12px;font-weight:400;text-decoration:line-through}.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::-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-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--winner .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{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{object-fit:contain;width:100%;height:100%;max-height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .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{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{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--winner .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;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-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-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:inset 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-comparison-dock-slot:not(:empty){z-index:30;padding:0 10px max(6px, env(safe-area-inset-bottom,0px));box-sizing:border-box;pointer-events:none;max-width:100%;display:block;position:absolute;bottom:0;left:0;right:0}.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-thumbnails-column{pointer-events:none;display:none!important}.gengage-chat-thumbnail-btn{border:2px solid var(--border-default);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card);cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:border-color .15s;display:flex;overflow:hidden}.gengage-chat-thumbnail-btn:hover{border-color:var(--client-primary)}.gengage-chat-thumbnail-img{object-fit:cover;width:100%;height:100%}.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:none;background:var(--surface-card);border:1px solid var(--border-default);width:auto;max-width:none;box-shadow:var(--shadow-2);z-index:5;opacity:0;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-left:0;margin-right:0;padding:12px 14px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:12px;left:16px;right:16px;transform:translateY(12px)}.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-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:var(--surface-card-soft);min-width:32px;min-height:32px;color:var(--text-muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;top:10px;right:10px}.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;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s}.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-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.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-thumbnail-btn: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-choice-prompter{grid-template-columns:1fr;width:auto;max-width:none;max-height:40vh;bottom:12px;left:12px;right:12px;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta{width:100%}.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-trigger{justify-content:center;gap:0;width:auto;min-width:44px;padding:0 10px}.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-choice-prompter-dismiss{width:32px;height:32px}.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}.gengage-skeleton{gap:12px;padding:12px;display:flex}.gengage-skeleton--message{flex-direction:column;gap:8px;padding:16px}.gengage-skeleton-card{flex-direction:column;flex:1;gap:8px;display:flex}.gengage-skeleton-img{border-radius:var(--radius-control);height:120px}.gengage-skeleton-text{border-radius:4px;height:14px}.gengage-skeleton-price{border-radius:4px;width:60%;height:14px}.gengage-skeleton-line{border-radius:4px;height:12px}@media (prefers-reduced-motion:no-preference){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:linear-gradient(90deg, var(--ds-neutral-100) 25%, var(--ds-neutral-200) 50%, var(--ds-neutral-100) 75%);background-size:200% 100%;animation:1.5s infinite gengage-shimmer}@keyframes gengage-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}@media (prefers-reduced-motion:reduce){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:var(--ds-neutral-100)}}.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}@media (prefers-reduced-motion:no-preference){.gengage-chat-panel--transitioning{opacity:0;transition:opacity .15s}}.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}", Nr = o({
4681
+ var zr = ":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%;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:8px 14px;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%;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;font-size:13px;line-height:1.5}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;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-size:var(--gengage-chat-launcher-size,56px);--_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-bottom);right:var(--_gengage-chat-launcher-right);z-index:var(--gengage-z-index,2147480000);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-size);height:var(--_gengage-chat-launcher-size);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--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-mobile-right,16px);bottom:calc(var(--gengage-chat-launcher-mobile-bottom,16px) + env(safe-area-inset-bottom,0px))}.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{border-radius:0;height:100dvh;max-height:100dvh;top:0}.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);transform:translateY(calc(-1 * var(--gengage-keyboard-offset,0px)))}.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}.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-divider-preview{pointer-events:none;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:38px;height:192px;box-shadow:var(--shadow-2);z-index:1;border-radius:999px;flex-direction:column;gap:2px;padding:6px 4px;display:none;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-preview:after{content:\"\";background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--surface-shell) 10%, transparent));pointer-events:none;position:absolute;inset:0}.gengage-chat-panel-divider-preview-thumb{border-radius:999px;flex:1 1 0;min-height:0;position:relative;overflow:hidden}.gengage-chat-panel-divider-preview-img{object-fit:cover;filter:grayscale(.55)saturate(.8)brightness(.92);opacity:.9;width:100%;height:100%;transform:scale(1.14)}.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-panel--collapsed~.gengage-chat-panel-divider.gengage-chat-panel-divider--preview-active .gengage-chat-panel-divider-preview{display:flex;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-panel-divider--preview-active .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle)}.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{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--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.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--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-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{background:var(--surface-card);border:1px solid var(--border-default);min-width:0;min-height:52px;box-shadow:none;border-radius:16px;flex:1;align-items:center;gap:12px;padding:6px 6px 6px 14px;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{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;align-content:center;padding:0;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{min-height:52px;padding:6px 6px 6px 14px}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;font-size:16px;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:normal}.gengage-chat-send{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);width:40px;min-width:40px;height:40px;color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;border-radius:12px;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-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}.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-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-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-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:40px;height:40px;color:var(--text-primary);border-radius:12px;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}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:44px;min-width:44px;height:44px}.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}.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 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,.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-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price,.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:140px}.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{object-fit:contain;flex-shrink:0;width:100%;height:100%;max-height:140px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{max-height:260px}.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{box-sizing:border-box;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;padding:12px;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{z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.05em;pointer-events:none;white-space:normal;border-radius:999px;max-width:calc(100% - 24px);padding:2px 10px;font-size:10px;font-weight:700;line-height:1.25;position:absolute;top:-10px;left:12px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card-muted);color:var(--text-secondary)}.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:auto;max-width:100%;height:auto;max-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:10px;max-width:100%;padding:10px 12px;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:72px;height:auto;max-height:32px;display:block}.gengage-chat-campaign-price-badge__body{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;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:12px;font-weight:700;line-height:1.25}.gengage-chat-campaign-price-badge__sale{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:17px;font-weight:800;line-height:1.15}.gengage-chat-product-card-price-row .gengage-chat-campaign-price-badge__sale{font-size:16px}.gengage-chat-product-summary__price .gengage-chat-campaign-price-badge__sale{font-size:15px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge{border-radius:var(--radius-control,12px);padding:12px 14px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__reason{font-size:13px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__sale{font-size:22px}: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::-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-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--winner .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{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{object-fit:contain;width:100%;height:100%;max-height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .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{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{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--winner .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;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-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:inset 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-comparison-dock-slot:not(:empty){z-index:30;padding:0 10px max(6px, env(safe-area-inset-bottom,0px));box-sizing:border-box;pointer-events:none;max-width:100%;display:block;position:absolute;bottom:0;left:0;right:0}.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-thumbnails-column{pointer-events:none;display:none!important}.gengage-chat-thumbnail-btn{border:2px solid var(--border-default);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card);cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:border-color .15s;display:flex;overflow:hidden}.gengage-chat-thumbnail-btn:hover{border-color:var(--client-primary)}.gengage-chat-thumbnail-img{object-fit:cover;width:100%;height:100%}.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:none;background:var(--surface-card);border:1px solid var(--border-default);width:auto;max-width:none;box-shadow:var(--shadow-2);z-index:5;opacity:0;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-left:0;margin-right:0;padding:12px 14px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:12px;left:16px;right:16px;transform:translateY(12px)}.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-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:var(--surface-card-soft);min-width:32px;min-height:32px;color:var(--text-muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;top:10px;right:10px}.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;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s}.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-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.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-thumbnail-btn: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-choice-prompter{grid-template-columns:1fr;width:auto;max-width:none;max-height:40vh;bottom:12px;left:12px;right:12px;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta{width:100%}.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-trigger{justify-content:center;gap:0;width:auto;min-width:44px;padding:0 10px}.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-choice-prompter-dismiss{width:32px;height:32px}.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}.gengage-skeleton{gap:12px;padding:12px;display:flex}.gengage-skeleton--message{flex-direction:column;gap:8px;padding:16px}.gengage-skeleton-card{flex-direction:column;flex:1;gap:8px;display:flex}.gengage-skeleton-img{border-radius:var(--radius-control);height:120px}.gengage-skeleton-text{border-radius:4px;height:14px}.gengage-skeleton-price{border-radius:4px;width:60%;height:14px}.gengage-skeleton-line{border-radius:4px;height:12px}@media (prefers-reduced-motion:no-preference){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:linear-gradient(90deg, var(--ds-neutral-100) 25%, var(--ds-neutral-200) 50%, var(--ds-neutral-100) 75%);background-size:200% 100%;animation:1.5s infinite gengage-shimmer}@keyframes gengage-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}@media (prefers-reduced-motion:reduce){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:var(--ds-neutral-100)}}.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}@media (prefers-reduced-motion:no-preference){.gengage-chat-panel--transitioning{opacity:0;transition:opacity .15s}}.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}", Br = o({
4483
4682
  role: u(["user", "assistant"]),
4484
4683
  content: n(),
4485
4684
  timestamp: t().optional()
4486
- }), Pr = o({
4685
+ }), Vr = o({
4487
4686
  sku: n(),
4488
4687
  name: n(),
4489
4688
  imageUrl: n().url().optional(),
@@ -4491,23 +4690,23 @@ var Mr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
4491
4690
  originalPrice: n().optional(),
4492
4691
  url: n().url(),
4493
4692
  ctaLabel: n().optional()
4494
- }), Fr = o({ buttons: a(o({
4693
+ }), Hr = o({ buttons: a(o({
4495
4694
  label: n(),
4496
4695
  action: o({
4497
4696
  title: n(),
4498
4697
  type: n(),
4499
4698
  payload: d().optional()
4500
4699
  })
4501
- })) }), Ir = o({}), Lr = o({ label: n().optional() }), Rr = o({
4700
+ })) }), Ur = o({}), Wr = o({ label: n().optional() }), Gr = o({
4502
4701
  sku: n(),
4503
4702
  name: n(),
4504
4703
  price: n(),
4505
4704
  imageUrl: n().optional(),
4506
4705
  rating: t().optional(),
4507
4706
  reviewCount: t().optional()
4508
- }), zr = o({
4509
- recommended: Rr,
4510
- products: a(Rr),
4707
+ }), Kr = o({
4708
+ recommended: Gr,
4709
+ products: a(Gr),
4511
4710
  attributes: a(o({
4512
4711
  label: n(),
4513
4712
  values: a(n())
@@ -4524,18 +4723,18 @@ var Mr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
4524
4723
  type: n(),
4525
4724
  payload: d().optional()
4526
4725
  })).optional()
4527
- }), Br = o({
4726
+ }), qr = o({
4528
4727
  label: n(),
4529
4728
  sentiment: u([
4530
4729
  "positive",
4531
4730
  "negative",
4532
4731
  "neutral"
4533
4732
  ]).optional()
4534
- }), Vr = o({ suggestions: a(o({
4733
+ }), Jr = o({ suggestions: a(o({
4535
4734
  product: l(n(), d()),
4536
4735
  role: n().optional(),
4537
4736
  reason: n().optional(),
4538
- labels: a(Br).optional(),
4737
+ labels: a(qr).optional(),
4539
4738
  expertQualityScore: t().optional(),
4540
4739
  reviewHighlight: n().optional(),
4541
4740
  action: o({
@@ -4543,7 +4742,7 @@ var Mr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
4543
4742
  type: n(),
4544
4743
  payload: d().optional()
4545
4744
  }).optional()
4546
- })) }), Hr = o({
4745
+ })) }), Yr = o({
4547
4746
  title: n().optional(),
4548
4747
  text: n().optional(),
4549
4748
  reviewCount: n().optional(),
@@ -4552,7 +4751,7 @@ var Mr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
4552
4751
  type: n(),
4553
4752
  payload: d().optional()
4554
4753
  })
4555
- }), Ur = o({ entries: a(o({
4754
+ }), Xr = o({ entries: a(o({
4556
4755
  name: n(),
4557
4756
  image: n().optional(),
4558
4757
  description: n().optional(),
@@ -4561,7 +4760,7 @@ var Mr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
4561
4760
  type: n(),
4562
4761
  payload: d().optional()
4563
4762
  })
4564
- })) }), Wr = o({ entries: a(o({
4763
+ })) }), Zr = o({ entries: a(o({
4565
4764
  shortName: n(),
4566
4765
  detailedMessage: n().optional(),
4567
4766
  whyDifferent: n().optional(),
@@ -4571,11 +4770,11 @@ var Mr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
4571
4770
  type: n(),
4572
4771
  payload: d().optional()
4573
4772
  })
4574
- })) }), Gr = o({
4773
+ })) }), Qr = o({
4575
4774
  title: n(),
4576
4775
  type: n(),
4577
4776
  payload: d().optional()
4578
- }), $ = o({
4777
+ }), $r = o({
4579
4778
  name: n().optional(),
4580
4779
  value: n().optional(),
4581
4780
  option_value: n().optional(),
@@ -4599,7 +4798,7 @@ var Mr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
4599
4798
  swatchColor: n().optional(),
4600
4799
  in_stock: c().optional(),
4601
4800
  inStock: c().optional()
4602
- }), Kr = o({
4801
+ }), ei = o({
4603
4802
  product: o({
4604
4803
  sku: n().optional(),
4605
4804
  name: n().optional(),
@@ -4609,15 +4808,21 @@ var Mr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
4609
4808
  reviewCount: t().optional(),
4610
4809
  price: n().optional(),
4611
4810
  originalPrice: n().optional(),
4811
+ discountReason: n().optional(),
4812
+ discount_reason: n().optional(),
4813
+ campaignReason: n().optional(),
4814
+ campaign_reason: n().optional(),
4815
+ originalPriceStyle: u(["strikethrough", "inline"]).optional(),
4816
+ price_original_style: u(["strikethrough", "inline"]).optional(),
4612
4817
  price_discount_rate: t().optional(),
4613
4818
  price_async: c().optional(),
4614
4819
  inStock: c().optional(),
4615
4820
  promotions: a(n()).optional(),
4616
- variants: a($).optional(),
4617
- variantOptions: a($).optional(),
4618
- variant_options: a($).optional(),
4619
- productVariants: a($).optional(),
4620
- product_variants: a($).optional(),
4821
+ variants: a($r).optional(),
4822
+ variantOptions: a($r).optional(),
4823
+ variant_options: a($r).optional(),
4824
+ productVariants: a($r).optional(),
4825
+ product_variants: a($r).optional(),
4621
4826
  url: n().optional(),
4622
4827
  cartCode: n().optional(),
4623
4828
  description: n().optional(),
@@ -4640,110 +4845,110 @@ var Mr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
4640
4845
  value: n()
4641
4846
  }))]).optional()
4642
4847
  }).optional(),
4643
- action: Gr.optional()
4644
- }), qr = o({ endOfList: c().optional() }), Jr = o({ reviews: a(o({
4848
+ action: Qr.optional()
4849
+ }), ti = o({ endOfList: c().optional() }), ni = o({ reviews: a(o({
4645
4850
  review_class: n().optional(),
4646
4851
  review_text: n().optional(),
4647
4852
  review_rating: i([n(), t()]).optional(),
4648
4853
  review_tag: n().optional()
4649
- })).optional() }), Yr = o({
4854
+ })).optional() }), ri = o({
4650
4855
  productName: n().optional(),
4651
4856
  pros: a(n()).optional(),
4652
4857
  cons: a(n()).optional()
4653
- }), Xr = o({
4858
+ }), ii = o({
4654
4859
  groups: a(o({
4655
4860
  groupName: n(),
4656
4861
  products: a(l(n(), d())).optional()
4657
4862
  })).optional(),
4658
4863
  filterTags: a(o({
4659
4864
  title: n(),
4660
- action: Gr.optional()
4865
+ action: Qr.optional()
4661
4866
  })).optional()
4662
- }), Zr = o({
4867
+ }), ai = o({
4663
4868
  summary: n().optional(),
4664
4869
  products_discussed: a(n()).optional(),
4665
4870
  user_sentiment: n().optional()
4666
- }), Qr = { components: {
4871
+ }), oi = { components: {
4667
4872
  MessageBubble: {
4668
- schema: Nr,
4873
+ schema: Br,
4669
4874
  description: "A single chat message bubble for user or assistant turns."
4670
4875
  },
4671
4876
  ProductCard: {
4672
- schema: Pr,
4877
+ schema: Vr,
4673
4878
  description: "A product card rendered inline in the chat stream."
4674
4879
  },
4675
4880
  ActionButtons: {
4676
- schema: Fr,
4881
+ schema: Hr,
4677
4882
  description: "A horizontal row of quick-reply action buttons."
4678
4883
  },
4679
4884
  TypingIndicator: {
4680
- schema: Ir,
4885
+ schema: Ur,
4681
4886
  description: "An animated indicator shown while the assistant is typing."
4682
4887
  },
4683
4888
  Divider: {
4684
- schema: Lr,
4889
+ schema: Wr,
4685
4890
  description: "A horizontal rule with an optional label."
4686
4891
  },
4687
4892
  ComparisonTable: {
4688
- schema: zr,
4893
+ schema: Kr,
4689
4894
  description: "A product comparison table with recommended pick, attribute rows, and highlights."
4690
4895
  },
4691
4896
  AITopPicks: {
4692
- schema: Vr,
4897
+ schema: Jr,
4693
4898
  description: "Rich AI-curated product suggestion cards with roles, sentiment labels, scores, and review quotes."
4694
4899
  },
4695
4900
  GroundingReviewCard: {
4696
- schema: Hr,
4901
+ schema: Yr,
4697
4902
  description: "A card showing review grounding data with review count and CTA."
4698
4903
  },
4699
4904
  AIGroupingCards: {
4700
- schema: Ur,
4905
+ schema: Xr,
4701
4906
  description: "Category grouping cards with images and labels for product discovery."
4702
4907
  },
4703
4908
  AISuggestedSearchCards: {
4704
- schema: Wr,
4909
+ schema: Zr,
4705
4910
  description: "Suggested search cards with images, descriptions, and differentiation."
4706
4911
  },
4707
4912
  ProductDetailsPanel: {
4708
- schema: Kr,
4913
+ schema: ei,
4709
4914
  description: "Full product detail view with images, specs, variants, and purchase actions."
4710
4915
  },
4711
4916
  ProductGrid: {
4712
- schema: qr,
4917
+ schema: ti,
4713
4918
  description: "A scrollable grid of ProductCard children with optional \"more\" pagination."
4714
4919
  },
4715
4920
  ReviewHighlights: {
4716
- schema: Jr,
4921
+ schema: ni,
4717
4922
  description: "A list of highlighted customer reviews with sentiment and ratings."
4718
4923
  },
4719
4924
  ProsAndCons: {
4720
- schema: Yr,
4925
+ schema: ri,
4721
4926
  description: "A pros and cons list for a product."
4722
4927
  },
4723
4928
  CategoriesContainer: {
4724
- schema: Xr,
4929
+ schema: ii,
4725
4930
  description: "Tabbed product groups with optional filter tag buttons."
4726
4931
  },
4727
4932
  HandoffNotice: {
4728
- schema: Zr,
4933
+ schema: ai,
4729
4934
  description: "A notice shown when the conversation is escalated to a human agent."
4730
4935
  }
4731
4936
  } };
4732
4937
  //#endregion
4733
4938
  //#region src/chat/index.ts
4734
- function $r(e) {
4939
+ function si(e) {
4735
4940
  return e.length > 120 ? !1 : /^[a-zA-Z0-9#(),.\s%/\-]+$/.test(e);
4736
4941
  }
4737
- function ei(e) {
4942
+ function ci(e) {
4738
4943
  return typeof e == "object" && !!e && typeof e.type == "string";
4739
4944
  }
4740
- var ti = class e extends B {
4945
+ var li = class e extends V {
4741
4946
  constructor(...e) {
4742
4947
  super(...e), this._shadow = null, this._rootEl = null, this._backdropEl = null, this._launcher = null, this._drawer = null, this._bridge = null, this._drawerVisible = !1, this._pillLauncherApply = null, this._hostScrollLockActive = !1, this._preventHostDocumentTouchMove = (e) => {
4743
4948
  this._hostScrollLockActive && (this._hostScrollEventShouldReachChatScroller(e) || e.preventDefault());
4744
4949
  }, this._preventHostDocumentWheel = (e) => {
4745
4950
  this._hostScrollLockActive && (this._hostScrollEventShouldReachChatScroller(e) || e.preventDefault());
4746
- }, this._messages = [], this._currentMessageId = 0, this._abortControllers = /* @__PURE__ */ 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._viewedProductSkus = /* @__PURE__ */ new Set(), this._thumbnailEntries = [], this._choicePrompterEl = null, this._openState = "full", this._mobileBreakpoint = 768, this._isMobileViewport = !1, this._pdpLaunched = !1, this._entryContextPrimed = !1, this._pdpPrimingInFlight = !1, this._queuedUserMessages = [], this._productContextUnavailableSku = null, this._i18n = je, 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 = /* @__PURE__ */ new Set(), this._panel = null, this._localPanelHistory = [], this._currentPanelSource = null, this._session = null, this._presentation = new mr(), this._eventCallbacks = /* @__PURE__ */ new Map(), this._lastSentAction = null, this._consecutiveErrorCount = 0, this._lastErrorMessage = "";
4951
+ }, this._messages = [], this._currentMessageId = 0, this._abortControllers = /* @__PURE__ */ 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._viewedProductSkus = /* @__PURE__ */ new Set(), this._thumbnailEntries = [], this._choicePrompterEl = null, this._openState = "full", this._mobileBreakpoint = 768, this._isMobileViewport = !1, this._pdpLaunched = !1, this._entryContextPrimed = !1, this._pdpPrimingInFlight = !1, this._queuedUserMessages = [], this._productContextUnavailableSku = null, this._i18n = Ae, 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 = /* @__PURE__ */ new Set(), this._panel = null, this._localPanelHistory = [], this._currentPanelSource = null, this._session = null, this._presentation = new xr(), this._eventCallbacks = /* @__PURE__ */ new Map(), this._lastSentAction = null, this._consecutiveErrorCount = 0, this._lastErrorMessage = "";
4747
4952
  }
4748
4953
  static {
4749
4954
  this._MAX_COMPARISON_SELECTION = 5;
@@ -4753,16 +4958,17 @@ var ti = class e extends B {
4753
4958
  }
4754
4959
  async onInit(e) {
4755
4960
  if (this._i18n = this._resolveI18n(e), this._chatCreatedAt = (/* @__PURE__ */ new Date()).toISOString(), e.pillLauncher) {
4756
- let t = gr(e.pillLauncher);
4961
+ let t = Cr(e.pillLauncher);
4757
4962
  e.launcherImageUrl = t.launcherImageUrl, e.headerAvatarUrl === void 0 && (e.headerAvatarUrl = e.pillLauncher.avatarUrl), this._pillLauncherApply = () => t.apply(this._shadow ?? void 0);
4758
4963
  }
4759
4964
  this._shadow = this.root.attachShadow({ mode: "open" });
4760
4965
  let t = document.createElement("style");
4761
- t.textContent = Mr, this._shadow.appendChild(t);
4966
+ t.textContent = zr, this._shadow.appendChild(t);
4762
4967
  let n = this.root, r = (e, t) => {
4763
- t && $r(t) && n.style.setProperty(e, t);
4968
+ t && si(t) && n.style.setProperty(e, t);
4764
4969
  };
4765
4970
  if (r("--gengage-chat-header-bg", e.headerBg), r("--gengage-chat-header-foreground", e.headerForeground), e.theme) for (let [t, n] of Object.entries(e.theme)) t.startsWith("--") && typeof n == "string" && r(t, n);
4971
+ this._applyDiscountedPriceColorVar(e.productPriceUi?.discountedPriceColor);
4766
4972
  let i = document.createElement("div");
4767
4973
  i.className = "gengage-chat-root", this._rootEl = i, this._shadow.appendChild(i);
4768
4974
  let a = e.variant ?? "floating";
@@ -4777,11 +4983,11 @@ var ti = class e extends B {
4777
4983
  onClick: () => this.open(),
4778
4984
  ariaLabel: this._i18n.openButton
4779
4985
  };
4780
- e.launcherImageUrl === void 0 ? e.launcherSvg !== void 0 && (t.svgMarkup = e.launcherSvg) : t.imageUrl = e.launcherImageUrl, e.hideMobileLauncher !== void 0 && (t.hideMobile = e.hideMobileLauncher), e.mobileBreakpoint !== void 0 && (t.mobileBreakpoint = e.mobileBreakpoint), e.launcherTooltip !== void 0 && (t.tooltip = e.launcherTooltip), this._launcher = Xe(t), i.appendChild(this._launcher.container);
4986
+ e.launcherImageUrl === void 0 ? e.launcherSvg !== void 0 && (t.svgMarkup = e.launcherSvg) : t.imageUrl = e.launcherImageUrl, e.hideMobileLauncher !== void 0 && (t.hideMobile = e.hideMobileLauncher), e.mobileBreakpoint !== void 0 && (t.mobileBreakpoint = e.mobileBreakpoint), e.launcherTooltip !== void 0 && (t.tooltip = e.launcherTooltip), this._launcher = Ye(t), i.appendChild(this._launcher.container);
4781
4987
  }
4782
4988
  a === "overlay" && i.classList.add("gengage-chat--overlay");
4783
4989
  let o = document.createElement("div");
4784
- i.appendChild(o), this._drawer = new Je(o, {
4990
+ i.appendChild(o), this._drawer = new qe(o, {
4785
4991
  i18n: this._i18n,
4786
4992
  onSend: (e, t) => this._sendMessage(e, t),
4787
4993
  onClose: () => this.close(),
@@ -4812,7 +5018,7 @@ var ti = class e extends B {
4812
5018
  e.headerCartUrl ? this._saveSessionAndOpenURL(e.headerCartUrl) : e.onCartClick?.();
4813
5019
  },
4814
5020
  onFavoritesClick: () => {
4815
- if (N(), typeof e.onFavoritesClick == "function") {
5021
+ if (P(), typeof e.onFavoritesClick == "function") {
4816
5022
  e.onFavoritesClick();
4817
5023
  return;
4818
5024
  }
@@ -4842,10 +5048,10 @@ var ti = class e extends B {
4842
5048
  shouldBlockSoftAutoScroll: () => this._presentation.shouldBlockStreamAutoScroll(),
4843
5049
  onReleasePresentationFocus: () => this._releasePresentationFocus()
4844
5050
  }
4845
- }), this._extendedModeManager = new cr({
5051
+ }), this._extendedModeManager = new hr({
4846
5052
  onChange: (e) => this._panel?.notifyExtension(e),
4847
5053
  productDetailsInPanel: (e.isDemoWebsite ?? !1) && (e.productDetailsExtended ?? !1)
4848
- }), this._panel = new lr({
5054
+ }), this._panel = new gr({
4849
5055
  drawer: () => this._drawer,
4850
5056
  shadow: () => this._shadow,
4851
5057
  currentThreadId: () => this._currentThreadId,
@@ -4859,10 +5065,10 @@ var ti = class e extends B {
4859
5065
  let c = sessionStorage.getItem("gengage_restore_session_id"), l = sessionStorage.getItem("gengage_restore_sku"), u = !!(c && l);
4860
5066
  u && (sessionStorage.removeItem("gengage_restore_session_id"), sessionStorage.removeItem("gengage_restore_sku"));
4861
5067
  try {
4862
- let e = new or();
4863
- await e.open(), this._session = new fr(e), await this._restoreFromIndexedDB(u);
5068
+ let e = new pr();
5069
+ await e.open(), this._session = new yr(e), await this._restoreFromIndexedDB(u);
4864
5070
  } catch {
4865
- this._session = new fr(null);
5071
+ this._session = new yr(null);
4866
5072
  }
4867
5073
  this._registerPublicAPI(), e.mobileInitialState !== void 0 && (this._openState = e.mobileInitialState), this._mobileBreakpoint = e.mobileBreakpoint ?? 768, this._syncViewportState();
4868
5074
  let d = () => this._syncViewportState();
@@ -4881,15 +5087,15 @@ var ti = class e extends B {
4881
5087
  namespace: "chat",
4882
5088
  onMessage: (e) => this._handleBridgeMessage(e)
4883
5089
  };
4884
- e.allowedOrigins !== void 0 && (f.allowedOrigins = e.allowedOrigins), this._bridge = new ue(f), this._lastSku = this.config.pageContext?.sku, this._initComplete = !0;
5090
+ e.allowedOrigins !== void 0 && (f.allowedOrigins = e.allowedOrigins), this._bridge = new le(f), this._lastSku = this.config.pageContext?.sku, this._initComplete = !0;
4885
5091
  for (let e of this._pendingActions) this._sendAction(e.action, e.options);
4886
- this._pendingActions = [], this._pillLauncherApply && a === "floating" && (await this._pillLauncherApply(), this._pillLauncherApply = null), y("gengage:chat:ready", {}), O("chat"), e.onReady?.();
5092
+ this._pendingActions = [], this._pillLauncherApply && a === "floating" && (await this._pillLauncherApply(), this._pillLauncherApply = null), y("gengage:chat:ready", {}), k("chat"), e.onReady?.();
4887
5093
  }
4888
5094
  onUpdate(e) {
4889
5095
  e.sku !== void 0 && e.sku !== this._lastSku && (this._lastSku = e.sku, this._resetForNewPage());
4890
5096
  }
4891
5097
  onShow() {
4892
- this._showDrawer(), this.emit("open"), y("gengage:chat:open", { state: this._openState }), j("chat"), this.config.onOpen?.(), this._showWelcomeIfNeeded(), this._maybePrimeEntryContextOpening(), !this._pdpLaunched && this.config.pageContext?.sku && (this._pdpLaunched = !0, this._pdpPrimingInFlight = !0, this._sendAction({
5098
+ this._showDrawer(), this.emit("open"), y("gengage:chat:open", { state: this._openState }), M("chat"), this.config.onOpen?.(), this._showWelcomeIfNeeded(), this._maybePrimeEntryContextOpening(), !this._pdpLaunched && this.config.pageContext?.sku && (this._pdpLaunched = !0, this._pdpPrimingInFlight = !0, this._sendAction({
4893
5099
  title: "",
4894
5100
  type: "launchSingleProduct",
4895
5101
  payload: {
@@ -4907,7 +5113,7 @@ var ti = class e extends B {
4907
5113
  (this.config.variant ?? "floating") === "floating" && (this.root.style.display = ""), this._hideDrawer(), this.emit("close"), y("gengage:chat:close", {}), this.config.onClose?.();
4908
5114
  }
4909
5115
  onDestroy() {
4910
- this._releaseHostDocumentScrollLock(), this._abortAllActiveRequests(), this._activeTypewriter?.cancel(), this._activeTypewriter = null, this._activeTtsHandle?.stop(), this._activeTtsHandle = null, this._comparisonRefreshRafId !== null && (cancelAnimationFrame(this._comparisonRefreshRafId), this._comparisonRefreshRafId = null), this._drawer?.destroy(), Ae(), 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._localPanelHistory = [], this._currentPanelSource = null, window.gengage && delete window.gengage.chat, this._shadow &&= (this._shadow.innerHTML = "", null), this._rootEl = null;
5116
+ this._releaseHostDocumentScrollLock(), this._abortAllActiveRequests(), this._activeTypewriter?.cancel(), this._activeTypewriter = null, this._activeTtsHandle?.stop(), this._activeTtsHandle = null, this._comparisonRefreshRafId !== null && (cancelAnimationFrame(this._comparisonRefreshRafId), this._comparisonRefreshRafId = null), this._drawer?.destroy(), ke(), 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._localPanelHistory = [], this._currentPanelSource = null, window.gengage && delete window.gengage.chat, this._shadow &&= (this._shadow.innerHTML = "", null), this._rootEl = null;
4911
5117
  }
4912
5118
  open(e) {
4913
5119
  e?.state !== void 0 && (this._openState = e.state, this._drawerVisible && this._applyOpenStateClasses()), this.show(), e?.initialMessage !== void 0 && this._sendMessage(e.initialMessage);
@@ -4936,6 +5142,10 @@ var ti = class e extends B {
4936
5142
  n.delete(t), n.size === 0 && this._eventCallbacks.delete(e);
4937
5143
  };
4938
5144
  }
5145
+ _applyDiscountedPriceColorVar(e) {
5146
+ let t = this.root;
5147
+ e === "client" ? t.style.setProperty("--gengage-discounted-price-color", "var(--client-primary)") : t.style.removeProperty("--gengage-discounted-price-color");
5148
+ }
4939
5149
  _abortAllActiveRequests() {
4940
5150
  for (let e of this._abortControllers) e.abort();
4941
5151
  this._abortControllers.clear();
@@ -4985,7 +5195,7 @@ var ti = class e extends B {
4985
5195
  if (!this._drawer || !this._presentation.shown) return;
4986
5196
  let e = this._orderedThreadIds();
4987
5197
  if (e.length === 0) return;
4988
- let t = hr(e, this._presentation);
5198
+ let t = Sr(e, this._presentation);
4989
5199
  if (!t) return;
4990
5200
  let n = `${t}:assistant`;
4991
5201
  this._presentation.lastAutoAnchoredGroupId !== n && (this._presentation.userInteracting && !this._presentation.pinnedToBottom || this._drawer.scrollThreadIntoView(t, "smooth") && this._presentation.markGroupAutoAnchored(n));
@@ -4999,7 +5209,7 @@ var ti = class e extends B {
4999
5209
  this.close();
5000
5210
  break;
5001
5211
  case "startNewChatWithLauncherAction": {
5002
- let t = e.payload, n = t?.action, r = ei(n) ? n : ei(t) ? t : null;
5212
+ let t = e.payload, n = t?.action, r = ci(n) ? n : ci(t) ? t : null;
5003
5213
  r && this._sendAction(r, { silent: !0 }), this.open();
5004
5214
  break;
5005
5215
  }
@@ -5008,7 +5218,7 @@ var ti = class e extends B {
5008
5218
  if (t && typeof t == "object") {
5009
5219
  this._bridgeContext = t;
5010
5220
  let e = t.sku;
5011
- if (e && this.update({ sku: e }), ei(t.action)) {
5221
+ if (e && this.update({ sku: e }), ci(t.action)) {
5012
5222
  this._pdpLaunched = !0, this.open(), this._sendAction(t.action);
5013
5223
  break;
5014
5224
  }
@@ -5042,7 +5252,7 @@ var ti = class e extends B {
5042
5252
  break;
5043
5253
  case "bgColorChange": {
5044
5254
  let t = e.payload?.color;
5045
- typeof t == "string" && $r(t) && this._shadow && this._shadow.host.style.setProperty("--gengage-chat-bg", t);
5255
+ typeof t == "string" && si(t) && this._shadow && this._shadow.host.style.setProperty("--gengage-chat-bg", t);
5046
5256
  break;
5047
5257
  }
5048
5258
  default: break;
@@ -5081,7 +5291,7 @@ var ti = class e extends B {
5081
5291
  let n = this._resolveContextualOpeningMessage(e);
5082
5292
  if (!n) return;
5083
5293
  let r = {
5084
- id: le(),
5294
+ id: ce(),
5085
5295
  role: "assistant",
5086
5296
  content: n,
5087
5297
  timestamp: Date.now(),
@@ -5246,7 +5456,7 @@ var ti = class e extends B {
5246
5456
  typeof document > "u" || !this._hostScrollLockActive || (document.removeEventListener("touchmove", this._preventHostDocumentTouchMove, { capture: !0 }), document.removeEventListener("wheel", this._preventHostDocumentWheel, { capture: !0 }), this._hostScrollLockActive = !1);
5247
5457
  }
5248
5458
  _handleAttachment(e) {
5249
- let t = ve(e);
5459
+ let t = _e(e);
5250
5460
  if (!t.ok) {
5251
5461
  y("gengage:global:error", {
5252
5462
  message: t.reason === "invalid_type" ? this._i18n.invalidFileType : this._i18n.fileTooLarge,
@@ -5264,7 +5474,7 @@ var ti = class e extends B {
5264
5474
  });
5265
5475
  return;
5266
5476
  }
5267
- (!this._messages.some((e) => e.role === "user") || this._drawer?.isKvkkBannerVisible()) && (Dr(this.config.accountId), this._drawer?.hideKvkkBanner()), k(), this._messages.some((e) => e.role === "user") || F();
5477
+ (!this._messages.some((e) => e.role === "user") || this._drawer?.isKvkkBannerVisible()) && (Pr(this.config.accountId), this._drawer?.hideKvkkBanner()), A(), this._messages.some((e) => e.role === "user") || I();
5268
5478
  let n = t === void 0 ? {
5269
5479
  title: e,
5270
5480
  type: "user_message",
@@ -5293,7 +5503,7 @@ var ti = class e extends B {
5293
5503
  });
5294
5504
  return;
5295
5505
  }
5296
- if (this._choicePrompterEl?.remove(), this._choicePrompterEl = null, t?.preservePanel || $n(), !t?.preservePanel && this._comparisonSelectMode && e.type !== "getComparisonTable" && (this._comparisonSelectMode = !1, this._comparisonSelectedSkus = []), t?.preservePanel || (this._localPanelHistory = []), this._currentThreadId && this._lastThreadId && this._lastThreadId > this._currentThreadId) {
5506
+ if (this._choicePrompterEl?.remove(), this._choicePrompterEl = null, t?.preservePanel || or(), !t?.preservePanel && this._comparisonSelectMode && e.type !== "getComparisonTable" && (this._comparisonSelectMode = !1, this._comparisonSelectedSkus = []), t?.preservePanel || (this._localPanelHistory = []), this._currentThreadId && this._lastThreadId && this._lastThreadId > this._currentThreadId) {
5297
5507
  let e = this._currentThreadId, t = this._messages.filter((t) => t.threadId !== void 0 && t.threadId > e);
5298
5508
  this._messages = this._messages.filter((t) => !t.threadId || t.threadId <= e);
5299
5509
  for (let e of t) this._shadow?.querySelector(`[data-message-id="${CSS.escape(e.id)}"]`)?.remove(), this._panel.snapshots.delete(e.id), this._panel.snapshotTypes.delete(e.id);
@@ -5302,7 +5512,7 @@ var ti = class e extends B {
5302
5512
  });
5303
5513
  }
5304
5514
  t?.preservePills || this._drawer?.setPills([]), this._drawer?.clearInputAreaChips(), this._bridge?.send("isResponding", !0);
5305
- let n = le();
5515
+ let n = ce();
5306
5516
  this._currentThreadId = n, this._lastThreadId = n, this._panel && e.type !== "launchSingleProduct" && (this._panel.lastActionType = e.type);
5307
5517
  let r = t?.preservePanel === !0, i = e.type === "launchSingleProduct" && t?.silent === !0 && t?.isPdpPrime === !0;
5308
5518
  if (r || (this._activeRequestThreadId = n), !t?.silent && !r && this._drawer?.setPresentationFocus(n), !t?.silent) {
@@ -5340,7 +5550,7 @@ var ti = class e extends B {
5340
5550
  role: e.role === "user" ? "user" : "model",
5341
5551
  content: e.content ?? ""
5342
5552
  })), p = {
5343
- outputLanguage: jr(this.config.locale),
5553
+ outputLanguage: Rr(this.config.locale),
5344
5554
  parentUrl: window.location.href,
5345
5555
  windowWidth: String(window.innerWidth),
5346
5556
  windowHeight: String(window.innerHeight),
@@ -5350,14 +5560,14 @@ var ti = class e extends B {
5350
5560
  appId: this.config.accountId,
5351
5561
  threads: [],
5352
5562
  createdAt: this._chatCreatedAt,
5353
- kvkkApproved: Er(this.config.accountId),
5563
+ kvkkApproved: Nr(this.config.accountId),
5354
5564
  voiceEnabled: this.config.voiceEnabled ?? !1,
5355
5565
  threadId: n,
5356
5566
  isControlGroup: this.config.session?.abTestVariant === "control",
5357
5567
  isMobile: this._isMobileViewport
5358
5568
  };
5359
5569
  this.config.session?.viewId !== void 0 && (p.viewId = this.config.session.viewId);
5360
- let h = ye(e, {
5570
+ let h = ve(e, {
5361
5571
  pageContext: this.config.pageContext,
5362
5572
  backendContext: this._lastBackendContext,
5363
5573
  isMobile: this._isMobileViewport
@@ -5375,13 +5585,13 @@ var ti = class e extends B {
5375
5585
  }
5376
5586
  };
5377
5587
  this.config.session?.userId !== void 0 && (_.user_id = this.config.session.userId), this.config.session?.viewId !== void 0 && (_.view_id = this.config.session.viewId), h.payload !== void 0 && (_.payload = h.payload), this.config.pageContext?.sku !== void 0 && (_.sku = this.config.pageContext.sku), this.config.pageContext?.pageType !== void 0 && (_.page_type = this.config.pageContext.pageType);
5378
- let x = crypto.randomUUID(), te = Date.now(), D = 0, O = !1, k = !1, A = !1, j = !1, N = !1, P = null, F = () => {
5588
+ let x = crypto.randomUUID(), O = Date.now(), ee = 0, k = !1, A = !1, j = !1, M = !1, P = !1, F = null, I = () => {
5379
5589
  if (this._drawer) {
5380
- if (this._isMobileViewport || !A) {
5590
+ if (this._isMobileViewport || !j) {
5381
5591
  this._drawer.setPanelAiZoneState("hidden");
5382
5592
  return;
5383
5593
  }
5384
- j || (N ? this._drawer.setPanelAiZoneState("hidden") : this._drawer.setPanelAiZoneState("analyzing", { analyzingLabel: this._i18n.aiAnalysisAnalyzingLabel }));
5594
+ M || (P ? this._drawer.setPanelAiZoneState("hidden") : this._drawer.setPanelAiZoneState("analyzing", { analyzingLabel: this._i18n.aiAnalysisAnalyzingLabel }));
5385
5595
  }
5386
5596
  };
5387
5597
  this.track(b(this.analyticsContext(), {
@@ -5389,41 +5599,41 @@ var ti = class e extends B {
5389
5599
  request_id: x,
5390
5600
  widget: "chat"
5391
5601
  }));
5392
- let I = null;
5393
- if (I = Se(_, {
5602
+ let L = null;
5603
+ if (L = xe(_, {
5394
5604
  onTextChunk: (e, t, i) => {
5395
5605
  if (!r && n !== this._activeRequestThreadId || (l += e, this._drawer?.removeTypingIndicator(), i?.skuToProductItem && (this._skuToProductItem = {
5396
5606
  ...this._skuToProductItem,
5397
5607
  ...i.skuToProductItem
5398
5608
  }), i?.conversationMode && (this._conversationMode = i.conversationMode), this.track(T(this.analyticsContext(), {
5399
5609
  request_id: x,
5400
- chunk_index: D++,
5610
+ chunk_index: ee++,
5401
5611
  widget: "chat"
5402
5612
  })), !this._drawer)) return;
5403
5613
  let a = l;
5404
- if (t && Tr(a)) {
5614
+ if (t && Mr(a)) {
5405
5615
  let e = this.config.accountId;
5406
- if (!Er(e)) {
5407
- let t = kr(a);
5616
+ if (!Nr(e)) {
5617
+ let t = Ir(a);
5408
5618
  t ? this._drawer?.showKvkkBanner(t, () => {
5409
- this._drawer?.hideKvkkBanner(), Dr(e);
5410
- }) : Dr(e);
5619
+ this._drawer?.hideKvkkBanner(), Pr(e);
5620
+ }) : Pr(e);
5411
5621
  }
5412
- a = Or(a);
5622
+ a = Fr(a);
5413
5623
  }
5414
5624
  let o = this._shadow?.querySelector(`[data-message-id="${u.id}"] .gengage-chat-bubble-text`);
5415
5625
  if (o ? o.innerHTML = C(a) : (u.content = a, u.role === "assistant" && u.threadId && !this._threadsWithFirstBot.has(u.threadId) && (this._threadsWithFirstBot.add(u.threadId), this._drawer.markFirstBotMessage(u.id)), this._drawer.addMessage(u)), t) {
5416
- u.content = a, u.status = "done", ne();
5626
+ u.content = a, u.status = "done", te();
5417
5627
  let e = this._shadow?.querySelector(`[data-message-id="${u.id}"] .gengage-chat-bubble-text`);
5418
5628
  if (e) {
5419
5629
  this._activeTypewriter?.cancel();
5420
5630
  let t = i?.productMentions;
5421
- this._activeTypewriter = Wn({
5631
+ this._activeTypewriter = Zn({
5422
5632
  container: e,
5423
5633
  html: C(a),
5424
5634
  onTick: () => this._drawer?.scrollToBottomIfNeeded(),
5425
5635
  onComplete: () => {
5426
- this._activeTypewriter = null, t && t.length > 0 && e && Kn({
5636
+ this._activeTypewriter = null, t && t.length > 0 && e && $n({
5427
5637
  container: e,
5428
5638
  mentions: t,
5429
5639
  onProductClick: (e) => {
@@ -5441,27 +5651,27 @@ var ti = class e extends B {
5441
5651
  },
5442
5652
  onUISpec: (t, a, o, s) => {
5443
5653
  if (!r && n !== this._activeRequestThreadId || a !== "chat") return;
5444
- s && (this._clearAssistantPanelLikeStreamClearPanel(), O = !1);
5654
+ s && (this._clearAssistantPanelLikeStreamClearPanel(), k = !1);
5445
5655
  let c = t.elements[t.root], l = c?.type ?? "unknown", d = l === "ProductGrid" && c?.props?.similarsAppend === !0, f = this.config.productDetailsExtended !== !0 && (l === "ProductDetailsPanel" || d);
5446
- f && !s && (this._clearAssistantPanelLikeStreamClearPanel(), O = !1);
5656
+ f && !s && (this._clearAssistantPanelLikeStreamClearPanel(), k = !1);
5447
5657
  let p = l === "ProductDetailsPanel" && o !== "panel" ? "panel" : o;
5448
5658
  this.track(m(this.analyticsContext(), {
5449
5659
  request_id: x,
5450
- chunk_index: D,
5660
+ chunk_index: ee,
5451
5661
  component_type: l,
5452
5662
  widget: "chat"
5453
5663
  }));
5454
5664
  let h = this._buildRenderContext();
5455
5665
  if (h.isStreaming = !0, l === "ComparisonTable") {
5456
5666
  let e = c?.props?.products;
5457
- M(Array.isArray(e) ? e.length : 0);
5667
+ N(Array.isArray(e) ? e.length : 0);
5458
5668
  }
5459
- l === "ProductGrid" && re(void 0, c?.children?.length ?? 0);
5669
+ l === "ProductGrid" && ne(void 0, c?.children?.length ?? 0);
5460
5670
  let g = p === "panel" && this._panel ? this._panel.toPanelSpec(t) : t;
5461
5671
  if (p === "panel" && this._panel && !f) {
5462
- let t = !k;
5463
- k = !0;
5464
- let n = dr({
5672
+ let t = !A;
5673
+ A = !0;
5674
+ let n = vr({
5465
5675
  componentType: l,
5466
5676
  similarsAppend: c?.props?.similarsAppend === !0,
5467
5677
  currentPanelType: this._panel.currentType,
@@ -5478,13 +5688,13 @@ var ti = class e extends B {
5478
5688
  }, this._panel.currentType = l), this._drawer?.setDividerPreviewEnabled((this._panel.currentType ?? l) === "ProductGrid"), l === "ProductDetailsPanel" && e.type === "launchSingleProduct" && this._clearUnavailableProductContext(), u.threadId && !this._panel.threads.includes(u.threadId) && this._panel.threads.push(u.threadId);
5479
5689
  let r = this._panel.currentType ?? l, i = c?.props?.panelTitle;
5480
5690
  if (this._panel.updateTopBar(r, i), this._panel.updateExtendedMode(l), l === "ProductGrid" || l === "CategoriesContainer") {
5481
- if (A = !this._isMobileViewport, P) {
5691
+ if (j = !this._isMobileViewport, F) {
5482
5692
  let e = this._buildRenderContext();
5483
5693
  e.isStreaming = !0;
5484
- let t = this._renderUISpec(P, e);
5485
- j = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: t }), P = null;
5694
+ let t = this._renderUISpec(F, e);
5695
+ M = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: t }), F = null;
5486
5696
  }
5487
- } else n !== "appendSimilars" && n !== "append" && (A = !1, P = null, this._drawer?.setPanelAiZoneState("hidden"));
5697
+ } else n !== "appendSimilars" && n !== "append" && (j = !1, F = null, this._drawer?.setPanelAiZoneState("hidden"));
5488
5698
  }
5489
5699
  if (l === "ProductDetailsPanel" && p === "panel" && (!u.silent || i)) {
5490
5700
  let e = c?.props?.product;
@@ -5503,15 +5713,15 @@ var ti = class e extends B {
5503
5713
  r && r.parentNode === n ? r.after(e) : n.appendChild(e), e.scrollIntoView({
5504
5714
  behavior: "auto",
5505
5715
  block: "end"
5506
- }), this._drawer?.refreshPresentationCollapsed(), k = !0;
5716
+ }), this._drawer?.refreshPresentationCollapsed(), A = !0;
5507
5717
  }
5508
5718
  }
5509
5719
  }
5510
5720
  let _ = l === "AITopPicks" || l === "AIGroupingCards", v = !1, y = !1;
5511
- if (f && d && (h.panelProductListHeading = this._i18n.similarProductsLabel ?? "Similar Products"), _ && !this._isMobileViewport && !u.silent) if (A) {
5721
+ if (f && d && (h.panelProductListHeading = this._i18n.similarProductsLabel ?? "Similar Products"), _ && !this._isMobileViewport && !u.silent) if (j) {
5512
5722
  let e = this._renderUISpec(t, h);
5513
- j = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: e }), v = !0, P = null;
5514
- } else P = t, y = !0;
5723
+ M = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: e }), v = !0, F = null;
5724
+ } else F = t, y = !0;
5515
5725
  let b = i && l === "GroundingReviewCard";
5516
5726
  if ((!u.silent || b) && (p !== "panel" || l === "ProductCard" || f && l === "ProductGrid") && l !== "ActionButtons" && !v && !(y && _)) {
5517
5727
  let e = this._shadow?.querySelector(".gengage-chat-messages");
@@ -5520,7 +5730,7 @@ var ti = class e extends B {
5520
5730
  u.threadId && (n.dataset.threadId = u.threadId), e.appendChild(n), n.scrollIntoView({
5521
5731
  behavior: "auto",
5522
5732
  block: "end"
5523
- }), this._drawer?.refreshPresentationCollapsed(), f && l === "ProductGrid" && (k = !0);
5733
+ }), this._drawer?.refreshPresentationCollapsed(), f && l === "ProductGrid" && (A = !0);
5524
5734
  }
5525
5735
  }
5526
5736
  if ((l === "ProductGrid" || l === "ProductCard") && u.threadId) {
@@ -5540,8 +5750,8 @@ var ti = class e extends B {
5540
5750
  e.length > 0 && this._bridge?.send("previewImages", { images: e });
5541
5751
  }
5542
5752
  let S = c?.children?.length ?? 0;
5543
- if (l === "ProductGrid" && p === "panel" && !f && S > 1 && !this._comparisonSelectMode && !er(this._currentThreadId ?? "")) {
5544
- this._choicePrompterEl?.remove(), this._shadow?.querySelectorAll(".gengage-chat-choice-prompter").forEach((e) => e.remove()), this._choicePrompterEl = Qn({
5753
+ if (l === "ProductGrid" && p === "panel" && !f && S > 1 && !this._comparisonSelectMode && !sr(this._currentThreadId ?? "")) {
5754
+ this._choicePrompterEl?.remove(), this._shadow?.querySelectorAll(".gengage-chat-choice-prompter").forEach((e) => e.remove()), this._choicePrompterEl = ar({
5545
5755
  heading: this._i18n.choicePrompterHeading,
5546
5756
  suggestion: this._i18n.choicePrompterSuggestion,
5547
5757
  ctaLabel: this._i18n.choicePrompterCta,
@@ -5568,7 +5778,7 @@ var ti = class e extends B {
5568
5778
  let e = c?.props?.buttons;
5569
5779
  if (e && e.length > 0) {
5570
5780
  let t = [], n = [];
5571
- for (let r of e) if (Yn(r)) {
5781
+ for (let r of e) if (nr(r)) {
5572
5782
  let e = {
5573
5783
  label: r.label,
5574
5784
  action: r.action
@@ -5588,15 +5798,15 @@ var ti = class e extends B {
5588
5798
  }));
5589
5799
  }
5590
5800
  }
5591
- F(), u.uiSpec = t;
5801
+ I(), u.uiSpec = t;
5592
5802
  },
5593
5803
  onAction: (e) => {
5594
5804
  if (!(!r && n !== this._activeRequestThreadId) && e.type === "action") {
5595
5805
  let t = {};
5596
- this.config.actionHandling?.unknownActionPolicy !== void 0 && (t.unknownActionPolicy = this.config.actionHandling.unknownActionPolicy), this.config.actionHandling?.allowScriptCall !== void 0 && (t.allowScriptCall = this.config.actionHandling.allowScriptCall), me(e, {
5806
+ this.config.actionHandling?.unknownActionPolicy !== void 0 && (t.unknownActionPolicy = this.config.actionHandling.unknownActionPolicy), this.config.actionHandling?.allowScriptCall !== void 0 && (t.allowScriptCall = this.config.actionHandling.allowScriptCall), pe(e, {
5597
5807
  openChat: () => this.open(),
5598
5808
  navigate: (e) => {
5599
- V(e.url) && (this._bridge?.send("navigate", e), e.newTab ? window.open(e.url, "_blank", "noopener,noreferrer") : window.location.href = e.url);
5809
+ H(e.url) && (this._bridge?.send("navigate", e), e.newTab ? window.open(e.url, "_blank", "noopener,noreferrer") : window.location.href = e.url);
5600
5810
  },
5601
5811
  saveSession: (e) => this.saveSession(e.sessionId, e.sku),
5602
5812
  addToCart: (e) => {
@@ -5612,7 +5822,7 @@ var ti = class e extends B {
5612
5822
  if (!(!r && n !== this._activeRequestThreadId) && e.type === "metadata" && e.meta) {
5613
5823
  if ((e.meta.panel !== void 0 || e.meta.messages !== void 0 || e.meta.message_id !== void 0) && (this._lastBackendContext = e.meta), e.meta.panelLoading) {
5614
5824
  let t = typeof e.meta.panelPendingType == "string" ? e.meta.panelPendingType : void 0;
5615
- this.config.productDetailsExtended !== !0 && (t === "productDetails" || t === "productDetailsSimilars") || (O = !0, k = !1, s(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(t), t && this._panel?.updateTopBarForLoading(t));
5825
+ this.config.productDetailsExtended !== !0 && (t === "productDetails" || t === "productDetailsSimilars") || (k = !0, A = !1, s(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(t), t && this._panel?.updateTopBarForLoading(t));
5616
5826
  }
5617
5827
  if (e.meta.voice) {
5618
5828
  let t = new CustomEvent("gengage:chat:voice", {
@@ -5620,15 +5830,15 @@ var ti = class e extends B {
5620
5830
  bubbles: !1,
5621
5831
  cancelable: !0
5622
5832
  }), n = window.dispatchEvent(t);
5623
- if (ee(), n) {
5833
+ if (D(), n) {
5624
5834
  let t = e.meta.voice;
5625
- t.audio_base64 && (this._activeTtsHandle?.stop(), this._activeTtsHandle = et(t.audio_base64, t.content_type ?? "audio/ogg"));
5835
+ t.audio_base64 && (this._activeTtsHandle?.stop(), this._activeTtsHandle = $e(t.audio_base64, t.content_type ?? "audio/ogg"));
5626
5836
  }
5627
5837
  }
5628
5838
  if ((e.meta.redirectTarget || e.meta.redirect) && y("gengage:chat:redirect", {
5629
5839
  target: e.meta.redirectTarget ?? null,
5630
5840
  payload: e.meta.redirect ?? null
5631
- }), e.meta.analyzeAnimation && this.config.productDetailsExtended === !0 && (O = !0, k = !1, s(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(), this._panel?.updateTopBarForLoading("productDetails")), e.meta.loading) {
5841
+ }), e.meta.analyzeAnimation && this.config.productDetailsExtended === !0 && (k = !0, A = !1, s(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(), this._panel?.updateTopBarForLoading("productDetails")), e.meta.loading) {
5632
5842
  let t = Array.isArray(e.meta.thinkingMessages) ? e.meta.thinkingMessages.filter((e) => typeof e == "string") : [];
5633
5843
  t.length > 0 && this._drawer?.setThinkingSteps(t), typeof e.meta.loadingText == "string" && (this._drawer?.addThinkingStep(e.meta.loadingText), this._bridge?.send("loadingMessage", { text: e.meta.loadingText }));
5634
5844
  }
@@ -5646,10 +5856,10 @@ var ti = class e extends B {
5646
5856
  }
5647
5857
  },
5648
5858
  onError: (e) => {
5649
- if (I && this._abortControllers.delete(I), !r && n !== this._activeRequestThreadId) return;
5650
- N = !0, this._activeTypewriter?.cancel(), this._activeTypewriter = null, F(), P = null, this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), this._drawer?.clearInputAreaChips();
5651
- let t = k;
5652
- O && !k && c(), O = !1, k = !1;
5859
+ if (L && this._abortControllers.delete(L), !r && n !== this._activeRequestThreadId) return;
5860
+ P = !0, this._activeTypewriter?.cancel(), this._activeTypewriter = null, I(), F = null, this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), this._drawer?.clearInputAreaChips();
5861
+ let t = A;
5862
+ k && !A && c(), k = !1, A = !1;
5653
5863
  let a = u.silent || u.content != null && u.content.length > 0 || l.length > 0 || t, o = typeof navigator < "u" && navigator.onLine === !1 && g(e), s = () => {
5654
5864
  this._shadow?.querySelector(`[data-message-id="${CSS.escape(u.id)}"]`)?.remove();
5655
5865
  let e = this._messages.indexOf(u);
@@ -5671,7 +5881,7 @@ var ti = class e extends B {
5671
5881
  s(), d = !0, this._drawer?.showErrorWithRecovery(this._i18n.accountInactiveMessage, i);
5672
5882
  return;
5673
5883
  }
5674
- if (xr(e, r)) {
5884
+ if (Or(e, r)) {
5675
5885
  s(), d = !0, this._drawer?.showErrorWithRecovery(r, i);
5676
5886
  return;
5677
5887
  }
@@ -5693,21 +5903,21 @@ var ti = class e extends B {
5693
5903
  }));
5694
5904
  },
5695
5905
  onDone: () => {
5696
- if (I && this._abortControllers.delete(I), !r && n !== this._activeRequestThreadId) return;
5697
- if (N = !0, F(), P) {
5906
+ if (L && this._abortControllers.delete(L), !r && n !== this._activeRequestThreadId) return;
5907
+ if (P = !0, I(), F) {
5698
5908
  let e = this._buildRenderContext();
5699
5909
  e.isStreaming = !1;
5700
5910
  let t = this._shadow?.querySelector(".gengage-chat-messages");
5701
5911
  if (t) {
5702
- let n = this._renderUISpec(P, e);
5912
+ let n = this._renderUISpec(F, e);
5703
5913
  u.threadId && (n.dataset.threadId = u.threadId), t.appendChild(n), n.scrollIntoView({
5704
5914
  behavior: "auto",
5705
5915
  block: "end"
5706
5916
  }), this._drawer?.refreshPresentationCollapsed();
5707
5917
  }
5708
- P = null;
5918
+ F = null;
5709
5919
  }
5710
- if (this._activeRequestThreadId = null, this._consecutiveErrorCount = 0, this._lastErrorMessage = "", this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), O && !k && c(), O = !1, k = !1, i && !l && !k) {
5920
+ if (this._activeRequestThreadId = null, this._consecutiveErrorCount = 0, this._lastErrorMessage = "", this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), k && !A && c(), k = !1, A = !1, i && !l && !A) {
5711
5921
  let e = this._i18n.productNotFoundMessage;
5712
5922
  u.content = e, this._ensureAssistantMessageRendered(u), this._drawer?.updateBotMessage(u.id, e), this._markUnavailableProductContext();
5713
5923
  }
@@ -5716,7 +5926,7 @@ var ti = class e extends B {
5716
5926
  let e = this._queuedUserMessages.length > 0;
5717
5927
  this._flushQueuedUserMessages(), e || this._ensurePdpPrimeSuggestedUiIfNeeded();
5718
5928
  }
5719
- u.status === "streaming" && (u.status = "done", ne()), this._presentation.finalizeAssistantGroup(n);
5929
+ u.status === "streaming" && (u.status = "done", te()), this._presentation.finalizeAssistantGroup(n);
5720
5930
  let e = this._shadow?.querySelector(".gengage-chat-comparison-toggle-btn--hidden");
5721
5931
  e && (e.classList.remove("gengage-chat-comparison-toggle-btn--hidden"), e.classList.add("gengage-chat-comparison-toggle-btn--reveal")), this.emit("message", u);
5722
5932
  let t = this._currentPanelSource;
@@ -5725,10 +5935,10 @@ var ti = class e extends B {
5725
5935
  return this._renderPanelFromSource(t, e);
5726
5936
  } : void 0), this.track(w(this.analyticsContext(), {
5727
5937
  request_id: x,
5728
- latency_ms: Date.now() - te,
5729
- chunk_count: D,
5938
+ latency_ms: Date.now() - O,
5939
+ chunk_count: ee,
5730
5940
  widget: "chat"
5731
- })), this.track(L(this.analyticsContext(), {
5941
+ })), this.track(R(this.analyticsContext(), {
5732
5942
  meter_key: "chat_request",
5733
5943
  quantity: 1,
5734
5944
  unit: "request"
@@ -5738,8 +5948,8 @@ var ti = class e extends B {
5738
5948
  redaction_level: "none"
5739
5949
  })), this._persistToIndexedDB().catch(() => {});
5740
5950
  }
5741
- }, d), this._abortControllers.add(I), !t?.silent && !r) {
5742
- let e = I;
5951
+ }, d), this._abortControllers.add(L), !t?.silent && !r) {
5952
+ let e = L;
5743
5953
  this._drawer?.showStopButton(() => {
5744
5954
  e.abort(), this._abortControllers.delete(e), this._drawer?.removeTypingIndicator(), this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), u.status === "streaming" && (u.status = "done");
5745
5955
  });
@@ -5981,7 +6191,7 @@ var ti = class e extends B {
5981
6191
  return e?.kind === "spec" ? this._shouldUseDividerPreviewForSpec(e.spec) : !1;
5982
6192
  }
5983
6193
  _toggleComparisonSku(t) {
5984
- if (t === "") this._comparisonSelectMode = !this._comparisonSelectMode, this._comparisonSelectionWarning = null, this._comparisonSelectMode && (nr(this._currentThreadId ?? ""), this._choicePrompterEl?.remove(), this._choicePrompterEl = null, this._shadow?.querySelectorAll(".gengage-chat-choice-prompter").forEach((e) => e.remove())), this._comparisonSelectMode || (this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, P());
6194
+ if (t === "") this._comparisonSelectMode = !this._comparisonSelectMode, this._comparisonSelectionWarning = null, this._comparisonSelectMode && (lr(this._currentThreadId ?? ""), this._choicePrompterEl?.remove(), this._choicePrompterEl = null, this._shadow?.querySelectorAll(".gengage-chat-choice-prompter").forEach((e) => e.remove())), this._comparisonSelectMode || (this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, F());
5985
6195
  else if (this._comparisonSelectedSkus.indexOf(t) >= 0) this._comparisonSelectedSkus = this._comparisonSelectedSkus.filter((e) => e !== t), this._comparisonSelectionWarning = null;
5986
6196
  else {
5987
6197
  if (this._comparisonSelectedSkus.length >= e._MAX_COMPARISON_SELECTION) {
@@ -5990,7 +6200,7 @@ var ti = class e extends B {
5990
6200
  });
5991
6201
  return;
5992
6202
  }
5993
- this._comparisonSelectedSkus = [...this._comparisonSelectedSkus, t], this._comparisonSelectionWarning = null, R(t);
6203
+ this._comparisonSelectedSkus = [...this._comparisonSelectedSkus, t], this._comparisonSelectionWarning = null, z(t);
5994
6204
  }
5995
6205
  this._comparisonRefreshRafId !== null && cancelAnimationFrame(this._comparisonRefreshRafId), this._comparisonRefreshRafId = requestAnimationFrame(() => {
5996
6206
  this._comparisonRefreshRafId = null, this._refreshComparisonUI();
@@ -6045,7 +6255,7 @@ var ti = class e extends B {
6045
6255
  }
6046
6256
  }
6047
6257
  if (t.querySelector(".gengage-chat-comparison-floating-btn")?.remove(), this._comparisonSelectMode) {
6048
- let e = Ft(this._comparisonSelectedSkus, this._buildRenderContext());
6258
+ let e = Bt(this._comparisonSelectedSkus, this._buildRenderContext());
6049
6259
  this._isMobileViewport ? this._drawer?.setComparisonDockContent(e) : (this._drawer?.setComparisonDockContent(null), t.appendChild(e));
6050
6260
  } else this._drawer?.setComparisonDockContent(null);
6051
6261
  }
@@ -6068,7 +6278,7 @@ var ti = class e extends B {
6068
6278
  } catch (e) {
6069
6279
  console.error("[gengage] onAddToCart", e);
6070
6280
  }
6071
- z(e.sku, e.quantity);
6281
+ B(e.sku, e.quantity);
6072
6282
  let t = {
6073
6283
  ...e,
6074
6284
  sessionId: this.config.session?.sessionId ?? null
@@ -6095,7 +6305,7 @@ var ti = class e extends B {
6095
6305
  _buildRenderContext() {
6096
6306
  let t = {
6097
6307
  onAction: (e) => {
6098
- if (A(e.title, e.type), e.type === "addToCart") {
6308
+ if (j(e.title, e.type), e.type === "addToCart") {
6099
6309
  let t = this._parseAddToCartActionPayload(e.payload);
6100
6310
  if (t) {
6101
6311
  this._runChatAddToCartFlow(t);
@@ -6105,14 +6315,14 @@ var ti = class e extends B {
6105
6315
  if (e.type === "launchSingleProduct") {
6106
6316
  this._drawer?.setDividerPreviewEnabled(!1);
6107
6317
  let t = typeof e.payload == "object" && e.payload !== null && "sku" in e.payload ? String(e.payload.sku) : "";
6108
- t && I(t, e.title);
6318
+ t && L(t, e.title);
6109
6319
  }
6110
- e.type === "findSimilar" && ie(typeof e.payload == "object" && e.payload !== null && "sku" in e.payload ? String(e.payload.sku) : ""), e.type === "getComparisonTable" && te(this._comparisonSelectedSkus);
6320
+ e.type === "findSimilar" && re(typeof e.payload == "object" && e.payload !== null && "sku" in e.payload ? String(e.payload.sku) : ""), e.type === "getComparisonTable" && O(this._comparisonSelectedSkus);
6111
6321
  let t = e.type === "addToCart" || e.type === "like";
6112
6322
  this._sendAction(e, t ? { preservePanel: !0 } : void 0);
6113
6323
  },
6114
6324
  onProductClick: (e) => {
6115
- if (I(e.sku), this.config.isDemoWebsite !== !0 && this._isSameOriginUrl(e.url)) y("gengage:similar:product-click", {
6325
+ if (L(e.sku), this.config.isDemoWebsite !== !0 && this._isSameOriginUrl(e.url)) y("gengage:similar:product-click", {
6116
6326
  sku: e.sku,
6117
6327
  url: e.url,
6118
6328
  sessionId: this.config.session?.sessionId ?? null
@@ -6169,6 +6379,7 @@ var ti = class e extends B {
6169
6379
  },
6170
6380
  i18n: this._i18n,
6171
6381
  pricing: this.config.pricing,
6382
+ productPriceUi: this.config.productPriceUi,
6172
6383
  productSort: this._productSort,
6173
6384
  onSortChange: (e) => {
6174
6385
  this._productSort = e;
@@ -6226,7 +6437,7 @@ var ti = class e extends B {
6226
6437
  return;
6227
6438
  }
6228
6439
  if (await this._toggleFavorite(e, t), n) {
6229
- ae(e);
6440
+ ie(e);
6230
6441
  let n = t.name ?? e;
6231
6442
  this._sendAction({
6232
6443
  title: n,
@@ -6338,15 +6549,15 @@ var ti = class e extends B {
6338
6549
  }
6339
6550
  _resolveI18n(e) {
6340
6551
  return {
6341
- ...Pe(e.locale),
6552
+ ...Ne(e.locale),
6342
6553
  ...e.i18n
6343
6554
  };
6344
6555
  }
6345
6556
  _resolveUISpecRegistry() {
6346
- return f(Wt(), this.config.renderer?.registry);
6557
+ return f(Yt(), this.config.renderer?.registry);
6347
6558
  }
6348
6559
  _renderUISpec(e, t) {
6349
- let n = this._resolveUISpecRegistry(), r = this.config.renderer?.unknownRenderer ?? Ut, i = (e, t) => Gt(e, t, n, r), a = this.config.renderer?.renderUISpec;
6560
+ let n = this._resolveUISpecRegistry(), r = this.config.renderer?.unknownRenderer ?? Jt, i = (e, t) => Xt(e, t, n, r), a = this.config.renderer?.renderUISpec;
6350
6561
  return a ? a(e, t, {
6351
6562
  registry: n,
6352
6563
  unknownRenderer: r,
@@ -6354,10 +6565,10 @@ var ti = class e extends B {
6354
6565
  }) : i(e, t);
6355
6566
  }
6356
6567
  };
6357
- function ni() {
6358
- return new ti();
6568
+ function ui() {
6569
+ return new li();
6359
6570
  }
6360
6571
  //#endregion
6361
- export { mr as a, Gt as c, De as d, ke as f, gr as i, Le as l, me as m, ni as n, Wt as o, Ae as p, Qr as r, Ut as s, ti as t, Fe as u };
6572
+ export { xr as a, Xt as c, Ee as d, Oe as f, Cr as i, Ie as l, pe as m, ui as n, Yt as o, ke as p, oi as r, Jt as s, li as t, Pe as u };
6362
6573
 
6363
- //# sourceMappingURL=chat-D60Ci1vQ.js.map
6574
+ //# sourceMappingURL=chat-CmKpcbQS.js.map