@gengage/assistant-fe 0.6.47 → 0.6.49
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.
- package/dist/chat/catalog.d.ts +1 -16
- package/dist/chat/components/ChatDrawer.d.ts +0 -2
- package/dist/{chat-CJzuUZxy.js → chat-CAGCU8UV.js} +14 -29
- package/dist/chat-runtime.js +1 -1
- package/dist/chat.iife.js +45 -45
- package/dist/chat.js +2 -2
- package/dist/{common-BRYobEgT.js → common-nAeMxZrn.js} +1 -1
- package/dist/common.js +5 -5
- package/dist/{connection-warning-CWat5Lu6.js → connection-warning-CDtUX-ol.js} +1 -1
- package/dist/{fastIntent-DhakARNG.js → fastIntent-D45C2rEO.js} +1 -1
- package/dist/index.js +10 -10
- package/dist/native.iife.js +11 -11
- package/dist/qna-runtime.js +1 -1
- package/dist/qna.iife.js +23 -23
- package/dist/qna.js +1 -1
- package/dist/request-response-cache-CGxwN0CV.js +1379 -0
- package/dist/{runtime-BlGhlykG.js → runtime-CNlICVeC.js} +3 -3
- package/dist/{runtime-Cg43LM-H.js → runtime-COLQGOkl.js} +577 -642
- package/dist/{runtime-lQi4_gzu.js → runtime-Cg-6aUps.js} +3 -3
- package/dist/{simbut-AOnAKPJA.js → simbut-BtaGMLLn.js} +1 -1
- package/dist/simbut.iife.js +1 -1
- package/dist/simbut.js +1 -1
- package/dist/{simrel-YCf15Qo4.js → simrel-iGl2aXiY.js} +1 -1
- package/dist/simrel-runtime.js +1 -1
- package/dist/simrel.iife.js +11 -11
- package/dist/simrel.js +2 -2
- package/dist/{widget-base-BusLZCWG.js → widget-base-AuwRxs2X.js} +1 -1
- package/package.json +1 -1
- package/dist/chat/components/HandoffNotice.d.ts +0 -9
- package/dist/chat/components/ProsAndCons.d.ts +0 -8
- package/dist/request-response-cache-BBFQ3eHI.js +0 -1491
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as Xt, f as Sa, g as Ea, i as Pa, l as La, m as Ta, n as Aa, t as Ia } from "./request-response-cache-
|
|
2
|
-
import { A as Ce, C as Ma, D as Na, E as Ba, M as de, N as ve, O as za, S as yt, T as Ra, _ as Ha, a as _e, b as Fa, d as Da, f as
|
|
3
|
-
import { i as ze, s as Qt, t as Ya } from "./widget-base-
|
|
4
|
-
import { d as ue, f as Za, i as Xa, n as Qa, p as Ja, r as en, t as wt, u as tn } from "./fastIntent-
|
|
5
|
-
import { t as
|
|
1
|
+
import { c as Xt, f as Sa, g as Ea, i as Pa, l as La, m as Ta, n as Aa, t as Ia } from "./request-response-cache-CGxwN0CV.js";
|
|
2
|
+
import { A as Ce, C as Ma, D as Na, E as Ba, M as de, N as ve, O as za, S as yt, T as Ra, _ as Ha, a as _e, b as Fa, d as Da, f as Ua, g as Oa, h as ja, j as he, l as qa, m as $a, p as Va, u as Ga, v as Wa, w as at, x as Ka } from "./context-UTzCGyR9.js";
|
|
3
|
+
import { i as ze, s as Qt, t as Ya } from "./widget-base-AuwRxs2X.js";
|
|
4
|
+
import { d as ue, f as Za, i as Xa, n as Qa, p as Ja, r as en, t as wt, u as tn } from "./fastIntent-D45C2rEO.js";
|
|
5
|
+
import { t as Oe } from "./locale-uQ5XZ2yS.js";
|
|
6
6
|
import { a as Jt, i as ea, n as xe, r as ta, t as ae } from "./price-formatter-CHUmYq8I.js";
|
|
7
7
|
function _t() {
|
|
8
8
|
const t = Date.now(), e = new Uint8Array(16);
|
|
@@ -64,7 +64,7 @@ var on = [
|
|
|
64
64
|
"image/jpeg",
|
|
65
65
|
"image/png",
|
|
66
66
|
"image/webp"
|
|
67
|
-
],
|
|
67
|
+
], qo = 5 * 1024 * 1024;
|
|
68
68
|
function sn(t) {
|
|
69
69
|
return on.includes(t.type) ? t.size > 5242880 ? {
|
|
70
70
|
ok: !1,
|
|
@@ -210,8 +210,8 @@ function pn(t, e, a) {
|
|
|
210
210
|
if (!p.ok) {
|
|
211
211
|
let h = p.statusText;
|
|
212
212
|
try {
|
|
213
|
-
const m = await p.json(),
|
|
214
|
-
typeof
|
|
213
|
+
const m = await p.json(), y = m.detail ?? m.message ?? m.error;
|
|
214
|
+
typeof y == "string" && (h = y);
|
|
215
215
|
} catch {
|
|
216
216
|
}
|
|
217
217
|
e.onError(/* @__PURE__ */ new Error(`HTTP ${p.status}: ${h}`));
|
|
@@ -288,7 +288,7 @@ var dt = "gengage-chat-scroll", Be = null;
|
|
|
288
288
|
function Ct(t) {
|
|
289
289
|
Be = t;
|
|
290
290
|
}
|
|
291
|
-
function
|
|
291
|
+
function $o() {
|
|
292
292
|
if (Be && Be.isConnected) return Be;
|
|
293
293
|
Be = null;
|
|
294
294
|
const t = document.getElementById(dt);
|
|
@@ -768,8 +768,8 @@ var Et = '<svg viewBox="0 0 16 16" class="gengage-chat-icon"><path d="M3 8h10M9
|
|
|
768
768
|
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>',
|
|
769
769
|
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>',
|
|
770
770
|
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>'
|
|
771
|
-
}, Tn = Re, An = 3e3,
|
|
772
|
-
async function
|
|
771
|
+
}, Tn = Re, An = 3e3, Lt = 1500, In = /data:image\/(png|jpeg|jpg|webp);base64,[A-Za-z0-9+/=]+/gi;
|
|
772
|
+
async function Mn(t) {
|
|
773
773
|
for (const e of t) for (const a of e.types)
|
|
774
774
|
if (a.startsWith("image/"))
|
|
775
775
|
try {
|
|
@@ -783,7 +783,7 @@ async function Nn(t) {
|
|
|
783
783
|
for (const e of t)
|
|
784
784
|
if (e.types.includes("text/html"))
|
|
785
785
|
try {
|
|
786
|
-
const a = (await (await e.getType("text/html")).text()).match(
|
|
786
|
+
const a = (await (await e.getType("text/html")).text()).match(In)?.[0];
|
|
787
787
|
if (!a || a.length > 5e6) continue;
|
|
788
788
|
const n = await (await fetch(a)).blob();
|
|
789
789
|
if (!n || n.size === 0) continue;
|
|
@@ -800,15 +800,15 @@ async function Nn(t) {
|
|
|
800
800
|
}
|
|
801
801
|
return null;
|
|
802
802
|
}
|
|
803
|
-
async function
|
|
803
|
+
async function Nn(t) {
|
|
804
804
|
try {
|
|
805
805
|
const e = t ?? (typeof navigator.clipboard?.read == "function" ? navigator.clipboard.read() : null);
|
|
806
|
-
return e ?
|
|
806
|
+
return e ? Mn(await e) : null;
|
|
807
807
|
} catch {
|
|
808
808
|
}
|
|
809
809
|
return null;
|
|
810
810
|
}
|
|
811
|
-
var
|
|
811
|
+
var Bn = class {
|
|
812
812
|
_renderPhotoAnalysisCard(t, e) {
|
|
813
813
|
Ln(t, {
|
|
814
814
|
badge: this.i18n.photoAnalysisBadge,
|
|
@@ -925,8 +925,8 @@ var zn = class {
|
|
|
925
925
|
i.removeEventListener("touchstart", M), i.removeEventListener("touchmove", H), i.removeEventListener("touchend", ee), i.removeEventListener("touchcancel", pe);
|
|
926
926
|
});
|
|
927
927
|
}
|
|
928
|
-
const
|
|
929
|
-
|
|
928
|
+
const y = document.createElement("div");
|
|
929
|
+
y.className = "gengage-chat-body", y.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 _n({
|
|
930
930
|
onBack: () => e.onPanelBack?.(),
|
|
931
931
|
onForward: () => e.onPanelForward?.(),
|
|
932
932
|
onClose: () => {
|
|
@@ -937,7 +937,7 @@ var zn = class {
|
|
|
937
937
|
closePanelAriaLabel: this.i18n.closePanelAriaLabel
|
|
938
938
|
}), this._panelEl.appendChild(this._panelTopBar.getElement());
|
|
939
939
|
const v = () => this._updateScrollAffordance();
|
|
940
|
-
this._panelEl.addEventListener("scroll", v, { passive: !0 }), this._cleanups.push(() => this._panelEl.removeEventListener("scroll", v)),
|
|
940
|
+
this._panelEl.addEventListener("scroll", v, { passive: !0 }), this._cleanups.push(() => this._panelEl.removeEventListener("scroll", v)), y.appendChild(this._panelEl), this._dividerEl = document.createElement("div"), this._dividerEl.className = "gengage-chat-panel-divider gengage-chat-panel-divider--hidden", this._dividerEl.dataset.gengagePart = "chat-panel-divider", this._dividerEl.setAttribute("role", "separator"), this._dividerEl.setAttribute("aria-label", this.i18n.togglePanelAriaLabel), this._dividerEl.setAttribute("title", this.i18n.togglePanelAriaLabel);
|
|
941
941
|
const u = document.createElement("button");
|
|
942
942
|
u.className = "gengage-chat-panel-divider-toggle gds-btn gds-btn-ghost", u.dataset.gengagePart = "chat-panel-divider-toggle", u.type = "button", u.setAttribute("aria-label", this.i18n.togglePanelAriaLabel), u.setAttribute("title", this.i18n.togglePanelAriaLabel), u.textContent = "»", u.addEventListener("click", () => {
|
|
943
943
|
if (this._ignoreNextDividerClick) {
|
|
@@ -947,7 +947,7 @@ var zn = class {
|
|
|
947
947
|
this.togglePanel(), this._onPanelToggle?.();
|
|
948
948
|
});
|
|
949
949
|
let d = null, _ = null;
|
|
950
|
-
const
|
|
950
|
+
const x = 24, b = (w) => {
|
|
951
951
|
if (!(this._options.getMobileViewport?.() ?? window.innerWidth <= 768)) return;
|
|
952
952
|
const Y = w.changedTouches?.[0];
|
|
953
953
|
Y && (d = Y.clientX, _ = Y.clientY);
|
|
@@ -956,13 +956,13 @@ var zn = class {
|
|
|
956
956
|
const Y = w.changedTouches?.[0];
|
|
957
957
|
if (!Y) return;
|
|
958
958
|
const ce = Y.clientX - d, oe = Y.clientY - _;
|
|
959
|
-
if (d = null, _ = null, Math.abs(oe) <
|
|
959
|
+
if (d = null, _ = null, Math.abs(oe) < x || Math.abs(oe) < Math.abs(ce)) return;
|
|
960
960
|
const M = oe < 0;
|
|
961
961
|
M !== this._panelCollapsed && (this._ignoreNextDividerClick = !0, this.setPanelCollapsed(M), this._onPanelToggle?.());
|
|
962
962
|
};
|
|
963
963
|
this._dividerEl.addEventListener("touchstart", b, { passive: !0 }), this._dividerEl.addEventListener("touchend", A, { passive: !0 }), this._cleanups.push(() => {
|
|
964
964
|
this._dividerEl.removeEventListener("touchstart", b), this._dividerEl.removeEventListener("touchend", A);
|
|
965
|
-
}), this._dividerEl.appendChild(u),
|
|
965
|
+
}), this._dividerEl.appendChild(u), y.appendChild(this._dividerEl);
|
|
966
966
|
const L = document.createElement("div");
|
|
967
967
|
L.className = "gengage-chat-conversation", L.dataset.gengagePart = "chat-conversation", this._conversationEl = L, L.appendChild(i);
|
|
968
968
|
const E = document.createElement("div");
|
|
@@ -997,13 +997,13 @@ var zn = class {
|
|
|
997
997
|
this.messagesEl.addEventListener("wheel", z, { passive: !0 }), this._cleanups.push(() => this.messagesEl.removeEventListener("wheel", z));
|
|
998
998
|
const k = (w) => {
|
|
999
999
|
X(), this._touchStartY = w.touches[0]?.clientY ?? null;
|
|
1000
|
-
},
|
|
1000
|
+
}, O = (w) => {
|
|
1001
1001
|
X();
|
|
1002
1002
|
const Y = w.touches[0]?.clientY, ce = this._touchStartY;
|
|
1003
1003
|
typeof Y == "number" && typeof ce == "number" && Y - ce > 10 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
|
|
1004
1004
|
};
|
|
1005
|
-
this.messagesEl.addEventListener("touchstart", k, { passive: !0 }), this.messagesEl.addEventListener("touchmove",
|
|
1006
|
-
this.messagesEl.removeEventListener("touchstart", k), this.messagesEl.removeEventListener("touchmove",
|
|
1005
|
+
this.messagesEl.addEventListener("touchstart", k, { passive: !0 }), this.messagesEl.addEventListener("touchmove", O, { passive: !0 }), this._cleanups.push(() => {
|
|
1006
|
+
this.messagesEl.removeEventListener("touchstart", k), this.messagesEl.removeEventListener("touchmove", O);
|
|
1007
1007
|
}), L.appendChild(this.messagesEl), this._panelFloatingEl = document.createElement("div"), this._panelFloatingEl.className = "gengage-chat-panel-float", this._panelFloatingEl.dataset.gengagePart = "chat-panel-floating-layer", this._panelEl.appendChild(this._panelFloatingEl), this._resetPanelAiZoneElement(), this._pillsEl = document.createElement("div"), this._pillsEl.className = "gengage-chat-pills", this._pillsEl.dataset.gengagePart = "chat-suggestion-pills", this._pillsEl.setAttribute("role", "toolbar"), this._pillsEl.setAttribute("aria-label", this.i18n.suggestionsAriaLabel), this._pillsEl.style.display = "none";
|
|
1008
1008
|
const B = document.createElement("div");
|
|
1009
1009
|
B.className = "gengage-chat-pills-scroll", B.dataset.gengagePart = "chat-suggestion-pills-scroll", this._pillsEl.appendChild(B);
|
|
@@ -1014,10 +1014,10 @@ var zn = class {
|
|
|
1014
1014
|
behavior: "smooth"
|
|
1015
1015
|
});
|
|
1016
1016
|
}), this._pillsEl.appendChild(q);
|
|
1017
|
-
let
|
|
1017
|
+
let U = !1;
|
|
1018
1018
|
const ne = () => {
|
|
1019
|
-
|
|
1020
|
-
|
|
1019
|
+
U || (U = !0, requestAnimationFrame(() => {
|
|
1020
|
+
U = !1;
|
|
1021
1021
|
const w = B.scrollLeft + B.clientWidth >= B.scrollWidth - 4;
|
|
1022
1022
|
q.style.display = w ? "none" : "";
|
|
1023
1023
|
}));
|
|
@@ -1109,7 +1109,7 @@ var zn = class {
|
|
|
1109
1109
|
onError: (w, Y) => {
|
|
1110
1110
|
this._micBtn?.classList.remove("gengage-chat-mic-btn--active");
|
|
1111
1111
|
}
|
|
1112
|
-
}, { lang: this._voiceLang })), te.appendChild(this.sendBtn), W.appendChild(this._previewStrip), W.appendChild(this._fileInput), W.appendChild(te), L.appendChild(W),
|
|
1112
|
+
}, { lang: this._voiceLang })), te.appendChild(this.sendBtn), W.appendChild(this._previewStrip), W.appendChild(this._fileInput), W.appendChild(te), L.appendChild(W), y.appendChild(L), this._comparisonDockSlotEl = document.createElement("div"), this._comparisonDockSlotEl.className = "gengage-chat-comparison-dock-slot", this._comparisonDockSlotEl.dataset.gengagePart = "comparison-dock-slot", y.appendChild(this._comparisonDockSlotEl), this.root.appendChild(y), this._setupHorizontalSwipe(L);
|
|
1113
1113
|
const se = this._createFooterAttribution();
|
|
1114
1114
|
se && this.root.appendChild(se);
|
|
1115
1115
|
const re = (w) => {
|
|
@@ -1316,7 +1316,7 @@ var zn = class {
|
|
|
1316
1316
|
this._attachMenuEl && (this._attachMenuEl.hasAttribute("hidden") ? this._openAttachMenu() : this._closeAttachMenu());
|
|
1317
1317
|
}
|
|
1318
1318
|
async _pasteImageFromClipboardMenu(t) {
|
|
1319
|
-
const e = await
|
|
1319
|
+
const e = await Nn(t);
|
|
1320
1320
|
if (e) {
|
|
1321
1321
|
this._routeAttachmentFile(e), this._closeAttachMenu();
|
|
1322
1322
|
return;
|
|
@@ -1469,8 +1469,8 @@ var zn = class {
|
|
|
1469
1469
|
h.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-price", g.appendChild(h), l.appendChild(p), l.appendChild(g), s.appendChild(l);
|
|
1470
1470
|
const m = document.createElement("div");
|
|
1471
1471
|
m.className = "gengage-chat-comparison-highlights";
|
|
1472
|
-
const
|
|
1473
|
-
|
|
1472
|
+
const y = document.createElement("div");
|
|
1473
|
+
y.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-hl-label", m.appendChild(y);
|
|
1474
1474
|
const v = document.createElement("ul");
|
|
1475
1475
|
v.className = "gengage-chat-comparison-skeleton-hl-list";
|
|
1476
1476
|
for (let T = 0; T < 3; T++) {
|
|
@@ -1489,10 +1489,10 @@ var zn = class {
|
|
|
1489
1489
|
N.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-kd-line", _.appendChild(N);
|
|
1490
1490
|
}
|
|
1491
1491
|
u.appendChild(_), o.appendChild(u);
|
|
1492
|
-
const
|
|
1493
|
-
|
|
1492
|
+
const x = document.createElement("div");
|
|
1493
|
+
x.className = "gengage-chat-comparison-special gengage-chat-comparison-special--skeleton";
|
|
1494
1494
|
const b = document.createElement("div");
|
|
1495
|
-
b.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-special-line",
|
|
1495
|
+
b.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-special-line", x.appendChild(b), o.appendChild(x);
|
|
1496
1496
|
const A = document.createElement("div");
|
|
1497
1497
|
A.className = "gengage-chat-comparison-skeleton-table-wrap";
|
|
1498
1498
|
const L = document.createElement("div");
|
|
@@ -1652,7 +1652,9 @@ var zn = class {
|
|
|
1652
1652
|
}
|
|
1653
1653
|
_applyLoadingSteps(t, e, a = !1) {
|
|
1654
1654
|
const n = this._normalizeLoadingSteps(e), r = n[n.length - 1], i = this._normalizeLoadingSteps(this.i18n.loadingSequenceGeneric);
|
|
1655
|
-
t.steps = a && r ?
|
|
1655
|
+
t.steps = a && r ? [r] : n.length > 0 ? n : i.length > 0 ? i : [this.i18n.loadingMessage], this._clearLoadingBindingInterval(t), t.index = 0;
|
|
1656
|
+
const o = t.steps[t.index];
|
|
1657
|
+
t.labelEl.textContent !== o && (t.labelEl.textContent = o), t.steps.length > 1 && (t.intervalId = setInterval(() => {
|
|
1656
1658
|
t.index = (t.index + 1) % t.steps.length, t.labelEl.textContent = t.steps[t.index];
|
|
1657
1659
|
}, An));
|
|
1658
1660
|
}
|
|
@@ -1667,17 +1669,6 @@ var zn = class {
|
|
|
1667
1669
|
}
|
|
1668
1670
|
return a;
|
|
1669
1671
|
}
|
|
1670
|
-
_buildCurrentLoadingRotation(t, e) {
|
|
1671
|
-
const a = this._pickStaticLoadingSteps(/* @__PURE__ */ new Set([t, ...e]), In);
|
|
1672
|
-
return this._uniqueLoadingSteps([t, ...a]);
|
|
1673
|
-
}
|
|
1674
|
-
_pickStaticLoadingSteps(t, e) {
|
|
1675
|
-
const a = this._uniqueLoadingSteps(this.i18n.loadingSequenceGeneric).filter((n) => !t.has(n));
|
|
1676
|
-
return a.length <= e ? a : a.map((n) => ({
|
|
1677
|
-
step: n,
|
|
1678
|
-
sort: Math.random()
|
|
1679
|
-
})).sort((n, r) => n.sort - r.sort).slice(0, e).map((n) => n.step);
|
|
1680
|
-
}
|
|
1681
1672
|
_clearLoadingBindingInterval(t) {
|
|
1682
1673
|
t?.intervalId && (clearInterval(t.intervalId), t.intervalId = null);
|
|
1683
1674
|
}
|
|
@@ -1872,31 +1863,31 @@ var zn = class {
|
|
|
1872
1863
|
for (const t of this._cleanups) t();
|
|
1873
1864
|
this._cleanups.length = 0, this._voiceInput?.destroy(), this._voiceInput = null;
|
|
1874
1865
|
}
|
|
1875
|
-
},
|
|
1866
|
+
}, zn = ["shopping", "beauty_consulting", "account_expert"];
|
|
1876
1867
|
function oa(t) {
|
|
1877
|
-
return t === "watch_expert" ? "account_expert" :
|
|
1868
|
+
return t === "watch_expert" ? "account_expert" : zn.includes(t) ? t : null;
|
|
1878
1869
|
}
|
|
1879
|
-
function
|
|
1870
|
+
function Rn(t) {
|
|
1880
1871
|
return typeof t == "string" ? oa(t) : null;
|
|
1881
1872
|
}
|
|
1882
1873
|
function me(t) {
|
|
1883
1874
|
return t == null || typeof t != "object" || Array.isArray(t) ? null : t;
|
|
1884
1875
|
}
|
|
1885
|
-
function
|
|
1876
|
+
function Hn(...t) {
|
|
1886
1877
|
for (const e of t) if (typeof e == "string") {
|
|
1887
1878
|
const a = e.trim();
|
|
1888
1879
|
if (a.length > 0) return a;
|
|
1889
1880
|
}
|
|
1890
1881
|
}
|
|
1891
|
-
function
|
|
1882
|
+
function Fn(t) {
|
|
1892
1883
|
const e = me(t);
|
|
1893
1884
|
if (!e) return null;
|
|
1894
|
-
const a =
|
|
1885
|
+
const a = Hn(e.assistant_mode, e.assistantMode);
|
|
1895
1886
|
if (!a) return null;
|
|
1896
1887
|
const n = oa(a);
|
|
1897
1888
|
return !n || n === "shopping" ? null : n;
|
|
1898
1889
|
}
|
|
1899
|
-
function
|
|
1890
|
+
function Dn(t) {
|
|
1900
1891
|
return t === "beauty_consulting" ? "user_message" : "findSimilar";
|
|
1901
1892
|
}
|
|
1902
1893
|
var Un = class {
|
|
@@ -1932,7 +1923,7 @@ var Un = class {
|
|
|
1932
1923
|
}
|
|
1933
1924
|
handleRedirect(t) {
|
|
1934
1925
|
ze("mode", "redirect metadata received", t);
|
|
1935
|
-
const e =
|
|
1926
|
+
const e = Fn(t);
|
|
1936
1927
|
return e ? (this.switchMode(e), !0) : !1;
|
|
1937
1928
|
}
|
|
1938
1929
|
switchMode(t) {
|
|
@@ -1945,7 +1936,7 @@ var Un = class {
|
|
|
1945
1936
|
updateFromContext(t) {
|
|
1946
1937
|
const e = t.assistant_mode;
|
|
1947
1938
|
if (typeof e == "string" && e) {
|
|
1948
|
-
const a =
|
|
1939
|
+
const a = Rn(e);
|
|
1949
1940
|
a ? this._mode = a : ze("mode", "ignoring unrecognised assistant_mode from context", e);
|
|
1950
1941
|
} else e === null && (this._mode = "shopping");
|
|
1951
1942
|
this._uiHints = me(t.ui_hints) ?? null;
|
|
@@ -1955,19 +1946,19 @@ var Un = class {
|
|
|
1955
1946
|
return this._mode = "shopping", this._uiHints = null, t;
|
|
1956
1947
|
}
|
|
1957
1948
|
resolveAttachmentActionType() {
|
|
1958
|
-
return
|
|
1949
|
+
return Dn(this._mode);
|
|
1959
1950
|
}
|
|
1960
1951
|
shouldCondenseThinking() {
|
|
1961
1952
|
return this._mode !== "shopping";
|
|
1962
1953
|
}
|
|
1963
1954
|
};
|
|
1964
|
-
function
|
|
1955
|
+
function On() {
|
|
1965
1956
|
return {
|
|
1966
1957
|
streamIncludedBeautyPhotoStep: !1,
|
|
1967
1958
|
pendingPhotoStepSkip: !1
|
|
1968
1959
|
};
|
|
1969
1960
|
}
|
|
1970
|
-
function
|
|
1961
|
+
function jn(t, e, a, n, r) {
|
|
1971
1962
|
if (t === "PhotoAnalysisCard") {
|
|
1972
1963
|
const i = ra(e);
|
|
1973
1964
|
return i ? (r.photoAnalysis = i, r.renderHint = "photo_analysis", n.ensureRendered(), n.cancelTypewriter(), n.drawer?.updateBotMessage(r.id, r.content ?? "", "photo_analysis", r.photoAnalysis), !0) : (ze("beauty", "PhotoAnalysisCard parse failed, falling through to generic renderer", e), !1);
|
|
@@ -1985,16 +1976,16 @@ function qn(t, e, a, n, r) {
|
|
|
1985
1976
|
}
|
|
1986
1977
|
return !1;
|
|
1987
1978
|
}
|
|
1988
|
-
function
|
|
1979
|
+
function qn(t) {
|
|
1989
1980
|
return t.renderHint === "photo_analysis";
|
|
1990
1981
|
}
|
|
1991
|
-
function
|
|
1982
|
+
function $n(t, e) {
|
|
1992
1983
|
t.streamIncludedBeautyPhotoStep || e.drawer?.setBeautyPhotoStepCard({ visible: !1 }), t.pendingPhotoStepSkip && (t.pendingPhotoStepSkip = !1, e.sendSkipMessage());
|
|
1993
1984
|
}
|
|
1994
|
-
function
|
|
1985
|
+
function Vn(t, e) {
|
|
1995
1986
|
t.pendingPhotoStepSkip && (t.pendingPhotoStepSkip = !1, e.sendSkipMessage());
|
|
1996
1987
|
}
|
|
1997
|
-
var
|
|
1988
|
+
var Gn = {
|
|
1998
1989
|
screen_size: "Screen Size",
|
|
1999
1990
|
weight: "Weight",
|
|
2000
1991
|
battery_capacity: "Battery Capacity",
|
|
@@ -2026,12 +2017,12 @@ var Wn = {
|
|
|
2026
2017
|
height: "Height",
|
|
2027
2018
|
depth: "Depth"
|
|
2028
2019
|
};
|
|
2029
|
-
function
|
|
2030
|
-
return e?.[t] ??
|
|
2020
|
+
function Wn(t, e, a) {
|
|
2021
|
+
return e?.[t] ?? Gn[t] ?? t.replace(/_/g, " ").replace(/^./u, (n) => Kn(n, a));
|
|
2031
2022
|
}
|
|
2032
|
-
function
|
|
2023
|
+
function Kn(t, e) {
|
|
2033
2024
|
try {
|
|
2034
|
-
return t.toLocaleUpperCase(
|
|
2025
|
+
return t.toLocaleUpperCase(Oe(e));
|
|
2035
2026
|
} catch {
|
|
2036
2027
|
return t.toLocaleUpperCase("tr");
|
|
2037
2028
|
}
|
|
@@ -2041,17 +2032,17 @@ function Tt(t) {
|
|
|
2041
2032
|
const e = Number(t);
|
|
2042
2033
|
return Number.isFinite(e) && e > 0;
|
|
2043
2034
|
}
|
|
2044
|
-
function
|
|
2035
|
+
function Yn(t) {
|
|
2045
2036
|
const e = typeof t == "number" ? t : typeof t == "string" ? Number(t) : NaN;
|
|
2046
2037
|
return Number.isFinite(e) && e > 0;
|
|
2047
2038
|
}
|
|
2048
|
-
function
|
|
2039
|
+
function Zn(t) {
|
|
2049
2040
|
const e = typeof t == "number" ? t : Number(t), a = document.createElement("div");
|
|
2050
2041
|
a.className = "gengage-chat-comparison-recommended-rating", a.innerHTML = '<span class="gengage-chat-comparison-recommended-rating-icon" aria-hidden="true"><svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3.6l2.58 5.23 5.77.84-4.17 4.07.98 5.75L12 16.78l-5.16 2.71.99-5.75L3.66 9.67l5.76-.84L12 3.6z"/></svg></span>';
|
|
2051
2042
|
const n = document.createElement("span");
|
|
2052
2043
|
return n.className = "gengage-chat-comparison-recommended-rating-value", n.textContent = e.toFixed(1), a.appendChild(n), a;
|
|
2053
2044
|
}
|
|
2054
|
-
function
|
|
2045
|
+
function Xn(t) {
|
|
2055
2046
|
const { recommended: e, products: a, attributes: n, highlights: r, specialCases: i, onProductClick: o, i18n: s } = t, c = document.createElement("div");
|
|
2056
2047
|
if (c.className = "gengage-chat-comparison", c.dataset.gengagePart = "comparison-dialog", c.setAttribute("role", "dialog"), c.setAttribute("aria-label", s?.comparisonHeading ?? "Comparison Results"), e) {
|
|
2057
2048
|
const l = document.createElement("article");
|
|
@@ -2073,10 +2064,10 @@ function Qn(t) {
|
|
|
2073
2064
|
g.appendChild(h);
|
|
2074
2065
|
const m = document.createElement("div");
|
|
2075
2066
|
m.className = "gengage-chat-comparison-recommended-info";
|
|
2076
|
-
const
|
|
2077
|
-
|
|
2067
|
+
const y = document.createElement("div");
|
|
2068
|
+
y.className = "gengage-chat-comparison-recommended-title", y.textContent = e.name, m.appendChild(y);
|
|
2078
2069
|
const v = document.createElement("div");
|
|
2079
|
-
if (v.className = "gengage-chat-comparison-recommended-meta",
|
|
2070
|
+
if (v.className = "gengage-chat-comparison-recommended-meta", Yn(e.rating) && v.appendChild(Zn(e.rating)), Tt(e.price)) {
|
|
2080
2071
|
const d = document.createElement("div");
|
|
2081
2072
|
d.className = "gengage-chat-comparison-recommended-price", d.textContent = ae(e.price, t.pricing), v.appendChild(d);
|
|
2082
2073
|
}
|
|
@@ -2098,12 +2089,12 @@ function Qn(t) {
|
|
|
2098
2089
|
d.className = "gengage-chat-comparison-highlights", d.dataset.gengagePart = "comparison-highlights";
|
|
2099
2090
|
const _ = document.createElement("div");
|
|
2100
2091
|
_.className = "gengage-chat-comparison-highlights-label", _.textContent = s?.highlightsLabel ?? "Key Highlights", d.appendChild(_);
|
|
2101
|
-
const
|
|
2092
|
+
const x = document.createElement("ul");
|
|
2102
2093
|
for (const b of r) {
|
|
2103
2094
|
const A = document.createElement("li");
|
|
2104
|
-
A.textContent = b,
|
|
2095
|
+
A.textContent = b, x.appendChild(A);
|
|
2105
2096
|
}
|
|
2106
|
-
d.appendChild(
|
|
2097
|
+
d.appendChild(x), l.appendChild(d);
|
|
2107
2098
|
}
|
|
2108
2099
|
c.appendChild(l);
|
|
2109
2100
|
}
|
|
@@ -2117,7 +2108,7 @@ function Qn(t) {
|
|
|
2117
2108
|
const h = document.createElement("span");
|
|
2118
2109
|
h.className = "gengage-chat-comparison-key-differences-summary-meta", h.textContent = s?.viewMoreLabel ?? "Show More", p.appendChild(g), p.appendChild(h), l.appendChild(p);
|
|
2119
2110
|
const m = document.createElement("div");
|
|
2120
|
-
m.className = "gengage-chat-comparison-key-differences-content", m.innerHTML = ve(
|
|
2111
|
+
m.className = "gengage-chat-comparison-key-differences-content", m.innerHTML = ve(Qn(t.keyDifferencesHtml)), l.appendChild(m), c.appendChild(l);
|
|
2121
2112
|
}
|
|
2122
2113
|
if (i && i.length > 0) {
|
|
2123
2114
|
const l = document.createElement("details");
|
|
@@ -2125,7 +2116,7 @@ function Qn(t) {
|
|
|
2125
2116
|
const p = document.createElement("summary");
|
|
2126
2117
|
p.textContent = s?.specialCasesLabel ?? "For Special Cases", l.appendChild(p);
|
|
2127
2118
|
const g = document.createElement("ul");
|
|
2128
|
-
for (const h of i)
|
|
2119
|
+
for (const h of i) Jn(g, h);
|
|
2129
2120
|
g.childElementCount > 0 && l.appendChild(g), c.appendChild(l);
|
|
2130
2121
|
}
|
|
2131
2122
|
if (a.length > 0 && n.length > 0) {
|
|
@@ -2155,8 +2146,8 @@ function Qn(t) {
|
|
|
2155
2146
|
const b = document.createElement("div");
|
|
2156
2147
|
b.className = "gengage-chat-comparison-table-header-img-placeholder", b.setAttribute("aria-hidden", "true"), d.appendChild(b);
|
|
2157
2148
|
}
|
|
2158
|
-
const
|
|
2159
|
-
if (
|
|
2149
|
+
const x = document.createElement("div");
|
|
2150
|
+
if (x.className = "gengage-chat-comparison-table-product-name", x.textContent = v.name, d.appendChild(x), Tt(v.price)) {
|
|
2160
2151
|
const b = document.createElement("div");
|
|
2161
2152
|
b.className = "gengage-chat-comparison-table-price", b.textContent = ae(v.price, t.pricing), d.appendChild(b);
|
|
2162
2153
|
}
|
|
@@ -2166,18 +2157,18 @@ function Qn(t) {
|
|
|
2166
2157
|
const m = document.createElement("tbody");
|
|
2167
2158
|
for (const v of n) {
|
|
2168
2159
|
const u = document.createElement("tr"), d = document.createElement("td");
|
|
2169
|
-
d.className = "gengage-chat-comparison-label", d.textContent =
|
|
2160
|
+
d.className = "gengage-chat-comparison-label", d.textContent = Wn(v.label, s?.criteriaLabels, t.locale), u.appendChild(d);
|
|
2170
2161
|
for (let _ = 0; _ < v.values.length; _++) {
|
|
2171
|
-
const
|
|
2172
|
-
a[_]?.sku === e?.sku && (
|
|
2162
|
+
const x = document.createElement("td");
|
|
2163
|
+
a[_]?.sku === e?.sku && (x.className = "gengage-chat-comparison-selected gds-comparison-table-winner-cell");
|
|
2173
2164
|
const b = v.values[_] ?? "";
|
|
2174
|
-
sa(b) ?
|
|
2165
|
+
sa(b) ? x.innerHTML = ve(b) : x.textContent = b, u.appendChild(x);
|
|
2175
2166
|
}
|
|
2176
2167
|
m.appendChild(u);
|
|
2177
2168
|
}
|
|
2178
2169
|
l.appendChild(m);
|
|
2179
|
-
const
|
|
2180
|
-
|
|
2170
|
+
const y = document.createElement("div");
|
|
2171
|
+
y.className = "gengage-chat-comparison-table-wrapper", y.dataset.gengagePart = "comparison-table-wrapper", y.appendChild(l), c.appendChild(y);
|
|
2181
2172
|
}
|
|
2182
2173
|
return c.addEventListener("keydown", (l) => {
|
|
2183
2174
|
if (l.key !== "Tab") return;
|
|
@@ -2187,13 +2178,13 @@ function Qn(t) {
|
|
|
2187
2178
|
l.shiftKey && document.activeElement === g ? (l.preventDefault(), h.focus()) : !l.shiftKey && document.activeElement === h && (l.preventDefault(), g.focus());
|
|
2188
2179
|
}), c;
|
|
2189
2180
|
}
|
|
2190
|
-
function
|
|
2181
|
+
function Qn(t) {
|
|
2191
2182
|
if (/<[uo]l[\s>]/i.test(t) || /<li[\s>]/i.test(t)) return t;
|
|
2192
2183
|
const e = t.split(`
|
|
2193
2184
|
`).filter((a) => a.trim());
|
|
2194
2185
|
return e.length <= 1 ? t : "<ul>" + e.map((a) => `<li>${a.trim()}</li>`).join("") + "</ul>";
|
|
2195
2186
|
}
|
|
2196
|
-
function
|
|
2187
|
+
function Jn(t, e) {
|
|
2197
2188
|
const a = ve(e);
|
|
2198
2189
|
if (!a) return;
|
|
2199
2190
|
const n = document.createElement("template");
|
|
@@ -2221,30 +2212,30 @@ function qe(t, e = 18) {
|
|
|
2221
2212
|
}
|
|
2222
2213
|
return n;
|
|
2223
2214
|
}
|
|
2224
|
-
var nt = "General", At = 220,
|
|
2225
|
-
function
|
|
2215
|
+
var nt = "General", At = 220, er = 6;
|
|
2216
|
+
function tr(t) {
|
|
2226
2217
|
if (typeof t != "string") return [nt];
|
|
2227
2218
|
const e = t.split(/[,;|/]+/).map((a) => a.trim().replace(/\s+/g, " ")).filter((a) => a.length > 0);
|
|
2228
2219
|
return e.length === 0 ? [nt] : Array.from(new Set(e.map((a) => a.toLocaleLowerCase()))).map((a) => e.find((n) => n.toLocaleLowerCase() === a) ?? nt);
|
|
2229
2220
|
}
|
|
2230
|
-
function
|
|
2221
|
+
function ar(t) {
|
|
2231
2222
|
return t === "positive" || t === "negative" || t === "neutral" ? t : "neutral";
|
|
2232
2223
|
}
|
|
2233
|
-
function
|
|
2224
|
+
function nr(t) {
|
|
2234
2225
|
if (typeof t != "string") return "";
|
|
2235
2226
|
const e = t.trim().replace(/\s+/g, " ");
|
|
2236
2227
|
return e.length <= At ? e : `${e.slice(0, At - 3).trimEnd()}...`;
|
|
2237
2228
|
}
|
|
2238
|
-
function
|
|
2229
|
+
function rr(t) {
|
|
2239
2230
|
return t.positive > t.negative ? "positive" : t.negative > t.positive ? "negative" : "neutral";
|
|
2240
2231
|
}
|
|
2241
|
-
function
|
|
2232
|
+
function ir(t) {
|
|
2242
2233
|
return qe(t === "positive" ? ["M7 17 17 7", "M7 7h10v10"] : t === "negative" ? ["M7 7 17 17", "M17 7v10H7"] : ["M5 12h14"], 14);
|
|
2243
2234
|
}
|
|
2244
|
-
function
|
|
2235
|
+
function or(t, e = "1 customer mentions", a = "customers mention") {
|
|
2245
2236
|
return t === 1 ? e : `${t} ${a}`;
|
|
2246
2237
|
}
|
|
2247
|
-
function
|
|
2238
|
+
function sr(t, e) {
|
|
2248
2239
|
const a = document.createElement("div");
|
|
2249
2240
|
a.className = "gengage-chat-review-highlights";
|
|
2250
2241
|
const n = t.props?.reviews;
|
|
@@ -2254,19 +2245,19 @@ function cr(t, e) {
|
|
|
2254
2245
|
}
|
|
2255
2246
|
const r = n.filter((v) => v !== null && typeof v == "object"), i = /* @__PURE__ */ new Map();
|
|
2256
2247
|
for (const v of r) {
|
|
2257
|
-
const u =
|
|
2258
|
-
for (const
|
|
2259
|
-
const b =
|
|
2248
|
+
const u = ar(v.review_class), d = nr(v.review_text), _ = tr(v.review_tag);
|
|
2249
|
+
for (const x of _) {
|
|
2250
|
+
const b = x.toLocaleLowerCase();
|
|
2260
2251
|
let A = i.get(b);
|
|
2261
2252
|
if (A || (A = {
|
|
2262
2253
|
key: b,
|
|
2263
|
-
label:
|
|
2254
|
+
label: x,
|
|
2264
2255
|
mentions: 0,
|
|
2265
2256
|
positive: 0,
|
|
2266
2257
|
negative: 0,
|
|
2267
2258
|
neutral: 0,
|
|
2268
2259
|
snippets: []
|
|
2269
|
-
}, i.set(b, A)), A.mentions += 1, u === "positive" ? A.positive += 1 : u === "negative" ? A.negative += 1 : A.neutral += 1, d.length > 0 && A.snippets.length <
|
|
2260
|
+
}, i.set(b, A)), A.mentions += 1, u === "positive" ? A.positive += 1 : u === "negative" ? A.negative += 1 : A.neutral += 1, d.length > 0 && A.snippets.length < er && !A.snippets.some((L) => L.text === d)) {
|
|
2270
2261
|
const L = {
|
|
2271
2262
|
text: d,
|
|
2272
2263
|
tone: u
|
|
@@ -2290,54 +2281,54 @@ function cr(t, e) {
|
|
|
2290
2281
|
const m = () => {
|
|
2291
2282
|
for (; h.firstChild; ) h.removeChild(h.firstChild);
|
|
2292
2283
|
if (!p) return;
|
|
2293
|
-
const v = o.find((
|
|
2284
|
+
const v = o.find((x) => x.key === p);
|
|
2294
2285
|
if (!v) return;
|
|
2295
2286
|
const u = document.createElement("div");
|
|
2296
2287
|
u.className = "gengage-chat-review-detail-meta";
|
|
2297
2288
|
const d = document.createElement("span");
|
|
2298
|
-
if (d.className = "gengage-chat-review-detail-mentions", d.textContent = `${
|
|
2299
|
-
const
|
|
2300
|
-
|
|
2289
|
+
if (d.className = "gengage-chat-review-detail-mentions", d.textContent = `${or(v.mentions, e?.reviewCustomersMentionSingular, e?.reviewCustomersMentionPlural)} "${v.label}"`, u.appendChild(d), v.positive > 0) {
|
|
2290
|
+
const x = document.createElement("span");
|
|
2291
|
+
x.className = "gengage-chat-review-detail-positive", x.textContent = `${v.positive} ${s}`, u.appendChild(x);
|
|
2301
2292
|
}
|
|
2302
2293
|
if (v.negative > 0) {
|
|
2303
|
-
const
|
|
2304
|
-
|
|
2294
|
+
const x = document.createElement("span");
|
|
2295
|
+
x.className = "gengage-chat-review-detail-negative", x.textContent = `${v.negative} ${c}`, u.appendChild(x);
|
|
2305
2296
|
}
|
|
2306
2297
|
h.appendChild(u);
|
|
2307
2298
|
const _ = document.createElement("div");
|
|
2308
2299
|
_.className = "gengage-chat-review-snippets";
|
|
2309
|
-
for (const
|
|
2300
|
+
for (const x of v.snippets) {
|
|
2310
2301
|
const b = document.createElement("article");
|
|
2311
|
-
b.className = "gengage-chat-review-snippet", b.dataset.tone =
|
|
2302
|
+
b.className = "gengage-chat-review-snippet", b.dataset.tone = x.tone;
|
|
2312
2303
|
const A = document.createElement("div");
|
|
2313
|
-
if (A.className = "gengage-chat-review-snippet-text", A.textContent = `"${
|
|
2304
|
+
if (A.className = "gengage-chat-review-snippet-text", A.textContent = `"${x.text}"`, b.appendChild(A), x.rating !== void 0 && String(x.rating).length > 0) {
|
|
2314
2305
|
const L = document.createElement("div");
|
|
2315
|
-
L.className = "gengage-chat-review-snippet-rating", L.textContent = `★ ${String(
|
|
2306
|
+
L.className = "gengage-chat-review-snippet-rating", L.textContent = `★ ${String(x.rating)}`, b.appendChild(L);
|
|
2316
2307
|
}
|
|
2317
2308
|
_.appendChild(b);
|
|
2318
2309
|
}
|
|
2319
2310
|
h.appendChild(_);
|
|
2320
|
-
},
|
|
2311
|
+
}, y = () => {
|
|
2321
2312
|
for (const v of g.querySelectorAll(".gengage-chat-review-subject")) {
|
|
2322
2313
|
const u = v.dataset.subjectKey === p;
|
|
2323
2314
|
v.classList.toggle("gengage-chat-review-subject--active", u), v.classList.toggle("gds-chip-active", u), v.setAttribute("aria-pressed", String(u));
|
|
2324
2315
|
}
|
|
2325
2316
|
};
|
|
2326
2317
|
for (const v of o) {
|
|
2327
|
-
const u =
|
|
2318
|
+
const u = rr(v), d = document.createElement("button");
|
|
2328
2319
|
d.type = "button", d.className = "gengage-chat-review-subject gds-chip", d.dataset.subjectKey = v.key, d.dataset.tone = u;
|
|
2329
2320
|
const _ = document.createElement("span");
|
|
2330
|
-
_.className = "gengage-chat-review-subject-icon", _.appendChild(
|
|
2331
|
-
const
|
|
2332
|
-
|
|
2321
|
+
_.className = "gengage-chat-review-subject-icon", _.appendChild(ir(u)), d.appendChild(_);
|
|
2322
|
+
const x = document.createElement("span");
|
|
2323
|
+
x.className = "gengage-chat-review-subject-label", x.textContent = v.label, d.appendChild(x);
|
|
2333
2324
|
const b = document.createElement("span");
|
|
2334
2325
|
b.className = "gengage-chat-review-subject-count", b.textContent = `(${v.mentions})`, d.appendChild(b), d.addEventListener("click", () => {
|
|
2335
|
-
p = v.key,
|
|
2326
|
+
p = v.key, y(), m();
|
|
2336
2327
|
}), g.appendChild(d);
|
|
2337
2328
|
}
|
|
2338
|
-
return a.appendChild(g),
|
|
2329
|
+
return a.appendChild(g), y(), m(), a.appendChild(h), a;
|
|
2339
2330
|
}
|
|
2340
|
-
function
|
|
2331
|
+
function cr(t) {
|
|
2341
2332
|
if (!t) return;
|
|
2342
2333
|
const e = t.discountReason ?? t.discount_reason ?? t.campaignReason ?? t.campaign_reason;
|
|
2343
2334
|
if (typeof e != "string") return;
|
|
@@ -2346,7 +2337,7 @@ function lr(t) {
|
|
|
2346
2337
|
}
|
|
2347
2338
|
function He(t, e) {
|
|
2348
2339
|
if (t.productPriceUi?.showCampaignReason === !0)
|
|
2349
|
-
return
|
|
2340
|
+
return cr(e);
|
|
2350
2341
|
}
|
|
2351
2342
|
function $e(t, e) {
|
|
2352
2343
|
const a = e?.originalPriceStyle ?? e?.price_original_style;
|
|
@@ -2392,7 +2383,7 @@ function et(t) {
|
|
|
2392
2383
|
const r = document.createElement("span");
|
|
2393
2384
|
return r.className = "gengage-chat-campaign-price-badge__sale", r.textContent = t.salePriceFormatted, a.appendChild(n), a.appendChild(r), e.appendChild(a), e;
|
|
2394
2385
|
}
|
|
2395
|
-
function
|
|
2386
|
+
function lr() {
|
|
2396
2387
|
try {
|
|
2397
2388
|
return globalThis.GENGAGE_TOPPICKS_MOBILE_LAYOUT === "uniform";
|
|
2398
2389
|
} catch {
|
|
@@ -2405,17 +2396,17 @@ function ca(t) {
|
|
|
2405
2396
|
const a = t.action?.payload;
|
|
2406
2397
|
return a && typeof a == "object" && "sku" in a && typeof a.sku == "string" ? a.sku : null;
|
|
2407
2398
|
}
|
|
2408
|
-
var
|
|
2399
|
+
var gr = {
|
|
2409
2400
|
winner: "roleWinner",
|
|
2410
2401
|
best_value: "roleBestValue",
|
|
2411
2402
|
best_alternative: "roleBestAlternative"
|
|
2412
2403
|
};
|
|
2413
2404
|
function It(t, e) {
|
|
2414
2405
|
if (!t || !e) return null;
|
|
2415
|
-
const a =
|
|
2406
|
+
const a = gr[t];
|
|
2416
2407
|
return a ? e[a] ?? t : t;
|
|
2417
2408
|
}
|
|
2418
|
-
function
|
|
2409
|
+
function dr(t) {
|
|
2419
2410
|
const e = t.rating, a = typeof e == "number" ? e : typeof e == "string" ? parseFloat(e) : NaN;
|
|
2420
2411
|
if (Number.isNaN(a) || a <= 0) return null;
|
|
2421
2412
|
const n = document.createElement("div");
|
|
@@ -2425,7 +2416,7 @@ function pr(t) {
|
|
|
2425
2416
|
const i = document.createElement("span");
|
|
2426
2417
|
return i.className = "gengage-chat-ai-toppick-rating-value", i.textContent = a.toFixed(1), n.appendChild(r), n.appendChild(i), n;
|
|
2427
2418
|
}
|
|
2428
|
-
function
|
|
2419
|
+
function pr(t, e, a, n, r) {
|
|
2429
2420
|
const i = document.createElement("div");
|
|
2430
2421
|
i.className = "gengage-chat-ai-toppick-media", i.dataset.gengagePart = "ai-top-pick-media";
|
|
2431
2422
|
const o = t.product, s = o.imageUrl;
|
|
@@ -2439,8 +2430,8 @@ function hr(t, e, a, n, r) {
|
|
|
2439
2430
|
if (l.className = "gengage-chat-product-card-img-actions", n.onFavoriteToggle) {
|
|
2440
2431
|
const m = document.createElement("button");
|
|
2441
2432
|
m.className = "gengage-chat-favorite-btn", m.type = "button", m.dataset.gengageFavoriteSku = c, m.setAttribute("aria-label", n.i18n?.addToFavoritesLabel ?? "Add to favorites");
|
|
2442
|
-
const
|
|
2443
|
-
|
|
2433
|
+
const y = n.favoritedSkus?.has(c) ?? !1;
|
|
2434
|
+
y && m.classList.add("gengage-chat-favorite-btn--active"), m.innerHTML = `<svg width="14" height="14" viewBox="0 0 24 24" fill="${y ? "currentColor" : "none"}" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`, m.addEventListener("click", (v) => {
|
|
2444
2435
|
v.stopPropagation(), m.classList.toggle("gengage-chat-favorite-btn--active"), m.querySelector("svg")?.setAttribute("fill", m.classList.contains("gengage-chat-favorite-btn--active") ? "currentColor" : "none"), n.onFavoriteToggle?.(c, o);
|
|
2445
2436
|
}), l.appendChild(m);
|
|
2446
2437
|
}
|
|
@@ -2457,7 +2448,7 @@ function hr(t, e, a, n, r) {
|
|
|
2457
2448
|
}
|
|
2458
2449
|
a.appendChild(i);
|
|
2459
2450
|
}
|
|
2460
|
-
function
|
|
2451
|
+
function hr(t, e, a) {
|
|
2461
2452
|
const n = t.price, r = t.originalPrice;
|
|
2462
2453
|
if (!n) return;
|
|
2463
2454
|
const i = He(a, t), o = $e(a, t), s = !!(r && r !== n), c = !!(i && s), l = Je(a, t), p = document.createElement("div");
|
|
@@ -2502,7 +2493,7 @@ function ur(t, e, a) {
|
|
|
2502
2493
|
g.className = "gengage-chat-ai-toppick-price-stack", g.appendChild(Qe(i)), g.appendChild(p), e.appendChild(g);
|
|
2503
2494
|
} else e.appendChild(p);
|
|
2504
2495
|
}
|
|
2505
|
-
function
|
|
2496
|
+
function ur(t, e, a) {
|
|
2506
2497
|
const n = typeof t.reason == "string" ? t.reason.trim() : "", r = a.hideUserReviews !== !0 && typeof t.reviewHighlight == "string" ? t.reviewHighlight.trim() : "";
|
|
2507
2498
|
if (!(!n && !r)) {
|
|
2508
2499
|
if (n) {
|
|
@@ -2532,15 +2523,15 @@ function Mt(t, e, a, n) {
|
|
|
2532
2523
|
})) : h && (r.classList.add("gds-clickable"), r.addEventListener("click", (E) => {
|
|
2533
2524
|
E.target.closest(".gengage-chat-ai-toppick-cta") || E.target.closest(".gengage-chat-favorite-btn") || E.target.closest(".gengage-chat-find-similar-pill") || e.onAction(h);
|
|
2534
2525
|
}));
|
|
2535
|
-
const m = o.name || "Product image",
|
|
2536
|
-
if (v && !
|
|
2526
|
+
const m = o.name || "Product image", y = !a && e.isMobile === !0 && !i, v = a ? It(t.role, e.i18n) ?? e.i18n?.roleWinner ?? "TOP MATCH" : It(t.role, e.i18n);
|
|
2527
|
+
if (v && !y) {
|
|
2537
2528
|
const E = document.createElement("span");
|
|
2538
2529
|
E.className = "gengage-chat-ai-toppick-badge gds-badge", E.dataset.gengagePart = "ai-top-pick-role-badge", E.textContent = v, r.appendChild(E);
|
|
2539
2530
|
}
|
|
2540
2531
|
const u = document.createElement("div");
|
|
2541
|
-
u.className = "gengage-chat-ai-toppick-top-row", u.dataset.gengagePart = "ai-top-pick-top-row",
|
|
2532
|
+
u.className = "gengage-chat-ai-toppick-top-row", u.dataset.gengagePart = "ai-top-pick-top-row", pr(t, m, u, e, { skipOverlayActions: y });
|
|
2542
2533
|
const d = document.createElement("div");
|
|
2543
|
-
if (d.className = "gengage-chat-ai-toppick-body", d.dataset.gengagePart = "ai-top-pick-body", v &&
|
|
2534
|
+
if (d.className = "gengage-chat-ai-toppick-body", d.dataset.gengagePart = "ai-top-pick-body", v && y) {
|
|
2544
2535
|
const E = document.createElement("div");
|
|
2545
2536
|
E.className = "gengage-chat-ai-toppick-role-line", E.dataset.gengagePart = "ai-top-pick-role-line", E.textContent = v, d.appendChild(E);
|
|
2546
2537
|
}
|
|
@@ -2549,10 +2540,10 @@ function Mt(t, e, a, n) {
|
|
|
2549
2540
|
const E = document.createElement("div");
|
|
2550
2541
|
E.className = "gengage-chat-ai-toppick-name", E.dataset.gengagePart = "ai-top-pick-name", E.textContent = _, d.appendChild(E);
|
|
2551
2542
|
}
|
|
2552
|
-
const
|
|
2553
|
-
|
|
2543
|
+
const x = dr(o);
|
|
2544
|
+
x && d.appendChild(x), hr(o, d, e), t.labels && t.labels.length > 0 && d.appendChild(fr(t.labels)), u.appendChild(d), r.appendChild(u);
|
|
2554
2545
|
const b = document.createElement("div");
|
|
2555
|
-
if (b.className = "gengage-chat-ai-toppick-detail", b.dataset.gengagePart = "ai-top-pick-detail", a)
|
|
2546
|
+
if (b.className = "gengage-chat-ai-toppick-detail", b.dataset.gengagePart = "ai-top-pick-detail", a) ur(t, b, e);
|
|
2556
2547
|
else {
|
|
2557
2548
|
const E = typeof t.reason == "string" ? t.reason.trim() : "";
|
|
2558
2549
|
if (E) {
|
|
@@ -2561,7 +2552,7 @@ function Mt(t, e, a, n) {
|
|
|
2561
2552
|
}
|
|
2562
2553
|
}
|
|
2563
2554
|
b.childNodes.length > 0 && r.appendChild(b);
|
|
2564
|
-
const A = !!(s && e.topPicksLoadingSku === s), L = (g || h) && !
|
|
2555
|
+
const A = !!(s && e.topPicksLoadingSku === s), L = (g || h) && !y;
|
|
2565
2556
|
if (A || g || h) {
|
|
2566
2557
|
const E = document.createElement("div");
|
|
2567
2558
|
if (E.className = "gengage-chat-ai-toppick-spinner", E.dataset.gengagePart = "ai-top-pick-spinner", E.style.display = A ? "" : "none", r.appendChild(E), L) {
|
|
@@ -2596,14 +2587,14 @@ function Mt(t, e, a, n) {
|
|
|
2596
2587
|
}
|
|
2597
2588
|
return r;
|
|
2598
2589
|
}
|
|
2599
|
-
function
|
|
2590
|
+
function mr(t, e) {
|
|
2600
2591
|
const a = document.createElement("div");
|
|
2601
2592
|
a.className = "gengage-chat-ai-top-picks", a.dataset.gengagePart = "ai-top-picks";
|
|
2602
2593
|
const n = t.props?.suggestions ?? [];
|
|
2603
2594
|
if (n.length === 0) return a;
|
|
2604
2595
|
const r = document.createElement("div");
|
|
2605
2596
|
r.className = "gengage-chat-ai-top-picks-scroll", r.dataset.gengagePart = "ai-top-picks-scroll";
|
|
2606
|
-
const i = e.isMobile === !0 &&
|
|
2597
|
+
const i = e.isMobile === !0 && lr(), o = n[0];
|
|
2607
2598
|
if (r.appendChild(Mt(o, e, !0, { uniformMobileLayout: i })), n.length > 1) {
|
|
2608
2599
|
const s = document.createElement("div");
|
|
2609
2600
|
s.className = "gengage-chat-ai-top-picks-rest", i && s.classList.add("gengage-chat-ai-top-picks-rest--uniform-mobile"), s.dataset.gengagePart = "ai-top-picks-rest";
|
|
@@ -2615,7 +2606,7 @@ function fr(t, e) {
|
|
|
2615
2606
|
}
|
|
2616
2607
|
return a.appendChild(r), a;
|
|
2617
2608
|
}
|
|
2618
|
-
function
|
|
2609
|
+
function fr(t) {
|
|
2619
2610
|
const e = document.createElement("div");
|
|
2620
2611
|
e.className = "gengage-chat-ai-toppick-labels", e.dataset.gengagePart = "ai-top-pick-labels";
|
|
2621
2612
|
for (const a of t) {
|
|
@@ -2624,7 +2615,7 @@ function br(t) {
|
|
|
2624
2615
|
}
|
|
2625
2616
|
return e;
|
|
2626
2617
|
}
|
|
2627
|
-
function
|
|
2618
|
+
function br(t, e) {
|
|
2628
2619
|
const a = document.createElement("div");
|
|
2629
2620
|
a.className = "gengage-chat-grounding-review gds-evidence-card", a.dataset.gengagePart = "grounding-review-card";
|
|
2630
2621
|
const n = t.props ?? {}, r = n.title, i = n.reviewCount, o = n.action, s = e.i18n?.groundingReviewCta ?? "Read Reviews", c = document.createElement("span");
|
|
@@ -2637,8 +2628,8 @@ function vr(t, e) {
|
|
|
2637
2628
|
l.className = "gengage-chat-grounding-review-body", l.dataset.gengagePart = "grounding-review-body";
|
|
2638
2629
|
const p = document.createElement("div");
|
|
2639
2630
|
if (p.className = "gengage-chat-grounding-review-title", p.dataset.gengagePart = "grounding-review-title", p.textContent = r ?? e.i18n?.customerReviewsTitle ?? "Customer Reviews", l.appendChild(p), i) {
|
|
2640
|
-
const
|
|
2641
|
-
|
|
2631
|
+
const y = document.createElement("div");
|
|
2632
|
+
y.className = "gengage-chat-grounding-review-subtitle", y.dataset.gengagePart = "grounding-review-subtitle", y.textContent = (e.i18n?.groundingReviewSubtitle ?? "{count} yorum mevcut").replace("{count}", i), l.appendChild(y);
|
|
2642
2633
|
}
|
|
2643
2634
|
a.appendChild(l);
|
|
2644
2635
|
const g = document.createElement("span");
|
|
@@ -2646,11 +2637,11 @@ function vr(t, e) {
|
|
|
2646
2637
|
const h = document.createElement("span");
|
|
2647
2638
|
h.textContent = s, g.appendChild(h);
|
|
2648
2639
|
const m = document.createElement("span");
|
|
2649
|
-
return m.className = "gengage-chat-grounding-review-cta-icon", m.appendChild(qe(["M5 12h14", "M15 8l4 4-4 4"], 14)), g.appendChild(m), a.appendChild(g), o && (a.classList.add("gds-clickable"), a.setAttribute("role", "button"), a.setAttribute("tabindex", "0"), a.addEventListener("click", () => e.onAction(o)), a.addEventListener("keydown", (
|
|
2650
|
-
(
|
|
2640
|
+
return m.className = "gengage-chat-grounding-review-cta-icon", m.appendChild(qe(["M5 12h14", "M15 8l4 4-4 4"], 14)), g.appendChild(m), a.appendChild(g), o && (a.classList.add("gds-clickable"), a.setAttribute("role", "button"), a.setAttribute("tabindex", "0"), a.addEventListener("click", () => e.onAction(o)), a.addEventListener("keydown", (y) => {
|
|
2641
|
+
(y.key === "Enter" || y.key === " ") && (y.preventDefault(), e.onAction(o));
|
|
2651
2642
|
})), a;
|
|
2652
2643
|
}
|
|
2653
|
-
function
|
|
2644
|
+
function vr(t) {
|
|
2654
2645
|
const e = t.action.type;
|
|
2655
2646
|
if (e !== "findSimilar") return t.action;
|
|
2656
2647
|
const a = t.action.payload && typeof t.action.payload == "object" ? t.action.payload : null, n = typeof a?.input == "string" && a.input.trim() || typeof a?.text == "string" && a.text.trim() || t.name.trim();
|
|
@@ -2666,7 +2657,7 @@ function xr(t) {
|
|
|
2666
2657
|
payload: Xt(r)
|
|
2667
2658
|
};
|
|
2668
2659
|
}
|
|
2669
|
-
function
|
|
2660
|
+
function xr(t, e) {
|
|
2670
2661
|
const a = document.createElement("div");
|
|
2671
2662
|
a.className = "gengage-chat-grouping-cards", a.dataset.gengagePart = "ai-grouping-cards";
|
|
2672
2663
|
const n = t.props?.entries ?? [];
|
|
@@ -2680,7 +2671,7 @@ function yr(t, e) {
|
|
|
2680
2671
|
o.className = "gengage-chat-grouping-cards-scroll", o.dataset.gengagePart = "ai-grouping-cards-scroll";
|
|
2681
2672
|
for (const s of n) {
|
|
2682
2673
|
const c = document.createElement("div");
|
|
2683
|
-
if (c.className = "gengage-chat-grouping-card gds-card", c.dataset.gengagePart = "ai-grouping-card", c.classList.add("gds-clickable"), c.addEventListener("click", () => e.onAction(
|
|
2674
|
+
if (c.className = "gengage-chat-grouping-card gds-card", c.dataset.gengagePart = "ai-grouping-card", c.classList.add("gds-clickable"), c.addEventListener("click", () => e.onAction(vr(s))), s.image && Ce(s.image)) {
|
|
2684
2675
|
const h = document.createElement("img");
|
|
2685
2676
|
h.className = "gengage-chat-grouping-card-img", h.dataset.gengagePart = "ai-grouping-card-image", h.draggable = !1, h.src = s.image, h.alt = s.name, h.width = 64, h.height = 64, c.appendChild(h);
|
|
2686
2677
|
}
|
|
@@ -2691,8 +2682,8 @@ function yr(t, e) {
|
|
|
2691
2682
|
const h = document.createElement("div");
|
|
2692
2683
|
h.className = "gengage-chat-grouping-card-labels", h.dataset.gengagePart = "ai-grouping-card-labels";
|
|
2693
2684
|
for (const m of s.labels.slice(0, 2)) {
|
|
2694
|
-
const
|
|
2695
|
-
|
|
2685
|
+
const y = document.createElement("span");
|
|
2686
|
+
y.className = "gengage-chat-grouping-card-label gds-chip", y.textContent = m, h.appendChild(y);
|
|
2696
2687
|
}
|
|
2697
2688
|
l.appendChild(h);
|
|
2698
2689
|
}
|
|
@@ -2702,7 +2693,7 @@ function yr(t, e) {
|
|
|
2702
2693
|
}
|
|
2703
2694
|
return a.appendChild(o), a;
|
|
2704
2695
|
}
|
|
2705
|
-
function
|
|
2696
|
+
function yr(t, e) {
|
|
2706
2697
|
const a = document.createElement("div");
|
|
2707
2698
|
a.className = "gengage-chat-suggested-search-cards", a.dataset.gengagePart = "ai-suggested-search-cards";
|
|
2708
2699
|
const n = t.props?.entries ?? [];
|
|
@@ -2720,7 +2711,7 @@ function wr(t, e) {
|
|
|
2720
2711
|
}
|
|
2721
2712
|
return a;
|
|
2722
2713
|
}
|
|
2723
|
-
function
|
|
2714
|
+
function wr(t, e) {
|
|
2724
2715
|
const a = document.createElement("div");
|
|
2725
2716
|
a.className = "gengage-chat-inline-question-buttons", a.dataset.gengagePart = "inline-question-buttons";
|
|
2726
2717
|
const n = t.props?.buttons ?? [];
|
|
@@ -2768,45 +2759,8 @@ function la(t, e) {
|
|
|
2768
2759
|
}
|
|
2769
2760
|
return i;
|
|
2770
2761
|
}
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
e.className = "gengage-chat-pros-cons gds-card-soft", e.dataset.gengagePart = "pros-cons";
|
|
2774
|
-
const a = t.props?.productName;
|
|
2775
|
-
if (a) {
|
|
2776
|
-
const i = document.createElement("h4");
|
|
2777
|
-
i.className = "gengage-chat-pros-cons-heading", i.textContent = a, e.appendChild(i);
|
|
2778
|
-
}
|
|
2779
|
-
const n = t.props?.pros, r = t.props?.cons;
|
|
2780
|
-
if (n && n.length > 0) {
|
|
2781
|
-
const i = document.createElement("ul");
|
|
2782
|
-
i.className = "gengage-chat-pros-cons-list", i.dataset.gengagePart = "pros-list";
|
|
2783
|
-
for (const o of n) {
|
|
2784
|
-
const s = document.createElement("li");
|
|
2785
|
-
s.className = "gengage-chat-pros-cons-item", s.dataset.gengagePart = "pros-item";
|
|
2786
|
-
const c = document.createElement("span");
|
|
2787
|
-
c.className = "gengage-chat-pros-cons-icon gengage-chat-pros-cons-icon--pro", c.textContent = "✓", s.appendChild(c);
|
|
2788
|
-
const l = document.createElement("span");
|
|
2789
|
-
l.textContent = o, s.appendChild(l), i.appendChild(s);
|
|
2790
|
-
}
|
|
2791
|
-
e.appendChild(i);
|
|
2792
|
-
}
|
|
2793
|
-
if (r && r.length > 0) {
|
|
2794
|
-
const i = document.createElement("ul");
|
|
2795
|
-
i.className = "gengage-chat-pros-cons-list", i.dataset.gengagePart = "cons-list";
|
|
2796
|
-
for (const o of r) {
|
|
2797
|
-
const s = document.createElement("li");
|
|
2798
|
-
s.className = "gengage-chat-pros-cons-item", s.dataset.gengagePart = "cons-item";
|
|
2799
|
-
const c = document.createElement("span");
|
|
2800
|
-
c.className = "gengage-chat-pros-cons-icon gengage-chat-pros-cons-icon--con", c.textContent = "✗", s.appendChild(c);
|
|
2801
|
-
const l = document.createElement("span");
|
|
2802
|
-
l.textContent = o, s.appendChild(l), i.appendChild(s);
|
|
2803
|
-
}
|
|
2804
|
-
e.appendChild(i);
|
|
2805
|
-
}
|
|
2806
|
-
return e;
|
|
2807
|
-
}
|
|
2808
|
-
var Cr = 4, Sr = 0;
|
|
2809
|
-
function Er(t) {
|
|
2762
|
+
var _r = 4, kr = 0;
|
|
2763
|
+
function Cr(t) {
|
|
2810
2764
|
const e = [], a = /* @__PURE__ */ new Set(), n = (r, i) => {
|
|
2811
2765
|
if (typeof r != "string") return;
|
|
2812
2766
|
const o = r.trim();
|
|
@@ -2819,19 +2773,19 @@ function Er(t) {
|
|
|
2819
2773
|
};
|
|
2820
2774
|
n(t.highlight, !0);
|
|
2821
2775
|
for (const r of t.labels ?? []) n(r, !1);
|
|
2822
|
-
return e.slice(0,
|
|
2776
|
+
return e.slice(0, _r);
|
|
2823
2777
|
}
|
|
2824
|
-
function
|
|
2825
|
-
const e =
|
|
2778
|
+
function Sr(t) {
|
|
2779
|
+
const e = Cr(t), a = typeof t.description == "string" ? t.description.trim() : "";
|
|
2826
2780
|
if (!a && e.length === 0) return null;
|
|
2827
2781
|
const n = document.createElement("div");
|
|
2828
|
-
if (n.className = "gengage-chat-categories-group-summary", n.dataset.gengagePart = "categories-group-summary", n.appendChild(
|
|
2782
|
+
if (n.className = "gengage-chat-categories-group-summary", n.dataset.gengagePart = "categories-group-summary", n.appendChild(Er(t)), e.length > 0 && n.appendChild(Pr(e)), a) {
|
|
2829
2783
|
const r = document.createElement("p");
|
|
2830
2784
|
r.className = "gengage-chat-categories-group-reason", r.dataset.gengagePart = "categories-group-reason", r.textContent = a, n.appendChild(r);
|
|
2831
2785
|
}
|
|
2832
2786
|
return n;
|
|
2833
2787
|
}
|
|
2834
|
-
function
|
|
2788
|
+
function Er(t) {
|
|
2835
2789
|
const e = document.createElement("div");
|
|
2836
2790
|
if (e.className = "gengage-chat-categories-group-selection", e.dataset.gengagePart = "categories-group-selection", t.image && Ce(t.image)) {
|
|
2837
2791
|
const n = document.createElement("img");
|
|
@@ -2840,7 +2794,7 @@ function Lr(t) {
|
|
|
2840
2794
|
const a = document.createElement("div");
|
|
2841
2795
|
return a.className = "gengage-chat-categories-group-selection-title", a.textContent = t.groupName, e.appendChild(a), e;
|
|
2842
2796
|
}
|
|
2843
|
-
function
|
|
2797
|
+
function Pr(t) {
|
|
2844
2798
|
const e = document.createElement("div");
|
|
2845
2799
|
e.className = "gengage-chat-categories-group-chips", e.dataset.gengagePart = "categories-group-chips";
|
|
2846
2800
|
for (const a of t) {
|
|
@@ -2849,8 +2803,8 @@ function Tr(t) {
|
|
|
2849
2803
|
}
|
|
2850
2804
|
return e;
|
|
2851
2805
|
}
|
|
2852
|
-
function
|
|
2853
|
-
const a = t.props?.groups ?? [], n = t.props?.filterTags ?? [], r = `gengage-cat-${
|
|
2806
|
+
function Lr(t, e) {
|
|
2807
|
+
const a = t.props?.groups ?? [], n = t.props?.filterTags ?? [], r = `gengage-cat-${kr++}`, i = document.createElement("div");
|
|
2854
2808
|
if (i.className = "gengage-chat-categories", i.dataset.gengagePart = "categories-container", a.length === 0) return i;
|
|
2855
2809
|
const o = document.createElement("div");
|
|
2856
2810
|
o.className = "gengage-chat-categories-tabs gds-toolbar", o.dataset.gengagePart = "categories-tab-bar", o.setAttribute("role", "tablist");
|
|
@@ -2861,24 +2815,24 @@ function Ar(t, e) {
|
|
|
2861
2815
|
}
|
|
2862
2816
|
};
|
|
2863
2817
|
for (let p = 0; p < a.length; p++) {
|
|
2864
|
-
const g = a[p], h = `${r}-tab-${p}`, m = `${r}-panel-${p}`,
|
|
2865
|
-
if (
|
|
2866
|
-
const
|
|
2867
|
-
|
|
2818
|
+
const g = a[p], h = `${r}-tab-${p}`, m = `${r}-panel-${p}`, y = document.createElement("button");
|
|
2819
|
+
if (y.className = "gengage-chat-categories-tab gds-tab", y.type = "button", y.dataset.gengagePart = "categories-tab", y.id = h, y.setAttribute("role", "tab"), y.setAttribute("aria-controls", m), y.setAttribute("aria-selected", String(p === 0)), y.tabIndex = p === 0 ? 0 : -1, p === 0 && y.classList.add("gengage-chat-categories-tab--active", "is-active"), g.image && Ce(g.image)) {
|
|
2820
|
+
const x = document.createElement("img");
|
|
2821
|
+
x.className = "gengage-chat-categories-tab-image", x.draggable = !1, x.src = g.image, x.alt = g.groupName, x.loading = "lazy", xe(x), y.appendChild(x);
|
|
2868
2822
|
}
|
|
2869
2823
|
const v = document.createElement("span");
|
|
2870
|
-
v.className = "gengage-chat-categories-tab-text", v.textContent = g.groupName,
|
|
2824
|
+
v.className = "gengage-chat-categories-tab-text", v.textContent = g.groupName, y.appendChild(v), y.addEventListener("click", () => l(p)), y.addEventListener("keydown", (x) => {
|
|
2871
2825
|
let b = -1;
|
|
2872
|
-
|
|
2873
|
-
}), s.push(
|
|
2826
|
+
x.key === "ArrowRight" || x.key === "ArrowDown" ? b = (p + 1) % a.length : x.key === "ArrowLeft" || x.key === "ArrowUp" ? b = (p - 1 + a.length) % a.length : x.key === "Home" ? b = 0 : x.key === "End" && (b = a.length - 1), b >= 0 && (x.preventDefault(), l(b), s[b].focus());
|
|
2827
|
+
}), s.push(y), o.appendChild(y);
|
|
2874
2828
|
const u = document.createElement("div");
|
|
2875
2829
|
u.className = "gengage-chat-categories-panel", u.dataset.gengagePart = "categories-panel", u.id = m, u.setAttribute("role", "tabpanel"), u.setAttribute("aria-labelledby", h), p !== 0 && (u.style.display = "none");
|
|
2876
|
-
const d =
|
|
2830
|
+
const d = Sr(g);
|
|
2877
2831
|
d && u.appendChild(d);
|
|
2878
2832
|
const _ = document.createElement("div");
|
|
2879
2833
|
_.className = "gengage-chat-categories-grid", _.dataset.gengagePart = "categories-grid";
|
|
2880
|
-
for (const
|
|
2881
|
-
const b =
|
|
2834
|
+
for (const x of g.products) {
|
|
2835
|
+
const b = Tr(x, e);
|
|
2882
2836
|
_.appendChild(b);
|
|
2883
2837
|
}
|
|
2884
2838
|
u.appendChild(_), c.push(u);
|
|
@@ -2898,7 +2852,7 @@ function Ar(t, e) {
|
|
|
2898
2852
|
}
|
|
2899
2853
|
return i;
|
|
2900
2854
|
}
|
|
2901
|
-
function
|
|
2855
|
+
function Tr(t, e) {
|
|
2902
2856
|
const a = document.createElement("div");
|
|
2903
2857
|
if (a.className = "gengage-chat-product-card gds-card gds-product-card gds-card-interactive", a.dataset.gengagePart = "categories-product-card", t.imageUrl && Ce(t.imageUrl)) {
|
|
2904
2858
|
const i = document.createElement("img");
|
|
@@ -2923,25 +2877,11 @@ function Ir(t, e) {
|
|
|
2923
2877
|
e.onProductSelect?.(t);
|
|
2924
2878
|
})), a;
|
|
2925
2879
|
}
|
|
2926
|
-
|
|
2927
|
-
const a = document.createElement("div");
|
|
2928
|
-
a.className = "gengage-chat-handoff-notice gds-evidence-card gds-evidence-card-warning", a.dataset.gengagePart = "handoff-notice", a.setAttribute("role", "alert");
|
|
2929
|
-
const n = document.createElement("span");
|
|
2930
|
-
n.className = "gengage-chat-handoff-notice-icon", n.textContent = "👤", n.setAttribute("aria-hidden", "true"), a.appendChild(n);
|
|
2931
|
-
const r = document.createElement("h4");
|
|
2932
|
-
r.className = "gengage-chat-handoff-notice-heading", r.textContent = e.i18n?.handoffHeading ?? "Transferring to a support agent", a.appendChild(r);
|
|
2933
|
-
const i = t.props?.summary;
|
|
2934
|
-
if (i) {
|
|
2935
|
-
const o = document.createElement("p");
|
|
2936
|
-
o.className = "gengage-chat-handoff-notice-summary", o.textContent = i, a.appendChild(o);
|
|
2937
|
-
}
|
|
2938
|
-
return a;
|
|
2939
|
-
}
|
|
2940
|
-
var Nr = "frontend_restore_panel_message";
|
|
2880
|
+
var Ar = "frontend_restore_panel_message";
|
|
2941
2881
|
function Te(t) {
|
|
2942
2882
|
return typeof t == "string" ? t : "";
|
|
2943
2883
|
}
|
|
2944
|
-
function
|
|
2884
|
+
function Ir(t) {
|
|
2945
2885
|
return Array.isArray(t) ? t.map((e) => {
|
|
2946
2886
|
if (!e || typeof e != "object") return null;
|
|
2947
2887
|
const a = e;
|
|
@@ -2951,14 +2891,14 @@ function Br(t) {
|
|
|
2951
2891
|
};
|
|
2952
2892
|
}).filter((e) => e !== null) : [];
|
|
2953
2893
|
}
|
|
2954
|
-
function
|
|
2955
|
-
const a = t.props ?? {}, n = Te(a.eyebrow), r = Te(a.title), i = a.showTitle !== !1, o = Te(a.ctaLabel) || e.i18n?.showPanelAriaLabel || "Show Results", s = Te(a.panelMessageId), c = Te(a.highlightMessageId), l = Te(a.threadId), p =
|
|
2894
|
+
function Mr(t, e) {
|
|
2895
|
+
const a = t.props ?? {}, n = Te(a.eyebrow), r = Te(a.title), i = a.showTitle !== !1, o = Te(a.ctaLabel) || e.i18n?.showPanelAriaLabel || "Show Results", s = Te(a.panelMessageId), c = Te(a.highlightMessageId), l = Te(a.threadId), p = Ir(a.products).slice(0, 3), g = document.createElement("button");
|
|
2956
2896
|
g.type = "button", g.className = "gengage-chat-panel-restore-card gds-card", !n && !i && g.classList.add("gengage-chat-panel-restore-card--minimal"), g.dataset.gengagePart = "panel-restore-card";
|
|
2957
2897
|
const h = r || n || o;
|
|
2958
2898
|
g.setAttribute("aria-label", r ? `${h} - ${o}` : h);
|
|
2959
2899
|
const m = {
|
|
2960
2900
|
title: r,
|
|
2961
|
-
type:
|
|
2901
|
+
type: Ar,
|
|
2962
2902
|
payload: {
|
|
2963
2903
|
panelMessageId: s,
|
|
2964
2904
|
highlightMessageId: c,
|
|
@@ -2977,8 +2917,8 @@ function zr(t, e) {
|
|
|
2977
2917
|
d.className = "gengage-chat-panel-restore-card__thumb";
|
|
2978
2918
|
const _ = u.imageUrl;
|
|
2979
2919
|
if (_ && he(_)) {
|
|
2980
|
-
const
|
|
2981
|
-
|
|
2920
|
+
const x = document.createElement("img");
|
|
2921
|
+
x.loading = "lazy", x.alt = u.name || r, de(x, "src", _), xe(x), d.appendChild(x);
|
|
2982
2922
|
}
|
|
2983
2923
|
v.appendChild(d);
|
|
2984
2924
|
}
|
|
@@ -2988,10 +2928,10 @@ function zr(t, e) {
|
|
|
2988
2928
|
const v = document.createElement("div");
|
|
2989
2929
|
v.className = "gengage-chat-panel-restore-card__title", v.textContent = r, v.title = r, g.appendChild(v);
|
|
2990
2930
|
}
|
|
2991
|
-
const
|
|
2992
|
-
return
|
|
2931
|
+
const y = document.createElement("div");
|
|
2932
|
+
return y.className = "gengage-chat-panel-restore-card__cta", y.textContent = o, g.appendChild(y), g;
|
|
2993
2933
|
}
|
|
2994
|
-
function
|
|
2934
|
+
function Nr(t, e) {
|
|
2995
2935
|
const a = t.props?.product ?? t.props, n = document.createElement("div");
|
|
2996
2936
|
if (n.className = "gengage-chat-product-summary gds-card", n.dataset.gengagePart = "product-summary-card", !a) return n;
|
|
2997
2937
|
n.classList.add("gds-clickable"), n.addEventListener("click", (d) => {
|
|
@@ -3024,16 +2964,16 @@ function Rr(t, e) {
|
|
|
3024
2964
|
}
|
|
3025
2965
|
const p = a.price, g = a.originalPrice;
|
|
3026
2966
|
if (p) {
|
|
3027
|
-
const d = He(e, a), _ = $e(e, a),
|
|
2967
|
+
const d = He(e, a), _ = $e(e, a), x = !!(g && g !== p), b = document.createElement("div");
|
|
3028
2968
|
b.className = "gengage-chat-product-summary__price", b.dataset.gengagePart = "product-summary-price";
|
|
3029
|
-
const A = !!(d &&
|
|
2969
|
+
const A = !!(d && x), L = Je(e, a);
|
|
3030
2970
|
if (A) {
|
|
3031
2971
|
const E = et({
|
|
3032
2972
|
reasonText: d,
|
|
3033
2973
|
salePriceFormatted: ae(p, e.pricing),
|
|
3034
2974
|
...L !== void 0 ? { logoUrl: L } : {}
|
|
3035
2975
|
});
|
|
3036
|
-
if (
|
|
2976
|
+
if (x && _ === "inline") {
|
|
3037
2977
|
b.classList.add("gengage-chat-product-summary__price--inline"), b.appendChild(E);
|
|
3038
2978
|
const T = document.createElement("span");
|
|
3039
2979
|
T.className = "gengage-chat-product-summary__price-sep", T.setAttribute("aria-hidden", "true");
|
|
@@ -3045,7 +2985,7 @@ function Rr(t, e) {
|
|
|
3045
2985
|
}
|
|
3046
2986
|
i.appendChild(b);
|
|
3047
2987
|
} else {
|
|
3048
|
-
if (
|
|
2988
|
+
if (x && _ === "inline") {
|
|
3049
2989
|
b.classList.add("gengage-chat-product-summary__price--inline");
|
|
3050
2990
|
const E = document.createElement("span");
|
|
3051
2991
|
E.className = "gengage-chat-product-summary__price-current", E.textContent = ae(p, e.pricing);
|
|
@@ -3053,7 +2993,7 @@ function Rr(t, e) {
|
|
|
3053
2993
|
T.className = "gengage-chat-product-summary__price-sep", T.setAttribute("aria-hidden", "true");
|
|
3054
2994
|
const N = document.createElement("span");
|
|
3055
2995
|
N.className = "gengage-chat-product-summary__price-original", N.textContent = ae(g, e.pricing), b.appendChild(E), b.appendChild(T), b.appendChild(N);
|
|
3056
|
-
} else if (
|
|
2996
|
+
} else if (x) {
|
|
3057
2997
|
const E = document.createElement("span");
|
|
3058
2998
|
E.className = "gengage-chat-product-summary__price-original", E.textContent = ae(g, e.pricing), b.appendChild(E), b.appendChild(document.createTextNode(" "));
|
|
3059
2999
|
const T = document.createElement("span");
|
|
@@ -3069,7 +3009,7 @@ function Rr(t, e) {
|
|
|
3069
3009
|
}
|
|
3070
3010
|
}
|
|
3071
3011
|
n.appendChild(i);
|
|
3072
|
-
const h = a.url, m = a.sku,
|
|
3012
|
+
const h = a.url, m = a.sku, y = a.cartCode ?? a.cart_code, v = typeof y == "string" && y.trim() ? y.trim() : void 0, u = a.inStock;
|
|
3073
3013
|
if (m && v && u !== !1) {
|
|
3074
3014
|
const d = document.createElement("button");
|
|
3075
3015
|
d.type = "button", d.className = "gengage-chat-product-summary__cta gds-chip gds-chip-active", d.dataset.gengagePart = "product-summary-cta", d.textContent = e.i18n?.addToCartButton ?? "Add to Cart", d.addEventListener("click", (_) => {
|
|
@@ -3089,7 +3029,7 @@ function Rr(t, e) {
|
|
|
3089
3029
|
}
|
|
3090
3030
|
return n;
|
|
3091
3031
|
}
|
|
3092
|
-
var
|
|
3032
|
+
var Br = {
|
|
3093
3033
|
PhotoAnalysisCard: ({ element: t, context: e }) => Pn(t, e),
|
|
3094
3034
|
BeautyPhotoStep: ({ element: t, context: e }) => na(t, e)
|
|
3095
3035
|
};
|
|
@@ -3097,13 +3037,13 @@ function Ve() {
|
|
|
3097
3037
|
return window.innerWidth < 768;
|
|
3098
3038
|
}
|
|
3099
3039
|
var ga = {
|
|
3100
|
-
ActionButtons: ({ element: t, context: e }) =>
|
|
3101
|
-
ActionButton: ({ element: t, context: e }) =>
|
|
3102
|
-
InlineQuestionButtons: ({ element: t, context: e }) =>
|
|
3040
|
+
ActionButtons: ({ element: t, context: e }) => Hr(t, e),
|
|
3041
|
+
ActionButton: ({ element: t, context: e }) => Fr(t, e),
|
|
3042
|
+
InlineQuestionButtons: ({ element: t, context: e }) => wr(t, e),
|
|
3103
3043
|
ProductCard: ({ element: t, context: e }) => pt(t, e),
|
|
3104
|
-
ProductDetailsPanel: ({ element: t, context: e }) =>
|
|
3105
|
-
ProductGrid: ({ element: t, spec: e, renderElement: a, context: n }) =>
|
|
3106
|
-
ReviewHighlights: ({ element: t, context: e }) => e.hideUserReviews === !0 ? null :
|
|
3044
|
+
ProductDetailsPanel: ({ element: t, context: e }) => ii(t, e),
|
|
3045
|
+
ProductGrid: ({ element: t, spec: e, renderElement: a, context: n }) => hi(t, e, a, n),
|
|
3046
|
+
ReviewHighlights: ({ element: t, context: e }) => e.hideUserReviews === !0 ? null : sr(t, {
|
|
3107
3047
|
emptyReviewsMessage: e.i18n?.emptyReviewsMessage,
|
|
3108
3048
|
reviewFilterPositive: e.i18n?.reviewFilterPositive,
|
|
3109
3049
|
reviewFilterNegative: e.i18n?.reviewFilterNegative,
|
|
@@ -3111,18 +3051,16 @@ var ga = {
|
|
|
3111
3051
|
reviewCustomersMentionPlural: e.i18n?.reviewCustomersMentionPlural,
|
|
3112
3052
|
reviewSubjectsHeading: e.i18n?.reviewSubjectsHeading
|
|
3113
3053
|
}),
|
|
3114
|
-
ComparisonTable: ({ element: t, context: e }) =>
|
|
3115
|
-
AITopPicks: ({ element: t, context: e }) =>
|
|
3116
|
-
GroundingReviewCard: ({ element: t, context: e }) => e.hideUserReviews === !0 ? null :
|
|
3117
|
-
AIGroupingCards: ({ element: t, context: e }) =>
|
|
3118
|
-
AISuggestedSearchCards: ({ element: t, context: e }) =>
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
Divider: ({ element: t }) => yi(t),
|
|
3125
|
-
...Hr
|
|
3054
|
+
ComparisonTable: ({ element: t, context: e }) => fi(t, e),
|
|
3055
|
+
AITopPicks: ({ element: t, context: e }) => mr(t, e),
|
|
3056
|
+
GroundingReviewCard: ({ element: t, context: e }) => e.hideUserReviews === !0 ? null : br(t, e),
|
|
3057
|
+
AIGroupingCards: ({ element: t, context: e }) => xr(t, e),
|
|
3058
|
+
AISuggestedSearchCards: ({ element: t, context: e }) => yr(t, e),
|
|
3059
|
+
CategoriesContainer: ({ element: t, context: e }) => Lr(t, e),
|
|
3060
|
+
PanelRestoreCard: ({ element: t, context: e }) => Mr(t, e),
|
|
3061
|
+
ProductSummaryCard: ({ element: t, context: e }) => Nr(t, e),
|
|
3062
|
+
Divider: ({ element: t }) => bi(t),
|
|
3063
|
+
...Br
|
|
3126
3064
|
}, da = ({ element: t, renderElement: e }) => {
|
|
3127
3065
|
if (!t.children || t.children.length === 0) return null;
|
|
3128
3066
|
const a = document.createElement("div");
|
|
@@ -3132,10 +3070,10 @@ var ga = {
|
|
|
3132
3070
|
}
|
|
3133
3071
|
return a;
|
|
3134
3072
|
};
|
|
3135
|
-
function
|
|
3073
|
+
function zr() {
|
|
3136
3074
|
return { ...ga };
|
|
3137
3075
|
}
|
|
3138
|
-
function
|
|
3076
|
+
function Rr(t, e, a = ga, n = da) {
|
|
3139
3077
|
return Ea({
|
|
3140
3078
|
spec: t,
|
|
3141
3079
|
context: e,
|
|
@@ -3144,7 +3082,7 @@ function Dr(t, e, a = ga, n = da) {
|
|
|
3144
3082
|
unknownRenderer: n
|
|
3145
3083
|
});
|
|
3146
3084
|
}
|
|
3147
|
-
function
|
|
3085
|
+
function Hr(t, e) {
|
|
3148
3086
|
const a = document.createElement("div");
|
|
3149
3087
|
a.className = "gengage-chat-action-buttons";
|
|
3150
3088
|
const n = t.props?.buttons;
|
|
@@ -3154,7 +3092,7 @@ function Or(t, e) {
|
|
|
3154
3092
|
}
|
|
3155
3093
|
return a;
|
|
3156
3094
|
}
|
|
3157
|
-
function
|
|
3095
|
+
function Fr(t, e) {
|
|
3158
3096
|
const a = document.createElement("button");
|
|
3159
3097
|
a.className = "gengage-chat-action-btn";
|
|
3160
3098
|
const n = t.props?.label;
|
|
@@ -3178,8 +3116,8 @@ function Nt(t, e, a, n, r) {
|
|
|
3178
3116
|
h.className = "gengage-chat-product-card-price-row", h.appendChild(g);
|
|
3179
3117
|
const m = document.createElement("span");
|
|
3180
3118
|
m.className = "gengage-chat-product-card-price-sep", m.setAttribute("aria-hidden", "true");
|
|
3181
|
-
const
|
|
3182
|
-
|
|
3119
|
+
const y = document.createElement("span");
|
|
3120
|
+
y.className = "gengage-chat-product-card-original-price", y.textContent = ae(r, e.pricing), h.appendChild(m), h.appendChild(y), t.appendChild(h);
|
|
3183
3121
|
return;
|
|
3184
3122
|
}
|
|
3185
3123
|
if (t.classList.remove("gengage-chat-product-card-price-block--inline"), t.appendChild(g), o) {
|
|
@@ -3197,8 +3135,8 @@ function Nt(t, e, a, n, r) {
|
|
|
3197
3135
|
h.className = "gengage-chat-product-card-current-price", h.textContent = ae(n, e.pricing);
|
|
3198
3136
|
const m = document.createElement("span");
|
|
3199
3137
|
m.className = "gengage-chat-product-card-price-sep", m.setAttribute("aria-hidden", "true");
|
|
3200
|
-
const
|
|
3201
|
-
|
|
3138
|
+
const y = document.createElement("span");
|
|
3139
|
+
y.className = "gengage-chat-product-card-original-price", y.textContent = ae(r, e.pricing), g.appendChild(h), g.appendChild(m), g.appendChild(y), t.appendChild(g);
|
|
3202
3140
|
return;
|
|
3203
3141
|
}
|
|
3204
3142
|
t.classList.remove("gengage-chat-product-card-price-block--inline");
|
|
@@ -3278,17 +3216,17 @@ function pt(t, e) {
|
|
|
3278
3216
|
if (g && he(g)) {
|
|
3279
3217
|
const k = document.createElement("div");
|
|
3280
3218
|
k.className = "gengage-chat-product-card-img-wrapper";
|
|
3281
|
-
const
|
|
3282
|
-
|
|
3219
|
+
const O = document.createElement("img");
|
|
3220
|
+
O.className = "gengage-chat-product-card-img", O.loading = "lazy", de(O, "src", g);
|
|
3283
3221
|
const B = n.name;
|
|
3284
|
-
B && (
|
|
3222
|
+
B && (O.alt = B), xe(O), k.appendChild(O);
|
|
3285
3223
|
const q = n.discountPercent;
|
|
3286
3224
|
if (!e.hideProductDiscountBadge && typeof q == "number" && q > 0) {
|
|
3287
3225
|
const f = document.createElement("span");
|
|
3288
3226
|
f.className = "gengage-chat-product-card-discount-badge", f.textContent = `%${ta(q)}`, k.appendChild(f);
|
|
3289
3227
|
}
|
|
3290
|
-
const
|
|
3291
|
-
|
|
3228
|
+
const U = document.createElement("div");
|
|
3229
|
+
U.className = "gengage-chat-product-card-img-actions";
|
|
3292
3230
|
const ne = n.sku;
|
|
3293
3231
|
if (ne && e.onFavoriteToggle) {
|
|
3294
3232
|
const f = document.createElement("button");
|
|
@@ -3298,7 +3236,7 @@ function pt(t, e) {
|
|
|
3298
3236
|
P.stopPropagation(), f.classList.toggle("gengage-chat-favorite-btn--active");
|
|
3299
3237
|
const $ = f.querySelector("svg");
|
|
3300
3238
|
$ && $.setAttribute("fill", f.classList.contains("gengage-chat-favorite-btn--active") ? "currentColor" : "none"), e.onFavoriteToggle(ne, n);
|
|
3301
|
-
}),
|
|
3239
|
+
}), U.appendChild(f);
|
|
3302
3240
|
}
|
|
3303
3241
|
const W = n.sku, K = e.i18n?.findSimilarLabel ?? "Find Similar";
|
|
3304
3242
|
if (W) {
|
|
@@ -3311,9 +3249,9 @@ function pt(t, e) {
|
|
|
3311
3249
|
type: "findSimilar",
|
|
3312
3250
|
payload: { sku: W }
|
|
3313
3251
|
});
|
|
3314
|
-
}),
|
|
3252
|
+
}), U.appendChild(f);
|
|
3315
3253
|
}
|
|
3316
|
-
|
|
3254
|
+
U.childElementCount > 0 && k.appendChild(U), a.appendChild(k);
|
|
3317
3255
|
}
|
|
3318
3256
|
const h = document.createElement("div");
|
|
3319
3257
|
h.className = "gengage-chat-product-card-body";
|
|
@@ -3322,13 +3260,13 @@ function pt(t, e) {
|
|
|
3322
3260
|
const k = document.createElement("div");
|
|
3323
3261
|
k.className = "gengage-chat-product-card-brand", k.textContent = m, h.appendChild(k);
|
|
3324
3262
|
}
|
|
3325
|
-
const
|
|
3263
|
+
const y = n.rating, v = n.reviewCount, u = n.price, d = n.originalPrice, _ = n.price_async, x = He(e, n), b = $e(e, n), A = !!(d && u && d !== u && parseFloat(u) > 0), L = !!(x && A), E = !!(x && !L || A && b === "inline"), T = typeof y == "number" && Number.isFinite(y) && y > 0, N = document.createElement("div");
|
|
3326
3264
|
N.className = "gengage-chat-product-card-meta-row";
|
|
3327
3265
|
const F = document.createElement("div");
|
|
3328
3266
|
F.className = "gengage-chat-product-card-price gengage-chat-product-card-price-block";
|
|
3329
3267
|
const X = E ? (() => {
|
|
3330
3268
|
const k = document.createElement("div");
|
|
3331
|
-
return k.className = "gengage-chat-product-card-price-stack",
|
|
3269
|
+
return k.className = "gengage-chat-product-card-price-stack", x && !L && k.appendChild(Qe(x)), k.appendChild(F), k;
|
|
3332
3270
|
})() : F;
|
|
3333
3271
|
if (_ === !0) {
|
|
3334
3272
|
const k = document.createElement("span");
|
|
@@ -3339,12 +3277,12 @@ function pt(t, e) {
|
|
|
3339
3277
|
if ((F.childElementCount > 0 || _ === !0) && N.appendChild(X), T) {
|
|
3340
3278
|
const k = document.createElement("div");
|
|
3341
3279
|
k.className = "gengage-chat-product-card-rating gengage-chat-product-card-rating-compact";
|
|
3342
|
-
const
|
|
3280
|
+
const O = ea(y), B = [`${O.toFixed(1)}`, "out of 5 stars"];
|
|
3343
3281
|
typeof v == "number" && Number.isFinite(v) && B.push(`(${v} reviews)`), k.setAttribute("aria-label", B.join(" "));
|
|
3344
3282
|
const q = document.createElement("span");
|
|
3345
3283
|
q.className = "gengage-chat-product-card-rating-compact-star", q.setAttribute("aria-hidden", "true"), q.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>';
|
|
3346
|
-
const
|
|
3347
|
-
|
|
3284
|
+
const U = document.createElement("span");
|
|
3285
|
+
U.className = "gengage-chat-product-card-rating-compact-value", U.textContent = O.toFixed(1), k.appendChild(q), k.appendChild(U), N.appendChild(k);
|
|
3348
3286
|
}
|
|
3349
3287
|
if (N.childElementCount === 0 && (N.classList.add("gengage-chat-product-card-meta-row--empty"), N.setAttribute("aria-hidden", "true")), h.appendChild(N), o) {
|
|
3350
3288
|
const k = document.createElement("div");
|
|
@@ -3360,8 +3298,8 @@ function pt(t, e) {
|
|
|
3360
3298
|
if (D) {
|
|
3361
3299
|
const k = document.createElement("div");
|
|
3362
3300
|
k.className = "gengage-chat-product-card-buy-footer";
|
|
3363
|
-
const
|
|
3364
|
-
|
|
3301
|
+
const O = document.createElement("button");
|
|
3302
|
+
O.type = "button", O.className = "gengage-chat-product-card-buy-trigger", O.textContent = z, O.addEventListener("click", (B) => {
|
|
3365
3303
|
B.stopPropagation(), e.onAction({
|
|
3366
3304
|
title: e.i18n?.addToCartButton ?? z,
|
|
3367
3305
|
type: "addToCart",
|
|
@@ -3371,24 +3309,24 @@ function pt(t, e) {
|
|
|
3371
3309
|
quantity: 1
|
|
3372
3310
|
}
|
|
3373
3311
|
});
|
|
3374
|
-
}), k.appendChild(
|
|
3312
|
+
}), k.appendChild(O), a.appendChild(k);
|
|
3375
3313
|
} else if (i) {
|
|
3376
3314
|
const k = document.createElement("button");
|
|
3377
|
-
k.className = "gengage-chat-product-card-cta", k.type = "button", k.textContent = i.type === "launchSingleProduct" ? z : i.title || z, k.addEventListener("click", (
|
|
3315
|
+
k.className = "gengage-chat-product-card-cta", k.type = "button", k.textContent = i.type === "launchSingleProduct" ? z : i.title || z, k.addEventListener("click", (O) => {
|
|
3378
3316
|
if (a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")) {
|
|
3379
|
-
|
|
3317
|
+
O.stopPropagation();
|
|
3380
3318
|
return;
|
|
3381
3319
|
}
|
|
3382
3320
|
p() || e.onAction(i);
|
|
3383
3321
|
}), a.appendChild(k);
|
|
3384
3322
|
} else if (l) {
|
|
3385
3323
|
const k = document.createElement("a");
|
|
3386
|
-
k.className = "gengage-chat-product-card-cta", de(k, "href", l), de(k, "target", "_blank"), de(k, "rel", "noopener noreferrer"), k.textContent = z, k.addEventListener("click", (
|
|
3324
|
+
k.className = "gengage-chat-product-card-cta", de(k, "href", l), de(k, "target", "_blank"), de(k, "rel", "noopener noreferrer"), k.textContent = z, k.addEventListener("click", (O) => {
|
|
3387
3325
|
if (a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")) {
|
|
3388
|
-
|
|
3326
|
+
O.preventDefault(), O.stopPropagation();
|
|
3389
3327
|
return;
|
|
3390
3328
|
}
|
|
3391
|
-
e.onProductClick && c && (
|
|
3329
|
+
e.onProductClick && c && (O.preventDefault(), e.onProductClick({
|
|
3392
3330
|
sku: c,
|
|
3393
3331
|
url: l,
|
|
3394
3332
|
...o ? { name: o } : {}
|
|
@@ -3398,22 +3336,22 @@ function pt(t, e) {
|
|
|
3398
3336
|
if (e.comparisonSelectMode && c && e.onToggleComparisonSku) {
|
|
3399
3337
|
const k = document.createElement("div");
|
|
3400
3338
|
k.className = "gengage-chat-comparison-select-wrapper";
|
|
3401
|
-
const
|
|
3402
|
-
|
|
3339
|
+
const O = e.comparisonSelectedSkus?.includes(c) ?? !1;
|
|
3340
|
+
O && k.classList.add("gengage-chat-comparison-select-wrapper--selected");
|
|
3403
3341
|
const B = n.name ?? c, q = e.i18n?.comparisonSelectCardHint ?? "Tap anywhere on the card to add or remove it from comparison.";
|
|
3404
3342
|
k.setAttribute("role", "group"), k.setAttribute("aria-label", `${String(B)}. ${q}`);
|
|
3405
|
-
const
|
|
3406
|
-
|
|
3343
|
+
const U = document.createElement("button");
|
|
3344
|
+
U.type = "button", U.className = "gengage-chat-comparison-checkbox", U.dataset.selected = O ? "true" : "false", U.setAttribute("aria-pressed", O ? "true" : "false");
|
|
3407
3345
|
const ne = document.createElement("span");
|
|
3408
|
-
ne.className = "gengage-chat-comparison-checkbox-icon", ne.innerHTML =
|
|
3346
|
+
ne.className = "gengage-chat-comparison-checkbox-icon", ne.innerHTML = O ? '<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>';
|
|
3409
3347
|
const W = document.createElement("span");
|
|
3410
|
-
W.className = "gengage-chat-comparison-checkbox-label", W.textContent =
|
|
3348
|
+
W.className = "gengage-chat-comparison-checkbox-label", W.textContent = O ? e.i18n?.comparisonSelectedLabel ?? "Selected" : e.i18n?.comparisonSelectLabel ?? "Select to compare", U.appendChild(ne), U.appendChild(W), U.addEventListener("click", (f) => {
|
|
3411
3349
|
f.stopPropagation(), e.onToggleComparisonSku?.(c);
|
|
3412
3350
|
});
|
|
3413
3351
|
const K = document.createElement("div");
|
|
3414
3352
|
return K.className = "gengage-chat-comparison-card-hint", K.setAttribute("aria-hidden", "true"), K.textContent = q, k.addEventListener("click", (f) => {
|
|
3415
3353
|
f.target.closest(".gengage-chat-comparison-checkbox") || (f.stopPropagation(), e.onToggleComparisonSku?.(c));
|
|
3416
|
-
}), k.appendChild(
|
|
3354
|
+
}), k.appendChild(U), k.appendChild(K), k.appendChild(a), k;
|
|
3417
3355
|
}
|
|
3418
3356
|
return a;
|
|
3419
3357
|
}
|
|
@@ -3423,22 +3361,22 @@ var pa = /* @__PURE__ */ new Set([
|
|
|
3423
3361
|
"renk",
|
|
3424
3362
|
"renk kodu",
|
|
3425
3363
|
"color code"
|
|
3426
|
-
]),
|
|
3364
|
+
]), Dr = /* @__PURE__ */ new Set([
|
|
3427
3365
|
"size",
|
|
3428
3366
|
"beden",
|
|
3429
3367
|
"boyut"
|
|
3430
|
-
]),
|
|
3368
|
+
]), Ur = /* @__PURE__ */ new Set([
|
|
3431
3369
|
"finish",
|
|
3432
3370
|
"bitiş",
|
|
3433
3371
|
"bitişi"
|
|
3434
|
-
]),
|
|
3372
|
+
]), Or = [
|
|
3435
3373
|
"variants",
|
|
3436
3374
|
"variantOptions",
|
|
3437
3375
|
"variant_options",
|
|
3438
3376
|
"productVariants",
|
|
3439
3377
|
"product_variants",
|
|
3440
3378
|
"options"
|
|
3441
|
-
],
|
|
3379
|
+
], jr = /* @__PURE__ */ new Set([
|
|
3442
3380
|
"H2",
|
|
3443
3381
|
"H3",
|
|
3444
3382
|
"H4",
|
|
@@ -3451,7 +3389,7 @@ var pa = /* @__PURE__ */ new Set([
|
|
|
3451
3389
|
"B",
|
|
3452
3390
|
"EM",
|
|
3453
3391
|
"I"
|
|
3454
|
-
]),
|
|
3392
|
+
]), qr = /* @__PURE__ */ new Set([
|
|
3455
3393
|
"SCRIPT",
|
|
3456
3394
|
"STYLE",
|
|
3457
3395
|
"NOSCRIPT",
|
|
@@ -3484,26 +3422,26 @@ function Ge(t, ...e) {
|
|
|
3484
3422
|
if (typeof n == "boolean") return n;
|
|
3485
3423
|
}
|
|
3486
3424
|
}
|
|
3487
|
-
function
|
|
3425
|
+
function $r(t, ...e) {
|
|
3488
3426
|
for (const a of e) {
|
|
3489
3427
|
const n = t[a];
|
|
3490
3428
|
if (n && typeof n == "object" && !Array.isArray(n)) return n;
|
|
3491
3429
|
}
|
|
3492
3430
|
}
|
|
3493
|
-
function
|
|
3431
|
+
function Vr(t) {
|
|
3494
3432
|
return Array.isArray(t) ? t.filter((e) => typeof e == "string" && e.trim().length > 0) : [];
|
|
3495
3433
|
}
|
|
3496
|
-
function
|
|
3497
|
-
const e = [...
|
|
3434
|
+
function Gr(t) {
|
|
3435
|
+
const e = [...Vr(t.images), be(t, "imageUrl", "image_url", "image")].filter((a) => !!a && he(a));
|
|
3498
3436
|
return Array.from(new Set(e));
|
|
3499
3437
|
}
|
|
3500
|
-
function
|
|
3438
|
+
function Wr(t) {
|
|
3501
3439
|
return typeof DOMParser < "u" ? (new DOMParser().parseFromString(t, "text/html").body.textContent ?? "").replace(/\s+/g, " ").trim() : t.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim();
|
|
3502
3440
|
}
|
|
3503
|
-
function
|
|
3441
|
+
function Kr(t) {
|
|
3504
3442
|
const e = be(t, "description_html", "descriptionHtml");
|
|
3505
3443
|
if (e) {
|
|
3506
|
-
const n =
|
|
3444
|
+
const n = Wr(e);
|
|
3507
3445
|
if (n) return {
|
|
3508
3446
|
text: n,
|
|
3509
3447
|
html: e
|
|
@@ -3532,7 +3470,7 @@ function ha(t) {
|
|
|
3532
3470
|
const e = Ye(t.features);
|
|
3533
3471
|
return e.length > 0 ? e : Ye(t.specifications);
|
|
3534
3472
|
}
|
|
3535
|
-
function
|
|
3473
|
+
function Yr(t) {
|
|
3536
3474
|
const e = t.specifications, a = Ye(e);
|
|
3537
3475
|
if (a.length > 0) return Array.isArray(e) ? a : Object.fromEntries(a.map((r) => [r.key, r.value]));
|
|
3538
3476
|
const n = Ye(t.features);
|
|
@@ -3551,7 +3489,7 @@ function ma(t) {
|
|
|
3551
3489
|
const e = Ee(t, "type", "attribute", "option_name", "attribute_name");
|
|
3552
3490
|
return e || (Ee(t, "value") ? Ee(t, "name", "variant_name") : void 0);
|
|
3553
3491
|
}
|
|
3554
|
-
function
|
|
3492
|
+
function Zr(t) {
|
|
3555
3493
|
const e = ma(t)?.toLowerCase();
|
|
3556
3494
|
return !!(be(t, "color", "colour", "color_hex", "hex", "swatch", "swatchColor") || e && pa.has(e));
|
|
3557
3495
|
}
|
|
@@ -3561,63 +3499,63 @@ function Rt(t) {
|
|
|
3561
3499
|
if (!(!e || e.includes(";")) && (typeof CSS < "u" && CSS.supports?.("color", e) || /^#(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(e)))
|
|
3562
3500
|
return e;
|
|
3563
3501
|
}
|
|
3564
|
-
function
|
|
3502
|
+
function Xr(t) {
|
|
3565
3503
|
const e = Rt(Ee(t, "swatchColor", "swatch", "color_hex", "hex", "color", "colour"));
|
|
3566
3504
|
if (e) return e;
|
|
3567
|
-
if (
|
|
3505
|
+
if (Zr(t))
|
|
3568
3506
|
return Rt(ua(t));
|
|
3569
3507
|
}
|
|
3570
|
-
function
|
|
3508
|
+
function Qr(t) {
|
|
3571
3509
|
return Ee(t, "image", "imageUrl", "image_url", "swatchImage", "swatch_image");
|
|
3572
3510
|
}
|
|
3573
|
-
function
|
|
3511
|
+
function Jr(t) {
|
|
3574
3512
|
return zt(t, "price_discounted", "priceDiscounted") ?? Ee(t, "price_discounted", "priceDiscounted") ?? zt(t, "price") ?? Ee(t, "price");
|
|
3575
3513
|
}
|
|
3576
|
-
function
|
|
3514
|
+
function ei(t) {
|
|
3577
3515
|
const e = t.trim().toLowerCase();
|
|
3578
|
-
return pa.has(e) ||
|
|
3516
|
+
return pa.has(e) || Dr.has(e) || Ur.has(e);
|
|
3579
3517
|
}
|
|
3580
|
-
function
|
|
3518
|
+
function ti(t) {
|
|
3581
3519
|
const e = t.trim().toLowerCase();
|
|
3582
3520
|
return e === "renk kodu" ? "Renk" : e === "color code" ? "Color" : t.trim();
|
|
3583
3521
|
}
|
|
3584
|
-
function
|
|
3585
|
-
for (const e of
|
|
3522
|
+
function ai(t) {
|
|
3523
|
+
for (const e of Or) {
|
|
3586
3524
|
const a = t[e];
|
|
3587
3525
|
if (!Array.isArray(a)) continue;
|
|
3588
3526
|
const n = a.filter((r) => !!r && typeof r == "object" && !Array.isArray(r));
|
|
3589
3527
|
if (n.length > 0) return n;
|
|
3590
3528
|
}
|
|
3591
3529
|
}
|
|
3592
|
-
function
|
|
3593
|
-
const e =
|
|
3530
|
+
function ni(t) {
|
|
3531
|
+
const e = ai(t);
|
|
3594
3532
|
if (e) return e;
|
|
3595
3533
|
const a = be(t, "sku"), n = Ge(t, "inStock", "in_stock"), r = [], i = /* @__PURE__ */ new Set(), o = (c, l) => {
|
|
3596
|
-
if (!
|
|
3534
|
+
if (!ei(c) || typeof l != "string" && typeof l != "number" && typeof l != "boolean") return;
|
|
3597
3535
|
const p = String(l).trim();
|
|
3598
3536
|
if (!p) return;
|
|
3599
|
-
const g =
|
|
3537
|
+
const g = ti(c), h = `${g.toLowerCase()}:${p.toLowerCase()}`;
|
|
3600
3538
|
i.has(h) || (i.add(h), r.push({
|
|
3601
3539
|
name: g,
|
|
3602
3540
|
value: p,
|
|
3603
3541
|
sku: a,
|
|
3604
3542
|
inStock: n
|
|
3605
3543
|
}));
|
|
3606
|
-
}, s =
|
|
3544
|
+
}, s = $r(t, "facetHits", "facet_hits");
|
|
3607
3545
|
if (s) for (const [c, l] of Object.entries(s)) o(c, l);
|
|
3608
3546
|
for (const c of ha(t)) o(c.key, c.value);
|
|
3609
3547
|
return r;
|
|
3610
3548
|
}
|
|
3611
|
-
function
|
|
3549
|
+
function ri(t, e) {
|
|
3612
3550
|
const a = Array.from(new Set(t.map(ma).filter((n) => !!n)));
|
|
3613
3551
|
return a.length === 1 ? `${t.length} ${a[0]}` : e.i18n?.variantsLabel ?? "Variants";
|
|
3614
3552
|
}
|
|
3615
|
-
function
|
|
3553
|
+
function ii(t, e) {
|
|
3616
3554
|
const a = document.createElement("article");
|
|
3617
3555
|
a.className = "gengage-chat-product-details-panel";
|
|
3618
3556
|
const n = t.props?.product ?? t.props;
|
|
3619
3557
|
if (!n) return a;
|
|
3620
|
-
const r = be(n, "name"), i = be(n, "brand"), o = be(n, "sku"), s = be(n, "cartCode", "cart_code"), c = be(n, "price"), l = be(n, "originalPrice", "price_original"), p = Ge(n, "price_async"), g = He(e, n), h = $e(e, n), m = !!(l && c && l !== c),
|
|
3558
|
+
const r = be(n, "name"), i = be(n, "brand"), o = be(n, "sku"), s = be(n, "cartCode", "cart_code"), c = be(n, "price"), l = be(n, "originalPrice", "price_original"), p = Ge(n, "price_async"), g = He(e, n), h = $e(e, n), m = !!(l && c && l !== c), y = Ge(n, "inStock", "in_stock"), v = Ke(n, "reviewCount", "review_count"), u = Ke(n, "rating"), d = Gr(n), _ = ha(n).slice(0, 4);
|
|
3621
3559
|
if (d.length > 1) {
|
|
3622
3560
|
const C = document.createElement("div");
|
|
3623
3561
|
C.className = "gengage-chat-product-details-media gengage-chat-product-details-gallery gengage-chat-product-details-img-wrap";
|
|
@@ -3626,20 +3564,20 @@ function ci(t, e) {
|
|
|
3626
3564
|
const D = document.createElement("div");
|
|
3627
3565
|
D.className = "gengage-chat-product-gallery-thumbs";
|
|
3628
3566
|
const z = 6;
|
|
3629
|
-
let k = null,
|
|
3630
|
-
const B = e.i18n, q = B?.galleryPrevAriaLabel ?? "Previous image",
|
|
3567
|
+
let k = null, O = 0;
|
|
3568
|
+
const B = e.i18n, q = B?.galleryPrevAriaLabel ?? "Previous image", U = B?.galleryNextAriaLabel ?? "Next image", ne = (I) => I === "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>', W = document.createElement("button");
|
|
3631
3569
|
W.type = "button", W.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--prev gds-btn gds-btn-ghost gds-icon-btn", W.setAttribute("aria-label", q), W.innerHTML = ne("prev");
|
|
3632
3570
|
const K = document.createElement("button");
|
|
3633
|
-
K.type = "button", K.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--next gds-btn gds-btn-ghost gds-icon-btn", K.setAttribute("aria-label",
|
|
3571
|
+
K.type = "button", K.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--next gds-btn gds-btn-ghost gds-icon-btn", K.setAttribute("aria-label", U), K.innerHTML = ne("next");
|
|
3634
3572
|
const f = () => {
|
|
3635
|
-
W.disabled =
|
|
3573
|
+
W.disabled = O <= 0, K.disabled = O >= d.length - 1;
|
|
3636
3574
|
}, S = (I) => {
|
|
3637
|
-
if (I < 0 || I >= d.length || I ===
|
|
3575
|
+
if (I < 0 || I >= d.length || I === O) return;
|
|
3638
3576
|
const j = d[I];
|
|
3639
3577
|
if (!j) return;
|
|
3640
3578
|
de(R, "src", j);
|
|
3641
3579
|
const Q = D.querySelectorAll(".gengage-chat-product-gallery-thumb");
|
|
3642
|
-
k && k.classList.remove("gengage-chat-product-gallery-thumb--active"), I < z && Q[I] ? (Q[I].classList.add("gengage-chat-product-gallery-thumb--active"), k = Q[I]) : k = null,
|
|
3580
|
+
k && k.classList.remove("gengage-chat-product-gallery-thumb--active"), I < z && Q[I] ? (Q[I].classList.add("gengage-chat-product-gallery-thumb--active"), k = Q[I]) : k = null, O = I, f();
|
|
3643
3581
|
};
|
|
3644
3582
|
for (let I = 0; I < d.length; I++) {
|
|
3645
3583
|
const j = d[I];
|
|
@@ -3654,9 +3592,9 @@ function ci(t, e) {
|
|
|
3654
3592
|
I.className = "gengage-chat-product-gallery-thumb-more", I.textContent = `+${d.length - z}`, D.appendChild(I);
|
|
3655
3593
|
}
|
|
3656
3594
|
W.addEventListener("click", (I) => {
|
|
3657
|
-
I.stopPropagation(), S(
|
|
3595
|
+
I.stopPropagation(), S(O - 1);
|
|
3658
3596
|
}), K.addEventListener("click", (I) => {
|
|
3659
|
-
I.stopPropagation(), S(
|
|
3597
|
+
I.stopPropagation(), S(O + 1);
|
|
3660
3598
|
}), f();
|
|
3661
3599
|
let P = 0;
|
|
3662
3600
|
const $ = 50;
|
|
@@ -3664,7 +3602,7 @@ function ci(t, e) {
|
|
|
3664
3602
|
P = I.changedTouches[0].clientX;
|
|
3665
3603
|
}, { passive: !0 }), R.addEventListener("touchend", (I) => {
|
|
3666
3604
|
const j = I.changedTouches[0].clientX, Q = P - j;
|
|
3667
|
-
Math.abs(Q) < $ || S(Q > 0 ? Math.min(
|
|
3605
|
+
Math.abs(Q) < $ || S(Q > 0 ? Math.min(O + 1, d.length - 1) : Math.max(O - 1, 0));
|
|
3668
3606
|
}), C.appendChild(W), C.appendChild(K), C.appendChild(D), a.appendChild(C);
|
|
3669
3607
|
} else if (d.length === 1) {
|
|
3670
3608
|
const C = document.createElement("div");
|
|
@@ -3672,14 +3610,14 @@ function ci(t, e) {
|
|
|
3672
3610
|
const R = document.createElement("img");
|
|
3673
3611
|
R.className = "gengage-chat-product-details-img", R.loading = "lazy", de(R, "src", d[0]), xe(R), R.alt = r ?? "Product image", C.appendChild(R), a.appendChild(C);
|
|
3674
3612
|
}
|
|
3675
|
-
const
|
|
3676
|
-
if (
|
|
3613
|
+
const x = document.createElement("div");
|
|
3614
|
+
if (x.className = "gengage-chat-product-details-content", i && (!r || !r.toLowerCase().startsWith(i.toLowerCase()))) {
|
|
3677
3615
|
const C = document.createElement("div");
|
|
3678
|
-
C.className = "gengage-chat-product-details-brand", C.textContent = i,
|
|
3616
|
+
C.className = "gengage-chat-product-details-brand", C.textContent = i, x.appendChild(C);
|
|
3679
3617
|
}
|
|
3680
3618
|
if (r) {
|
|
3681
3619
|
const C = document.createElement("h3");
|
|
3682
|
-
C.className = "gengage-chat-product-details-title", C.textContent = r, C.title = r,
|
|
3620
|
+
C.className = "gengage-chat-product-details-title", C.textContent = r, C.title = r, x.appendChild(C);
|
|
3683
3621
|
}
|
|
3684
3622
|
if (e.hideUserReviews !== !0 && typeof u == "number" && Number.isFinite(u) && u > 0) {
|
|
3685
3623
|
const C = document.createElement(o ? "button" : "div");
|
|
@@ -3695,14 +3633,14 @@ function ci(t, e) {
|
|
|
3695
3633
|
const D = document.createElement("span");
|
|
3696
3634
|
D.className = "gengage-chat-product-details-review-count", D.textContent = ` (${v})`, C.appendChild(D);
|
|
3697
3635
|
}
|
|
3698
|
-
|
|
3636
|
+
x.appendChild(C);
|
|
3699
3637
|
}
|
|
3700
3638
|
{
|
|
3701
3639
|
const C = !!(g && m);
|
|
3702
|
-
let R =
|
|
3640
|
+
let R = x;
|
|
3703
3641
|
if (g && !C) {
|
|
3704
3642
|
const z = document.createElement("div");
|
|
3705
|
-
z.className = "gengage-chat-product-details-price-stack", z.appendChild(Qe(g)),
|
|
3643
|
+
z.className = "gengage-chat-product-details-price-stack", z.appendChild(Qe(g)), x.appendChild(z), R = z;
|
|
3706
3644
|
}
|
|
3707
3645
|
const D = document.createElement("div");
|
|
3708
3646
|
if (D.className = "gengage-chat-product-details-price", p === !0) {
|
|
@@ -3722,9 +3660,9 @@ function ci(t, e) {
|
|
|
3722
3660
|
z.classList.contains("gengage-chat-product-details-price-stack") && z.remove();
|
|
3723
3661
|
}
|
|
3724
3662
|
}
|
|
3725
|
-
if (e.hideStockStatus !== !0 && typeof
|
|
3663
|
+
if (e.hideStockStatus !== !0 && typeof y == "boolean") {
|
|
3726
3664
|
const C = document.createElement("div");
|
|
3727
|
-
C.className = `gengage-chat-product-details-stock ${
|
|
3665
|
+
C.className = `gengage-chat-product-details-stock ${y ? "is-in-stock" : "is-out-of-stock"}`, C.textContent = y ? e.i18n?.inStockLabel ?? "In Stock" : e.i18n?.outOfStockLabel ?? "Out of Stock", x.appendChild(C);
|
|
3728
3666
|
}
|
|
3729
3667
|
const b = n.promotions;
|
|
3730
3668
|
if (b && b.length > 0) {
|
|
@@ -3735,7 +3673,7 @@ function ci(t, e) {
|
|
|
3735
3673
|
const D = document.createElement("span");
|
|
3736
3674
|
D.className = "gengage-chat-product-details-promo-badge", D.textContent = R, D.title = R, C.appendChild(D);
|
|
3737
3675
|
}
|
|
3738
|
-
C.childElementCount > 0 &&
|
|
3676
|
+
C.childElementCount > 0 && x.appendChild(C);
|
|
3739
3677
|
}
|
|
3740
3678
|
if (_.length > 0) {
|
|
3741
3679
|
const C = document.createElement("dl");
|
|
@@ -3748,26 +3686,26 @@ function ci(t, e) {
|
|
|
3748
3686
|
const k = document.createElement("dd");
|
|
3749
3687
|
k.textContent = R.value, D.appendChild(z), D.appendChild(k), C.appendChild(D);
|
|
3750
3688
|
}
|
|
3751
|
-
|
|
3689
|
+
x.appendChild(C);
|
|
3752
3690
|
}
|
|
3753
|
-
const A =
|
|
3691
|
+
const A = ni(n);
|
|
3754
3692
|
if (A.length > 0) {
|
|
3755
3693
|
const C = document.createElement("div");
|
|
3756
3694
|
C.className = "gengage-chat-product-variants";
|
|
3757
3695
|
const R = document.createElement("div");
|
|
3758
|
-
R.className = "gengage-chat-product-variants-label", R.textContent =
|
|
3696
|
+
R.className = "gengage-chat-product-variants-label", R.textContent = ri(A, e), C.appendChild(R);
|
|
3759
3697
|
const D = document.createElement("div");
|
|
3760
3698
|
D.className = "gengage-chat-product-variants-list";
|
|
3761
3699
|
for (const z of A) {
|
|
3762
|
-
const k = ua(z),
|
|
3763
|
-
if (!k && !
|
|
3700
|
+
const k = ua(z), O = Ee(z, "sku");
|
|
3701
|
+
if (!k && !O) continue;
|
|
3764
3702
|
const B = document.createElement("button");
|
|
3765
3703
|
B.className = "gengage-chat-product-variant-btn gds-chip", B.type = "button";
|
|
3766
|
-
const q = k ??
|
|
3704
|
+
const q = k ?? O ?? "";
|
|
3767
3705
|
B.title = q;
|
|
3768
|
-
const
|
|
3769
|
-
|
|
3770
|
-
const ne =
|
|
3706
|
+
const U = Ge(z, "in_stock", "inStock");
|
|
3707
|
+
O && o && O === o ? (B.classList.add("gengage-chat-product-variant-btn--active"), B.setAttribute("aria-pressed", "true")) : B.setAttribute("aria-pressed", "false"), U === !1 && (B.classList.add("gengage-chat-product-variant-btn--out"), B.disabled = !0);
|
|
3708
|
+
const ne = Qr(z), W = Xr(z);
|
|
3771
3709
|
if (ne && he(ne)) {
|
|
3772
3710
|
const S = document.createElement("img");
|
|
3773
3711
|
S.className = "gengage-chat-product-variant-swatch gengage-chat-product-variant-swatch--image", de(S, "src", ne), S.alt = "", S.setAttribute("aria-hidden", "true"), xe(S), B.appendChild(S);
|
|
@@ -3777,24 +3715,24 @@ function ci(t, e) {
|
|
|
3777
3715
|
}
|
|
3778
3716
|
const K = document.createElement("span");
|
|
3779
3717
|
K.className = "gengage-chat-product-variant-label", K.textContent = q, B.appendChild(K);
|
|
3780
|
-
const f =
|
|
3718
|
+
const f = Jr(z);
|
|
3781
3719
|
if (f && String(f) !== String(c)) {
|
|
3782
3720
|
const S = document.createElement("span");
|
|
3783
3721
|
S.className = "gengage-chat-product-variant-price", S.textContent = ae(String(f), e.pricing), B.appendChild(S);
|
|
3784
3722
|
}
|
|
3785
|
-
if (
|
|
3723
|
+
if (O && O !== o) {
|
|
3786
3724
|
const S = r ?? "", P = (typeof z.value == "string" ? z.value.trim() : "") || (typeof z.name == "string" ? z.name.trim() : "") || (typeof z.variant_name == "string" ? z.variant_name.trim() : "") || "", $ = S.length > 0 ? P.length > 0 && P !== S ? `${S} (${P})` : S : q;
|
|
3787
3725
|
B.addEventListener("click", () => {
|
|
3788
3726
|
e.onAction({
|
|
3789
3727
|
title: $,
|
|
3790
3728
|
type: "launchVariant",
|
|
3791
|
-
payload: { sku:
|
|
3729
|
+
payload: { sku: O }
|
|
3792
3730
|
});
|
|
3793
3731
|
});
|
|
3794
3732
|
}
|
|
3795
3733
|
D.appendChild(B);
|
|
3796
3734
|
}
|
|
3797
|
-
D.childElementCount > 0 && (C.appendChild(D),
|
|
3735
|
+
D.childElementCount > 0 && (C.appendChild(D), x.appendChild(C));
|
|
3798
3736
|
}
|
|
3799
3737
|
const L = document.createElement("div");
|
|
3800
3738
|
L.className = "gengage-chat-product-details-actions";
|
|
@@ -3803,7 +3741,7 @@ function ci(t, e) {
|
|
|
3803
3741
|
const C = document.createElement("button");
|
|
3804
3742
|
C.className = "gengage-chat-product-details-cta gds-btn gds-btn-primary", C.type = "button", C.textContent = E.title || e.i18n?.productCtaLabel || "View", C.addEventListener("click", () => e.onAction(E)), L.appendChild(C);
|
|
3805
3743
|
}
|
|
3806
|
-
if (s && o &&
|
|
3744
|
+
if (s && o && y !== !1) {
|
|
3807
3745
|
const C = document.createElement("button");
|
|
3808
3746
|
C.className = "gengage-chat-product-details-atc gds-btn gds-btn-primary", C.type = "button", C.textContent = e.i18n?.addToCartButton ?? "Add to Cart", C.addEventListener("click", () => {
|
|
3809
3747
|
e.onAction({
|
|
@@ -3831,18 +3769,18 @@ function ci(t, e) {
|
|
|
3831
3769
|
const N = T;
|
|
3832
3770
|
if (N && he(N)) {
|
|
3833
3771
|
let k = function(B, q) {
|
|
3834
|
-
const
|
|
3835
|
-
|
|
3836
|
-
},
|
|
3772
|
+
const U = document.createElementNS(D, "circle");
|
|
3773
|
+
U.setAttribute("cx", B), U.setAttribute("cy", q), U.setAttribute("r", "3"), z.appendChild(U);
|
|
3774
|
+
}, O = function(B, q, U, ne) {
|
|
3837
3775
|
const W = document.createElementNS(D, "line");
|
|
3838
|
-
W.setAttribute("x1", B), W.setAttribute("y1", q), W.setAttribute("x2",
|
|
3776
|
+
W.setAttribute("x1", B), W.setAttribute("y1", q), W.setAttribute("x2", U), W.setAttribute("y2", ne), z.appendChild(W);
|
|
3839
3777
|
};
|
|
3840
3778
|
const C = document.createElement("button");
|
|
3841
3779
|
C.className = "gengage-chat-product-details-share gds-btn gds-btn-ghost gds-icon-btn", C.type = "button";
|
|
3842
3780
|
const R = e.i18n?.shareButton ?? "Share";
|
|
3843
3781
|
C.title = R, C.setAttribute("aria-label", R);
|
|
3844
3782
|
const D = "http://www.w3.org/2000/svg", z = document.createElementNS(D, "svg");
|
|
3845
|
-
z.setAttribute("width", "18"), z.setAttribute("height", "18"), z.setAttribute("viewBox", "0 0 24 24"), z.setAttribute("fill", "none"), z.setAttribute("stroke", "currentColor"), z.setAttribute("stroke-width", "2"), z.setAttribute("stroke-linecap", "round"), z.setAttribute("stroke-linejoin", "round"), k("18", "5"), k("6", "12"), k("18", "19"),
|
|
3783
|
+
z.setAttribute("width", "18"), z.setAttribute("height", "18"), z.setAttribute("viewBox", "0 0 24 24"), z.setAttribute("fill", "none"), z.setAttribute("stroke", "currentColor"), z.setAttribute("stroke-width", "2"), z.setAttribute("stroke-linecap", "round"), z.setAttribute("stroke-linejoin", "round"), k("18", "5"), k("6", "12"), k("18", "19"), O("8.59", "13.51", "15.42", "17.49"), O("15.41", "6.51", "8.59", "10.49"), C.appendChild(z), C.addEventListener("click", async () => {
|
|
3846
3784
|
try {
|
|
3847
3785
|
navigator.share ? await navigator.share({
|
|
3848
3786
|
title: r ?? "",
|
|
@@ -3852,16 +3790,16 @@ function ci(t, e) {
|
|
|
3852
3790
|
}
|
|
3853
3791
|
}), L.appendChild(C);
|
|
3854
3792
|
}
|
|
3855
|
-
L.childElementCount > 0 &&
|
|
3856
|
-
const F =
|
|
3857
|
-
return (F || X) && a.appendChild(
|
|
3793
|
+
L.childElementCount > 0 && x.appendChild(L), a.appendChild(x);
|
|
3794
|
+
const F = Kr(n), X = Yr(n);
|
|
3795
|
+
return (F || X) && a.appendChild(ci(F, X, e)), a;
|
|
3858
3796
|
}
|
|
3859
3797
|
function ht(t) {
|
|
3860
3798
|
if (t.nodeType === Node.TEXT_NODE) return document.createTextNode(t.textContent ?? "");
|
|
3861
3799
|
if (t.nodeType !== Node.ELEMENT_NODE) return null;
|
|
3862
3800
|
const e = t, a = e.tagName.toUpperCase();
|
|
3863
|
-
if (
|
|
3864
|
-
if (!
|
|
3801
|
+
if (qr.has(a)) return null;
|
|
3802
|
+
if (!jr.has(a)) {
|
|
3865
3803
|
const r = document.createDocumentFragment();
|
|
3866
3804
|
for (const i of Array.from(e.childNodes)) {
|
|
3867
3805
|
const o = ht(i);
|
|
@@ -3876,7 +3814,7 @@ function ht(t) {
|
|
|
3876
3814
|
}
|
|
3877
3815
|
return n;
|
|
3878
3816
|
}
|
|
3879
|
-
function
|
|
3817
|
+
function oi(t, e) {
|
|
3880
3818
|
const a = e.split(/\n{2,}/).map((n) => n.replace(/\s+/g, " ").trim()).filter(Boolean);
|
|
3881
3819
|
if (a.length !== 0)
|
|
3882
3820
|
for (const n of a) {
|
|
@@ -3884,7 +3822,7 @@ function li(t, e) {
|
|
|
3884
3822
|
r.textContent = n, t.appendChild(r);
|
|
3885
3823
|
}
|
|
3886
3824
|
}
|
|
3887
|
-
function
|
|
3825
|
+
function si(t, e) {
|
|
3888
3826
|
if (t.classList.add("gengage-chat-product-description"), e.html && typeof DOMParser < "u") {
|
|
3889
3827
|
const a = new DOMParser().parseFromString(e.html, "text/html"), n = Array.from(a.body.childNodes).map((r) => ht(r)).filter((r) => !!r && (r.nodeType === Node.ELEMENT_NODE || !!r.textContent?.trim()));
|
|
3890
3828
|
if (n.length > 0) {
|
|
@@ -3892,9 +3830,9 @@ function gi(t, e) {
|
|
|
3892
3830
|
return;
|
|
3893
3831
|
}
|
|
3894
3832
|
}
|
|
3895
|
-
|
|
3833
|
+
oi(t, e.text);
|
|
3896
3834
|
}
|
|
3897
|
-
function
|
|
3835
|
+
function ci(t, e, a) {
|
|
3898
3836
|
const n = document.createElement("div");
|
|
3899
3837
|
n.className = "gengage-chat-product-detail-tabs";
|
|
3900
3838
|
const r = document.createElement("div");
|
|
@@ -3904,7 +3842,7 @@ function di(t, e, a) {
|
|
|
3904
3842
|
const s = document.createElement("button");
|
|
3905
3843
|
s.className = "gengage-chat-product-detail-tab gds-tab gengage-chat-product-detail-tab--active is-active", s.type = "button", s.setAttribute("aria-selected", "true"), s.textContent = a.i18n?.productInfoTab ?? "Product Info", r.appendChild(s);
|
|
3906
3844
|
const c = document.createElement("div");
|
|
3907
|
-
c.className = "gengage-chat-product-detail-tab-panel",
|
|
3845
|
+
c.className = "gengage-chat-product-detail-tab-panel", si(c, t), i.push(c);
|
|
3908
3846
|
}
|
|
3909
3847
|
if (e) {
|
|
3910
3848
|
const s = document.createElement("button");
|
|
@@ -3920,8 +3858,8 @@ function di(t, e, a) {
|
|
|
3920
3858
|
for (const g of p) {
|
|
3921
3859
|
const h = document.createElement("tr"), m = document.createElement("td");
|
|
3922
3860
|
m.className = "gengage-chat-product-specs-key", m.textContent = g.key;
|
|
3923
|
-
const
|
|
3924
|
-
|
|
3861
|
+
const y = document.createElement("td");
|
|
3862
|
+
y.className = "gengage-chat-product-specs-value", y.textContent = g.value, h.appendChild(m), h.appendChild(y), l.appendChild(h);
|
|
3925
3863
|
}
|
|
3926
3864
|
c.appendChild(l), i.push(c);
|
|
3927
3865
|
}
|
|
@@ -3951,13 +3889,13 @@ function Ht(t) {
|
|
|
3951
3889
|
return "";
|
|
3952
3890
|
}
|
|
3953
3891
|
}
|
|
3954
|
-
function
|
|
3892
|
+
function li() {
|
|
3955
3893
|
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>';
|
|
3956
3894
|
}
|
|
3957
|
-
function
|
|
3895
|
+
function gi() {
|
|
3958
3896
|
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>';
|
|
3959
3897
|
}
|
|
3960
|
-
function
|
|
3898
|
+
function di() {
|
|
3961
3899
|
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>';
|
|
3962
3900
|
}
|
|
3963
3901
|
function Ft(t, e) {
|
|
@@ -3974,7 +3912,7 @@ function fa(t, e, a) {
|
|
|
3974
3912
|
});
|
|
3975
3913
|
return n.sort((r, i) => r.price === 1 / 0 && i.price === 1 / 0 ? 0 : r.price === 1 / 0 ? 1 : i.price === 1 / 0 ? -1 : a.direction === "desc" ? i.price - r.price : r.price - i.price), n.map((r) => r.id);
|
|
3976
3914
|
}
|
|
3977
|
-
function
|
|
3915
|
+
function pi(t, e, a, n) {
|
|
3978
3916
|
const r = fa(e, a, n), i = /* @__PURE__ */ new Map();
|
|
3979
3917
|
for (const o of Array.from(t.children)) {
|
|
3980
3918
|
const s = o.dataset.elementId;
|
|
@@ -3985,7 +3923,7 @@ function mi(t, e, a, n) {
|
|
|
3985
3923
|
s && t.appendChild(s);
|
|
3986
3924
|
}
|
|
3987
3925
|
}
|
|
3988
|
-
function
|
|
3926
|
+
function hi(t, e, a, n) {
|
|
3989
3927
|
const r = document.createElement("div");
|
|
3990
3928
|
r.className = "gengage-chat-product-grid-wrapper";
|
|
3991
3929
|
const i = ft(t), o = i.isConsulting, s = t.children ?? [], c = document.createElement("div");
|
|
@@ -3993,21 +3931,21 @@ function fi(t, e, a, n) {
|
|
|
3993
3931
|
const l = Array.isArray(t.props?.productSections) ? t.props.productSections.map((d) => ({
|
|
3994
3932
|
title: typeof d.title == "string" ? d.title : "",
|
|
3995
3933
|
children: Array.isArray(d.children) ? d.children.filter((_) => typeof _ == "string" && !!e.elements[_]) : []
|
|
3996
|
-
})).filter((d) => d.children.length > 0) : [], p = l.length > 1, g = !p && l.length === 1 && l[0]?.title ? l[0].title : "", h = n?.panelProductListHeading ?? (g || void 0), m = !o && !p && s.length > 1 && n?.onSortChange,
|
|
3934
|
+
})).filter((d) => d.children.length > 0) : [], p = l.length > 1, g = !p && l.length === 1 && l[0]?.title ? l[0].title : "", h = n?.panelProductListHeading ?? (g || void 0), m = !o && !p && s.length > 1 && n?.onSortChange, y = (d) => {
|
|
3997
3935
|
if (!n?.onToggleComparisonSku) return;
|
|
3998
3936
|
const _ = document.createElement("button");
|
|
3999
3937
|
_.className = "gengage-chat-comparison-toggle-btn gds-btn gds-btn-ghost", _.type = "button", n.comparisonSelectMode && _.classList.add("gengage-chat-comparison-toggle-btn--active"), n.isStreaming && _.classList.add("gengage-chat-comparison-toggle-btn--hidden");
|
|
4000
|
-
const
|
|
4001
|
-
|
|
3938
|
+
const x = document.createElement("span");
|
|
3939
|
+
x.className = "gengage-chat-comparison-toggle-icon", x.innerHTML = di();
|
|
4002
3940
|
const b = document.createElement("span");
|
|
4003
3941
|
b.className = "gengage-chat-comparison-toggle-label";
|
|
4004
3942
|
const A = n.i18n?.compareSelected ?? "Compare";
|
|
4005
|
-
b.textContent = A, _.setAttribute("aria-label", A), _.title = A, _.appendChild(
|
|
3943
|
+
b.textContent = A, _.setAttribute("aria-label", A), _.title = A, _.appendChild(x), _.appendChild(b), _.addEventListener("click", () => {
|
|
4006
3944
|
n.onToggleComparisonSku?.("");
|
|
4007
3945
|
}), d.appendChild(_);
|
|
4008
3946
|
}, v = (d, _ = s.length) => {
|
|
4009
|
-
const
|
|
4010
|
-
if (o || !(p ?
|
|
3947
|
+
const x = t.props?.endOfList;
|
|
3948
|
+
if (o || !(p ? x === !1 : x !== !0) || _ === 0) return;
|
|
4011
3949
|
const b = n?.i18n?.viewMoreLabel ?? "Show More", A = document.createElement("button");
|
|
4012
3950
|
A.className = "gengage-chat-product-grid-view-more", A.type = "button", A.textContent = b, A.addEventListener("click", () => {
|
|
4013
3951
|
n?.onAction({
|
|
@@ -4024,7 +3962,7 @@ function fi(t, e, a, n) {
|
|
|
4024
3962
|
const d = document.createElement("div");
|
|
4025
3963
|
d.className = "gengage-chat-product-sort-toolbar", d.setAttribute("role", "toolbar"), d.setAttribute("aria-label", n.i18n?.sortToolbarAriaLabel ?? "Sort products");
|
|
4026
3964
|
let _ = n.productSort ?? { type: "related" };
|
|
4027
|
-
const
|
|
3965
|
+
const x = [
|
|
4028
3966
|
{
|
|
4029
3967
|
label: n.i18n?.sortRelated ?? "Related",
|
|
4030
3968
|
sortState: { type: "related" },
|
|
@@ -4055,12 +3993,12 @@ function fi(t, e, a, n) {
|
|
|
4055
3993
|
const T = document.createElement("span");
|
|
4056
3994
|
T.className = "gengage-chat-product-sort-trigger-label";
|
|
4057
3995
|
const N = (B) => {
|
|
4058
|
-
const q =
|
|
3996
|
+
const q = x.find((U) => Ft(U.sortState, B)) ?? x[0];
|
|
4059
3997
|
T.textContent = q.label, E.innerHTML = Ht(q.icon), b.dataset.sortIcon = q.icon, A.setAttribute("aria-label", `${L}: ${q.label}`), A.title = q.label;
|
|
4060
3998
|
};
|
|
4061
3999
|
N(_);
|
|
4062
4000
|
const F = document.createElement("span");
|
|
4063
|
-
F.className = "gengage-chat-product-sort-trigger-chevron", F.innerHTML =
|
|
4001
|
+
F.className = "gengage-chat-product-sort-trigger-chevron", F.innerHTML = li(), A.appendChild(E), A.appendChild(T), A.appendChild(F);
|
|
4064
4002
|
const X = document.createElement("div");
|
|
4065
4003
|
X.className = "gengage-chat-product-sort-menu gds-menu", X.hidden = !0, X.setAttribute("role", "listbox"), X.setAttribute("aria-label", L);
|
|
4066
4004
|
const C = d.ownerDocument;
|
|
@@ -4071,7 +4009,7 @@ function fi(t, e, a, n) {
|
|
|
4071
4009
|
b.classList.contains("gengage-chat-product-sort-dropdown--open") && (b.contains(B.target) || D());
|
|
4072
4010
|
}, k = (B) => {
|
|
4073
4011
|
B.key === "Escape" && (B.preventDefault(), D());
|
|
4074
|
-
},
|
|
4012
|
+
}, O = () => {
|
|
4075
4013
|
X.hidden = !1, b.classList.add("gengage-chat-product-sort-dropdown--open"), A.setAttribute("aria-expanded", "true"), R = new AbortController();
|
|
4076
4014
|
const { signal: B } = R;
|
|
4077
4015
|
C.addEventListener("click", z, { signal: B }), C.addEventListener("keydown", k, {
|
|
@@ -4080,13 +4018,13 @@ function fi(t, e, a, n) {
|
|
|
4080
4018
|
});
|
|
4081
4019
|
};
|
|
4082
4020
|
A.addEventListener("click", (B) => {
|
|
4083
|
-
B.stopPropagation(), b.classList.contains("gengage-chat-product-sort-dropdown--open") ? D() :
|
|
4021
|
+
B.stopPropagation(), b.classList.contains("gengage-chat-product-sort-dropdown--open") ? D() : O();
|
|
4084
4022
|
});
|
|
4085
|
-
for (const B of
|
|
4023
|
+
for (const B of x) {
|
|
4086
4024
|
const q = document.createElement("button");
|
|
4087
4025
|
q.type = "button", q.className = "gengage-chat-product-sort-option gds-menu-option", q.setAttribute("role", "option");
|
|
4088
|
-
const
|
|
4089
|
-
q.setAttribute("aria-selected",
|
|
4026
|
+
const U = Ft(_, B.sortState);
|
|
4027
|
+
q.setAttribute("aria-selected", U ? "true" : "false"), U && q.classList.add("gengage-chat-product-sort-option--active", "gds-menu-option-active");
|
|
4090
4028
|
const ne = B.sortState.type === "related" ? "related" : `price-${B.sortState.direction ?? ""}`;
|
|
4091
4029
|
q.dataset.sortKey = ne;
|
|
4092
4030
|
const W = document.createElement("span");
|
|
@@ -4094,21 +4032,21 @@ function fi(t, e, a, n) {
|
|
|
4094
4032
|
const K = document.createElement("span");
|
|
4095
4033
|
K.className = "gengage-chat-product-sort-option-label", K.textContent = B.label;
|
|
4096
4034
|
const f = document.createElement("span");
|
|
4097
|
-
f.className = "gengage-chat-product-sort-option-check", f.innerHTML =
|
|
4098
|
-
_ = B.sortState, n.onSortChange?.(B.sortState),
|
|
4035
|
+
f.className = "gengage-chat-product-sort-option-check", f.innerHTML = gi(), f.setAttribute("aria-hidden", "true"), U || f.classList.add("gengage-chat-product-sort-option-check--hidden"), q.appendChild(W), q.appendChild(K), q.appendChild(f), q.addEventListener("click", () => {
|
|
4036
|
+
_ = B.sortState, n.onSortChange?.(B.sortState), pi(c, s, e, B.sortState), X.querySelectorAll(".gengage-chat-product-sort-option").forEach((S) => {
|
|
4099
4037
|
const P = S, $ = P.dataset.sortKey === ne;
|
|
4100
4038
|
P.classList.toggle("gengage-chat-product-sort-option--active", $), P.classList.toggle("gds-menu-option-active", $), P.setAttribute("aria-selected", $ ? "true" : "false"), P.querySelector(".gengage-chat-product-sort-option-check")?.classList.toggle("gengage-chat-product-sort-option-check--hidden", !$);
|
|
4101
4039
|
}), N(B.sortState), D();
|
|
4102
4040
|
}), X.appendChild(q);
|
|
4103
4041
|
}
|
|
4104
|
-
if (b.appendChild(A), b.appendChild(X), d.appendChild(b),
|
|
4042
|
+
if (b.appendChild(A), b.appendChild(X), d.appendChild(b), y(d), h) {
|
|
4105
4043
|
d.classList.add("gengage-chat-product-sort-toolbar--inline");
|
|
4106
4044
|
const B = document.createElement("div");
|
|
4107
4045
|
B.className = "gengage-chat-product-grid-head";
|
|
4108
4046
|
const q = document.createElement("span");
|
|
4109
4047
|
q.className = "gengage-chat-product-grid-head-title", q.textContent = h, B.appendChild(q);
|
|
4110
|
-
const
|
|
4111
|
-
|
|
4048
|
+
const U = document.createElement("div");
|
|
4049
|
+
U.className = "gengage-chat-product-grid-head-actions", U.appendChild(d), B.appendChild(U), r.appendChild(B);
|
|
4112
4050
|
} else r.appendChild(d);
|
|
4113
4051
|
} else if (h) {
|
|
4114
4052
|
const d = document.createElement("div");
|
|
@@ -4119,15 +4057,15 @@ function fi(t, e, a, n) {
|
|
|
4119
4057
|
if (p && !o) {
|
|
4120
4058
|
if (r.classList.add("gengage-chat-product-grid-wrapper--grouped"), n?.onToggleComparisonSku) {
|
|
4121
4059
|
const b = document.createElement("div");
|
|
4122
|
-
b.className = "gengage-chat-product-sort-toolbar gengage-chat-product-sort-toolbar--compare-only", b.setAttribute("role", "toolbar"), b.setAttribute("aria-label", n.i18n?.compareSelected ?? "Compare"),
|
|
4060
|
+
b.className = "gengage-chat-product-sort-toolbar gengage-chat-product-sort-toolbar--compare-only", b.setAttribute("role", "toolbar"), b.setAttribute("aria-label", n.i18n?.compareSelected ?? "Compare"), y(b), r.appendChild(b);
|
|
4123
4061
|
}
|
|
4124
4062
|
const d = document.createElement("div");
|
|
4125
4063
|
d.className = "gengage-chat-product-grid-sections", d.setAttribute("role", "list");
|
|
4126
4064
|
const _ = t.props?.rankingState;
|
|
4127
|
-
let
|
|
4065
|
+
let x = 0;
|
|
4128
4066
|
for (const b of l) {
|
|
4129
|
-
|
|
4130
|
-
const A =
|
|
4067
|
+
x += b.children.length;
|
|
4068
|
+
const A = ui(b.children.length, n), L = document.createElement("section");
|
|
4131
4069
|
L.className = "gengage-chat-product-grid-section", L.setAttribute("role", "listitem");
|
|
4132
4070
|
const E = document.createElement("div");
|
|
4133
4071
|
if (E.className = "gengage-chat-product-grid-section-head", b.title) {
|
|
@@ -4144,23 +4082,23 @@ function fi(t, e, a, n) {
|
|
|
4144
4082
|
}
|
|
4145
4083
|
(n?.isMobile ?? Ve()) && N.classList.add("gengage-chat-product-grid--mobile"), _ === "pending" && (N.classList.add("gengage-chat-product-grid--pending"), N.inert = !0, N.setAttribute("aria-busy", "true")), L.appendChild(N), d.appendChild(L);
|
|
4146
4084
|
}
|
|
4147
|
-
return r.appendChild(d), v(r,
|
|
4085
|
+
return r.appendChild(d), v(r, x), u(), r;
|
|
4148
4086
|
}
|
|
4149
|
-
if (o)
|
|
4087
|
+
if (o) _i(r, c, i, n);
|
|
4150
4088
|
else {
|
|
4151
4089
|
const d = fa(s, e, n?.productSort);
|
|
4152
4090
|
for (const _ of d) {
|
|
4153
4091
|
if (!e.elements[_]) continue;
|
|
4154
|
-
const
|
|
4155
|
-
|
|
4092
|
+
const x = a(_);
|
|
4093
|
+
x && (x.dataset.elementId = _, c.appendChild(x));
|
|
4156
4094
|
}
|
|
4157
4095
|
}
|
|
4158
4096
|
return (n?.isMobile ?? Ve()) && c.classList.add("gengage-chat-product-grid--mobile"), t.props?.rankingState === "pending" && (c.classList.add("gengage-chat-product-grid--pending"), c.inert = !0, c.setAttribute("aria-busy", "true")), r.appendChild(c), v(r), u(), r;
|
|
4159
4097
|
}
|
|
4160
|
-
function
|
|
4098
|
+
function ui(t, e) {
|
|
4161
4099
|
return (e?.i18n?.productGridSectionCountLabel ?? "{count} product(s)").replace(/\{count\}/g, String(t));
|
|
4162
4100
|
}
|
|
4163
|
-
function
|
|
4101
|
+
function mi(t, e, a) {
|
|
4164
4102
|
const n = (r) => {
|
|
4165
4103
|
const i = r?.url;
|
|
4166
4104
|
return typeof i == "string" ? i.trim() : "";
|
|
@@ -4171,7 +4109,7 @@ function vi(t, e, a) {
|
|
|
4171
4109
|
}
|
|
4172
4110
|
return n(a.find((r) => r.sku === t));
|
|
4173
4111
|
}
|
|
4174
|
-
function
|
|
4112
|
+
function fi(t, e) {
|
|
4175
4113
|
const a = t.props ?? {}, n = a.keyDifferencesHtml, r = a.recommended, i = a.products ?? [], o = a.attributes ?? [], s = a.highlights ?? [], c = a.specialCases, l = a.recommendedText, p = a.winnerHits, g = a.productActions;
|
|
4176
4114
|
if (!r) return document.createElement("div");
|
|
4177
4115
|
const h = {
|
|
@@ -4181,10 +4119,10 @@ function xi(t, e) {
|
|
|
4181
4119
|
highlights: s,
|
|
4182
4120
|
specialCases: c,
|
|
4183
4121
|
locale: e.locale,
|
|
4184
|
-
onProductClick: ({ sku:
|
|
4185
|
-
const u =
|
|
4122
|
+
onProductClick: ({ sku: y, name: v }) => {
|
|
4123
|
+
const u = mi(y, r, i);
|
|
4186
4124
|
e.onProductClick?.({
|
|
4187
|
-
sku:
|
|
4125
|
+
sku: y,
|
|
4188
4126
|
url: u,
|
|
4189
4127
|
...v !== void 0 && v !== "" ? { name: v } : {}
|
|
4190
4128
|
});
|
|
@@ -4200,10 +4138,10 @@ function xi(t, e) {
|
|
|
4200
4138
|
specialCasesLabel: e.i18n.specialCasesLabel,
|
|
4201
4139
|
addToCartButton: e.i18n.addToCartButton
|
|
4202
4140
|
});
|
|
4203
|
-
const m =
|
|
4141
|
+
const m = Xn(h);
|
|
4204
4142
|
return (e.isMobile ?? Ve()) && m.classList.add("gengage-chat-comparison--mobile"), m;
|
|
4205
4143
|
}
|
|
4206
|
-
function
|
|
4144
|
+
function bi(t) {
|
|
4207
4145
|
const e = document.createElement("hr");
|
|
4208
4146
|
e.className = "gengage-chat-divider";
|
|
4209
4147
|
const a = t.props?.label;
|
|
@@ -4234,7 +4172,7 @@ function ut(t) {
|
|
|
4234
4172
|
const e = t.findIndex((a) => tt(a) !== "loading");
|
|
4235
4173
|
return e < 0 ? 0 : e;
|
|
4236
4174
|
}
|
|
4237
|
-
function
|
|
4175
|
+
function vi(t) {
|
|
4238
4176
|
if (typeof t != "string") return;
|
|
4239
4177
|
const e = t.trim();
|
|
4240
4178
|
if (!e) return;
|
|
@@ -4288,16 +4226,16 @@ function vt(t, e) {
|
|
|
4288
4226
|
const d = typeof u?.sku == "string" ? u.sku : void 0;
|
|
4289
4227
|
d && p.set(d, u);
|
|
4290
4228
|
}
|
|
4291
|
-
const g = (u, d, _,
|
|
4229
|
+
const g = (u, d, _, x) => {
|
|
4292
4230
|
if (d.length === 0) return;
|
|
4293
4231
|
const b = document.createElement("section");
|
|
4294
4232
|
b.className = "gengage-chat-consulting-group";
|
|
4295
4233
|
const A = document.createElement("div");
|
|
4296
4234
|
A.className = "gengage-chat-consulting-group-header";
|
|
4297
4235
|
const L = document.createElement("h4");
|
|
4298
|
-
if (L.className = "gengage-chat-consulting-group-label", L.textContent = `${u} (${d.length})`, A.appendChild(L), typeof
|
|
4236
|
+
if (L.className = "gengage-chat-consulting-group-label", L.textContent = `${u} (${d.length})`, A.appendChild(L), typeof x == "string" && x.trim().length > 0) {
|
|
4299
4237
|
const T = document.createElement("p");
|
|
4300
|
-
T.className = "gengage-chat-consulting-group-reason", T.textContent =
|
|
4238
|
+
T.className = "gengage-chat-consulting-group-reason", T.textContent = x, A.appendChild(T);
|
|
4301
4239
|
}
|
|
4302
4240
|
b.appendChild(A);
|
|
4303
4241
|
const E = document.createElement("div");
|
|
@@ -4315,20 +4253,20 @@ function vt(t, e) {
|
|
|
4315
4253
|
for (const u of l) {
|
|
4316
4254
|
const d = (Array.isArray(u.skus) ? u.skus.filter((b) => typeof b == "string" && b.trim().length > 0) : []).map((b) => (h.add(b), p.get(b))).filter((b) => !!b);
|
|
4317
4255
|
if (d.length === 0) continue;
|
|
4318
|
-
const _ = typeof u.label == "string" && u.label.trim().length > 0 ? u.label : i.consultingFallbackGroupLabel,
|
|
4256
|
+
const _ = typeof u.label == "string" && u.label.trim().length > 0 ? u.label : i.consultingFallbackGroupLabel, x = typeof u.reason == "string" ? u.reason : void 0;
|
|
4319
4257
|
m.push({
|
|
4320
4258
|
labelText: _,
|
|
4321
4259
|
products: d,
|
|
4322
|
-
...
|
|
4260
|
+
...x !== void 0 ? { reasonText: x } : {}
|
|
4323
4261
|
});
|
|
4324
4262
|
}
|
|
4325
|
-
const
|
|
4263
|
+
const y = c.filter((u) => {
|
|
4326
4264
|
const d = typeof u?.sku == "string" ? u.sku : "";
|
|
4327
4265
|
return d.length > 0 && !h.has(d);
|
|
4328
4266
|
});
|
|
4329
|
-
|
|
4267
|
+
y.length > 0 && m.push({
|
|
4330
4268
|
labelText: i.consultingOtherCompatibleProductsLabel,
|
|
4331
|
-
products:
|
|
4269
|
+
products: y
|
|
4332
4270
|
});
|
|
4333
4271
|
const v = m.length === 1;
|
|
4334
4272
|
for (const u of m) g(u.labelText, u.products, v, u.reasonText);
|
|
@@ -4348,7 +4286,7 @@ function mt(t, e, a, n) {
|
|
|
4348
4286
|
t.classList.remove("gengage-chat-consulting-style-btn--loading", "gengage-chat-consulting-style-btn--muted"), r === "loading" ? t.classList.add("gengage-chat-consulting-style-btn--loading") : r !== "ready" && t.classList.add("gengage-chat-consulting-style-btn--muted"), t.setAttribute("aria-label", We(e, a + 1, n));
|
|
4349
4287
|
let s = t.querySelector(".gengage-chat-consulting-style-media");
|
|
4350
4288
|
s ? s.innerHTML = "" : (s = document.createElement("div"), s.className = "gengage-chat-consulting-style-media", t.appendChild(s));
|
|
4351
|
-
const c =
|
|
4289
|
+
const c = vi(e.image_url);
|
|
4352
4290
|
if (c && he(c)) {
|
|
4353
4291
|
const p = document.createElement("img");
|
|
4354
4292
|
p.className = "gengage-chat-consulting-style-image", p.draggable = !1, de(p, "src", c), p.alt = We(e, a + 1, n), p.loading = "lazy", xe(p), s.appendChild(p);
|
|
@@ -4367,7 +4305,7 @@ function xa(t, e, a, n) {
|
|
|
4367
4305
|
}), vt(r, n));
|
|
4368
4306
|
});
|
|
4369
4307
|
}
|
|
4370
|
-
function
|
|
4308
|
+
function xi(t, e, a, n) {
|
|
4371
4309
|
const r = ba(n), i = ut(a), o = document.createElement("div");
|
|
4372
4310
|
o.className = "gengage-chat-consulting-style-picker";
|
|
4373
4311
|
const s = {
|
|
@@ -4386,8 +4324,8 @@ function _i(t, e, a, n) {
|
|
|
4386
4324
|
h.type = "button", h.className = "gengage-chat-consulting-style-btn gds-card", g === i && h.classList.add("gengage-chat-consulting-style-btn--active"), mt(h, p, g, r), xa(h, o, l, g), l.appendChild(h);
|
|
4387
4325
|
}), t.appendChild(o), vt(s, i);
|
|
4388
4326
|
}
|
|
4389
|
-
function
|
|
4390
|
-
const n = t.querySelector(".gengage-chat-consulting-style-picker"), r =
|
|
4327
|
+
function yi(t, e, a) {
|
|
4328
|
+
const n = t.querySelector(".gengage-chat-consulting-style-picker"), r = wi(t);
|
|
4391
4329
|
if (!n || !r) return !1;
|
|
4392
4330
|
const i = n.querySelector(".gengage-chat-consulting-style-grid");
|
|
4393
4331
|
if (!i) return !1;
|
|
@@ -4414,15 +4352,15 @@ function ki(t, e, a) {
|
|
|
4414
4352
|
if (g.length === 0) return !1;
|
|
4415
4353
|
for (let h = 0; h < e.length; h += 1) {
|
|
4416
4354
|
const m = e[h];
|
|
4417
|
-
let
|
|
4418
|
-
|
|
4355
|
+
let y = g[h];
|
|
4356
|
+
y ? mt(y, m, h, o) : (y = document.createElement("button"), y.type = "button", y.className = "gengage-chat-consulting-style-btn gds-card", mt(y, m, h, o), xa(y, n, i, h), i.appendChild(y), g[h] = y);
|
|
4419
4357
|
}
|
|
4420
4358
|
for (; i.querySelectorAll(".gengage-chat-consulting-style-btn").length > e.length; ) i.lastElementChild?.remove();
|
|
4421
4359
|
return i.querySelectorAll(".gengage-chat-consulting-style-btn").forEach((h, m) => {
|
|
4422
4360
|
h.classList.toggle("gengage-chat-consulting-style-btn--active", m === l.selectedIndex);
|
|
4423
4361
|
}), vt(l, l.selectedIndex), !0;
|
|
4424
4362
|
}
|
|
4425
|
-
function
|
|
4363
|
+
function wi(t) {
|
|
4426
4364
|
const e = [...t.children];
|
|
4427
4365
|
for (let a = e.length - 1; a >= 0; a -= 1) {
|
|
4428
4366
|
const n = e[a];
|
|
@@ -4438,16 +4376,16 @@ function ft(t) {
|
|
|
4438
4376
|
styleVariations: a
|
|
4439
4377
|
};
|
|
4440
4378
|
}
|
|
4441
|
-
function
|
|
4442
|
-
|
|
4379
|
+
function _i(t, e, a, n) {
|
|
4380
|
+
xi(t, e, a.styleVariations, n);
|
|
4443
4381
|
}
|
|
4444
|
-
function
|
|
4382
|
+
function ki(t) {
|
|
4445
4383
|
return !t.isConsulting || t.styleVariations.length === 0 ? !0 : t.styleVariations.some((e) => (typeof e.status == "string" ? e.status : "ready") !== "loading");
|
|
4446
4384
|
}
|
|
4447
|
-
function
|
|
4448
|
-
return !e.isConsulting || !e.source ? !1 :
|
|
4385
|
+
function Ci(t, e, a) {
|
|
4386
|
+
return !e.isConsulting || !e.source ? !1 : yi(t, e.styleVariations, a);
|
|
4449
4387
|
}
|
|
4450
|
-
var
|
|
4388
|
+
var Si = `<svg width="28" height="28" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
4451
4389
|
<rect x="3" y="7" width="18" height="13" rx="3" fill="currentColor" opacity="0.15"/>
|
|
4452
4390
|
<rect x="3" y="7" width="18" height="13" rx="3" stroke="currentColor" stroke-width="1.5"/>
|
|
4453
4391
|
<circle cx="9" cy="13" r="1.5" fill="currentColor"/>
|
|
@@ -4458,7 +4396,7 @@ var Li = `<svg width="28" height="28" viewBox="0 0 24 24" fill="none" xmlns="htt
|
|
|
4458
4396
|
<path d="M1 12V14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
|
|
4459
4397
|
<path d="M23 12V14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
|
|
4460
4398
|
</svg>`;
|
|
4461
|
-
function
|
|
4399
|
+
function Ei(t) {
|
|
4462
4400
|
const e = document.createElement("div");
|
|
4463
4401
|
e.className = "gengage-chat-launcher-container", e.dataset.gengagePart = "chat-launcher-container";
|
|
4464
4402
|
const a = document.createElement("div");
|
|
@@ -4473,7 +4411,7 @@ function Ti(t) {
|
|
|
4473
4411
|
o.src = t.mobileImageUrl, o.alt = "", o.draggable = !1, o.className = "gengage-chat-launcher-img--mobile", n.appendChild(i), n.appendChild(o);
|
|
4474
4412
|
} else n.appendChild(i);
|
|
4475
4413
|
} else
|
|
4476
|
-
n.className = "gengage-chat-launcher", n.innerHTML = t.svgMarkup ??
|
|
4414
|
+
n.className = "gengage-chat-launcher", n.innerHTML = t.svgMarkup ?? Si;
|
|
4477
4415
|
if (n.dataset.gengagePart = "chat-launcher-button", t.tooltip !== void 0) {
|
|
4478
4416
|
const i = document.createElement("span");
|
|
4479
4417
|
i.className = "gengage-chat-launcher-tooltip", i.dataset.gengagePart = "chat-launcher-tooltip", i.textContent = t.tooltip, n.appendChild(i);
|
|
@@ -4487,8 +4425,8 @@ function Ti(t) {
|
|
|
4487
4425
|
contentAreaBottom: r
|
|
4488
4426
|
};
|
|
4489
4427
|
}
|
|
4490
|
-
var
|
|
4491
|
-
function
|
|
4428
|
+
var Ut = "gengage-floating-launcher-style";
|
|
4429
|
+
function Pi(t) {
|
|
4492
4430
|
return `
|
|
4493
4431
|
@property --gengage-fl-ring-angle {
|
|
4494
4432
|
syntax: '<angle>';
|
|
@@ -4715,7 +4653,7 @@ function Ai(t) {
|
|
|
4715
4653
|
}
|
|
4716
4654
|
`.trim();
|
|
4717
4655
|
}
|
|
4718
|
-
function
|
|
4656
|
+
function Li() {
|
|
4719
4657
|
return `
|
|
4720
4658
|
<div class="gengage-fl-inner">
|
|
4721
4659
|
<div class="gengage-fl-ring" aria-hidden="true"></div>
|
|
@@ -4777,15 +4715,15 @@ function Ii() {
|
|
|
4777
4715
|
</button>
|
|
4778
4716
|
</div>`.trim();
|
|
4779
4717
|
}
|
|
4780
|
-
function
|
|
4718
|
+
function Ti(t, e, a) {
|
|
4781
4719
|
const { primaryColor: n = "#6366f1", backgroundColor: r = "#ffffff", textColor: i = "#111827", placeholderColor: o = "#9ca3af", iconColor: s = "#6b7280", borderColor: c = "#e5e7eb", borderRadius: l = "999px", height: p = "56px", maxWidth: g = "680px", fontFamily: h = "inherit", placeholders: m = [
|
|
4782
4720
|
"Ürün ara",
|
|
4783
4721
|
"Karşılaştır",
|
|
4784
4722
|
"Soru sor"
|
|
4785
|
-
], placeholderInterval:
|
|
4786
|
-
if (!a.getElementById(
|
|
4723
|
+
], placeholderInterval: y = 2e3, voiceLang: v = "tr-TR", showBorderAnimation: u = !0, sendAriaLabel: d = "Gönder", micAriaLabel: _ = "Sesli giriş", cancelAriaLabel: x = "Ses kaydını durdur", openChatAriaLabel: b = "Chat'i aç" } = t;
|
|
4724
|
+
if (!a.getElementById(Ut)) {
|
|
4787
4725
|
const V = document.createElement("style");
|
|
4788
|
-
V.id =
|
|
4726
|
+
V.id = Ut, V.textContent = Pi({
|
|
4789
4727
|
primaryColor: n,
|
|
4790
4728
|
backgroundColor: r,
|
|
4791
4729
|
textColor: i,
|
|
@@ -4799,10 +4737,10 @@ function Mi(t, e, a) {
|
|
|
4799
4737
|
}), a.appendChild(V);
|
|
4800
4738
|
}
|
|
4801
4739
|
const A = document.createElement("div");
|
|
4802
|
-
A.className = "gengage-fl", A.dataset.gengagePart = "floating-launcher", A.innerHTML =
|
|
4740
|
+
A.className = "gengage-fl", A.dataset.gengagePart = "floating-launcher", A.innerHTML = Li();
|
|
4803
4741
|
const L = A.querySelector(".gengage-fl-input"), E = A.querySelector(".gengage-fl-transcript"), T = A.querySelector(".gengage-fl-transcript-final"), N = A.querySelector(".gengage-fl-transcript-interim"), F = A.querySelector(".gengage-fl-btn-send"), X = A.querySelector(".gengage-fl-btn-mic"), C = A.querySelector(".gengage-fl-btn-open-chat"), R = A.querySelector(".gengage-fl-cancel"), D = A.querySelector(".gengage-fl-wave"), z = A.querySelector(".gengage-fl-ring");
|
|
4804
|
-
L.placeholder = m[0] ?? "", F.setAttribute("aria-label", d), X.setAttribute("aria-label", _), R.setAttribute("aria-label",
|
|
4805
|
-
let k = !1,
|
|
4742
|
+
L.placeholder = m[0] ?? "", F.setAttribute("aria-label", d), X.setAttribute("aria-label", _), R.setAttribute("aria-label", x), C.setAttribute("aria-label", b);
|
|
4743
|
+
let k = !1, O = !1, B = "", q = !1, U = null, ne = 0, W = null, K = null, f = null, S = null, P = null, $ = 0;
|
|
4806
4744
|
function I() {
|
|
4807
4745
|
const V = L.value.trim().length > 0;
|
|
4808
4746
|
if (X.classList.toggle("is-recording", k), k) {
|
|
@@ -4812,16 +4750,16 @@ function Mi(t, e, a) {
|
|
|
4812
4750
|
F.style.display = V ? "flex" : "none", X.style.display = V ? "none" : "flex", R.style.display = "none", C.style.display = !V && q ? "flex" : "none";
|
|
4813
4751
|
}
|
|
4814
4752
|
function j() {
|
|
4815
|
-
ne = (ne + 1) % m.length, L.placeholder = m[ne] ?? "", W = setTimeout(j,
|
|
4753
|
+
ne = (ne + 1) % m.length, L.placeholder = m[ne] ?? "", W = setTimeout(j, y);
|
|
4816
4754
|
}
|
|
4817
4755
|
function Q() {
|
|
4818
|
-
W !== null || m.length <= 1 || (W = setTimeout(j,
|
|
4756
|
+
W !== null || m.length <= 1 || (W = setTimeout(j, y));
|
|
4819
4757
|
}
|
|
4820
4758
|
function te() {
|
|
4821
4759
|
W !== null && (clearTimeout(W), W = null);
|
|
4822
4760
|
}
|
|
4823
4761
|
function se() {
|
|
4824
|
-
k && (k = !1, w(),
|
|
4762
|
+
k && (k = !1, w(), O = !1, oe(), u && H(), B = "", L.style.display = "", E.style.display = "none", T.textContent = "", N.textContent = "");
|
|
4825
4763
|
const V = L.value.trim();
|
|
4826
4764
|
V && (e.onSend(V), q || (q = !0)), L.value = "", B = "", I();
|
|
4827
4765
|
}
|
|
@@ -4831,7 +4769,7 @@ function Mi(t, e, a) {
|
|
|
4831
4769
|
console.warn("[FloatingLauncher] SpeechRecognition not supported.");
|
|
4832
4770
|
return;
|
|
4833
4771
|
}
|
|
4834
|
-
|
|
4772
|
+
U || (U = new G(), U.continuous = !0, U.interimResults = !0, U.lang = v), k = !0, O = !0, B = "", L.value = "", L.style.display = "none", E.style.display = "flex", T.textContent = "", N.textContent = "", I(), ce(), u && M(), U.onresult = (J) => {
|
|
4835
4773
|
if (!k) return;
|
|
4836
4774
|
let ie = "", Z = "";
|
|
4837
4775
|
for (let le = J.resultIndex; le < J.results.length; le++) {
|
|
@@ -4841,21 +4779,21 @@ function Mi(t, e, a) {
|
|
|
4841
4779
|
Ae.isFinal ? Z += Fe : ie += Fe;
|
|
4842
4780
|
}
|
|
4843
4781
|
B += Z, T.textContent = B, N.textContent = ie, L.value = `${B} ${ie}`.trim(), I();
|
|
4844
|
-
},
|
|
4782
|
+
}, U.onend = () => Y(), U.onerror = () => Y();
|
|
4845
4783
|
try {
|
|
4846
|
-
|
|
4784
|
+
U.start();
|
|
4847
4785
|
} catch {
|
|
4848
4786
|
Y();
|
|
4849
4787
|
}
|
|
4850
4788
|
}
|
|
4851
4789
|
function w() {
|
|
4852
4790
|
try {
|
|
4853
|
-
|
|
4791
|
+
U?.stop();
|
|
4854
4792
|
} catch {
|
|
4855
4793
|
}
|
|
4856
4794
|
}
|
|
4857
4795
|
function Y() {
|
|
4858
|
-
|
|
4796
|
+
O && (O = !1, k = !1, oe(), u && H(), B.trim() && (L.value = B.trim()), L.style.display = "", E.style.display = "none", T.textContent = "", N.textContent = "", I());
|
|
4859
4797
|
}
|
|
4860
4798
|
async function ce() {
|
|
4861
4799
|
const V = ++$, G = Array.from(D.querySelectorAll("span"));
|
|
@@ -4906,7 +4844,7 @@ function Mi(t, e, a) {
|
|
|
4906
4844
|
F.addEventListener("click", se), X.addEventListener("click", (V) => {
|
|
4907
4845
|
V.preventDefault(), V.stopPropagation(), k ? w() : re();
|
|
4908
4846
|
}), R.addEventListener("click", () => {
|
|
4909
|
-
k && (k = !1, w(),
|
|
4847
|
+
k && (k = !1, w(), O = !1, oe(), u && H(), B = "", L.style.display = "", E.style.display = "none", T.textContent = "", N.textContent = "", I());
|
|
4910
4848
|
}), C.addEventListener("click", (V) => {
|
|
4911
4849
|
V.preventDefault(), V.stopPropagation(), e.onOpenChat();
|
|
4912
4850
|
}), L.addEventListener("input", I), L.addEventListener("keydown", (V) => {
|
|
@@ -4916,7 +4854,7 @@ function Mi(t, e, a) {
|
|
|
4916
4854
|
q = !0, I();
|
|
4917
4855
|
}
|
|
4918
4856
|
function pe() {
|
|
4919
|
-
te(), oe(), H(), k && (k = !1, w()),
|
|
4857
|
+
te(), oe(), H(), k && (k = !1, w()), U && (U.onresult = null, U.onend = null, U.onerror = null, U = null);
|
|
4920
4858
|
}
|
|
4921
4859
|
return {
|
|
4922
4860
|
container: A,
|
|
@@ -4924,7 +4862,7 @@ function Mi(t, e, a) {
|
|
|
4924
4862
|
destroy: pe
|
|
4925
4863
|
};
|
|
4926
4864
|
}
|
|
4927
|
-
var
|
|
4865
|
+
var Ai = "gengage-inline-launcher-style", Ot = "gengage-inline-launcher-hide-floating", fe = "gengage-inline-launcher", Ii = "gengage-inline-launcher", je = "data-gengage-inline-sibling", rt = "data-gengage-inline-sibling-restore-index", Mi = '<svg viewBox="0 0 20 20" fill="none" aria-hidden="true"><path d="M8.85 2.4c.23 0 .43.16.48.39l.9 3.77a3.8 3.8 0 0 0 2.8 2.8l3.77.9a.5.5 0 0 1 0 .98l-3.77.9a3.8 3.8 0 0 0-2.8 2.8l-.9 3.77a.5.5 0 0 1-.98 0l-.9-3.77a3.8 3.8 0 0 0-2.8-2.8l-3.77-.9a.5.5 0 0 1 0-.98l3.77-.9a3.8 3.8 0 0 0 2.8-2.8l.9-3.77c.05-.23.25-.39.48-.39Z" fill="currentColor"/><path d="M15.95 1.1c.12 0 .23.08.26.2l.32 1.34c.16.68.7 1.21 1.37 1.37l1.34.32a.27.27 0 0 1 0 .53l-1.34.32a1.87 1.87 0 0 0-1.37 1.37l-.32 1.34a.27.27 0 0 1-.53 0l-.32-1.34A1.87 1.87 0 0 0 14 5.18l-1.34-.32a.27.27 0 0 1 0-.53L14 4a1.87 1.87 0 0 0 1.37-1.37l.32-1.34c.03-.12.14-.2.26-.2Z" fill="currentColor" opacity=".72"/></svg>', ge = {
|
|
4928
4866
|
rowGap: "14px",
|
|
4929
4867
|
buttonHeight: "46px",
|
|
4930
4868
|
buttonPadding: "0 14px 0 10px",
|
|
@@ -4948,7 +4886,7 @@ var Ni = "gengage-inline-launcher-style", Ut = "gengage-inline-launcher-hide-flo
|
|
|
4948
4886
|
hideLogo: !1
|
|
4949
4887
|
}
|
|
4950
4888
|
};
|
|
4951
|
-
function
|
|
4889
|
+
function Ni(t) {
|
|
4952
4890
|
const e = t?.mobile;
|
|
4953
4891
|
return {
|
|
4954
4892
|
rowGap: t?.rowGap ?? ge.rowGap,
|
|
@@ -4975,7 +4913,7 @@ function Ri(t) {
|
|
|
4975
4913
|
}
|
|
4976
4914
|
};
|
|
4977
4915
|
}
|
|
4978
|
-
function
|
|
4916
|
+
function Bi(t) {
|
|
4979
4917
|
const e = `.${t.rowClassName}`, a = `#${CSS.escape(t.buttonId)}`, n = `.${fe}-icon`, r = `.${fe}-copy`, i = `.${fe}-title`, o = `.${fe}-spark`, s = `@media (max-width: ${t.compactBelowWidth - 0.02}px)`, { sizes: c } = t, l = c.mobile.hideTitle ? "display:none;" : "display:flex;flex:0 1 auto;min-width:0;", p = c.mobile.hideSpark ? "display:none;" : "display:inline-flex;", g = c.mobile.hideLogo ? "display:none !important;width:0 !important;height:0 !important;flex:0 0 0 !important;overflow:hidden !important;" : "display:inline-flex;";
|
|
4980
4918
|
return `
|
|
4981
4919
|
${e}{
|
|
@@ -5104,13 +5042,13 @@ ${s}{
|
|
|
5104
5042
|
}
|
|
5105
5043
|
`.trim();
|
|
5106
5044
|
}
|
|
5107
|
-
function
|
|
5045
|
+
function zi(t) {
|
|
5108
5046
|
return new Promise((e) => window.setTimeout(e, t));
|
|
5109
5047
|
}
|
|
5110
|
-
function
|
|
5111
|
-
const { hostSelector: n, rowClassName: r = "gengage-inline-launcher-row", siblingSelector: i, siblingPlacement: o = "before", rowPlacement: s = "end", title: c = "Ask", iconUrl: l, primaryColor: p = "#6366f1", textColor: g = "#222222", fontFamily: h = "inherit", borderRadius: m = "3px", showSparkIcon:
|
|
5048
|
+
function Ri(t, e, a) {
|
|
5049
|
+
const { hostSelector: n, rowClassName: r = "gengage-inline-launcher-row", siblingSelector: i, siblingPlacement: o = "before", rowPlacement: s = "end", title: c = "Ask", iconUrl: l, primaryColor: p = "#6366f1", textColor: g = "#222222", fontFamily: h = "inherit", borderRadius: m = "3px", showSparkIcon: y = !0, desktopMinWidth: v = 0, enableOnMobile: u = !1, disabledPageTypes: d = ["pdp"], hideFloatingLauncher: _ = !0, mountPollFrames: x = 90, debounceMs: b = 90, buttonId: A = Ii } = t, L = t.ariaLabel ?? c, E = t.siblingRestoreParentSelector ?? n, T = u && v > 0 ? v : 576, N = Ni(t.size), F = `${Ai}-${A}`;
|
|
5112
5050
|
let X = !1, C = !1, R = null, D = null, z = null, k = null;
|
|
5113
|
-
const
|
|
5051
|
+
const O = () => {
|
|
5114
5052
|
if (u && v > 0 && window.innerWidth < v && t.mobileHost && t.mobileHost) {
|
|
5115
5053
|
const M = t.mobileHost;
|
|
5116
5054
|
return {
|
|
@@ -5135,7 +5073,7 @@ function Di(t, e, a) {
|
|
|
5135
5073
|
].join("|"), q = () => {
|
|
5136
5074
|
if (document.getElementById(F)) return;
|
|
5137
5075
|
const M = document.createElement("style");
|
|
5138
|
-
M.id = F, M.textContent =
|
|
5076
|
+
M.id = F, M.textContent = Bi({
|
|
5139
5077
|
primaryColor: p,
|
|
5140
5078
|
textColor: g,
|
|
5141
5079
|
fontFamily: h,
|
|
@@ -5145,16 +5083,16 @@ function Di(t, e, a) {
|
|
|
5145
5083
|
buttonId: A,
|
|
5146
5084
|
sizes: N
|
|
5147
5085
|
}), document.head.appendChild(M);
|
|
5148
|
-
},
|
|
5086
|
+
}, U = (M) => {
|
|
5149
5087
|
if (!_ || !a.shadowRoot) return;
|
|
5150
|
-
const H = a.shadowRoot.getElementById(
|
|
5088
|
+
const H = a.shadowRoot.getElementById(Ot);
|
|
5151
5089
|
if (!M) {
|
|
5152
5090
|
H?.remove();
|
|
5153
5091
|
return;
|
|
5154
5092
|
}
|
|
5155
5093
|
if (H) return;
|
|
5156
5094
|
const ee = document.createElement("style");
|
|
5157
|
-
ee.id =
|
|
5095
|
+
ee.id = Ot, ee.textContent = ".gengage-chat-launcher-container,.gengage-fl{display:none!important;}", a.shadowRoot.appendChild(ee);
|
|
5158
5096
|
}, ne = (M) => {
|
|
5159
5097
|
const H = document.querySelector(M);
|
|
5160
5098
|
return H instanceof HTMLElement ? H : null;
|
|
@@ -5209,9 +5147,9 @@ function Di(t, e, a) {
|
|
|
5209
5147
|
const H = document.createElement("span");
|
|
5210
5148
|
H.className = `${fe}-copy`;
|
|
5211
5149
|
const ee = document.createElement("span");
|
|
5212
|
-
if (ee.className = `${fe}-title`, ee.textContent = c, H.appendChild(ee), M.appendChild(H),
|
|
5150
|
+
if (ee.className = `${fe}-title`, ee.textContent = c, H.appendChild(ee), M.appendChild(H), y) {
|
|
5213
5151
|
const pe = document.createElement("span");
|
|
5214
|
-
pe.className = `${fe}-spark`, pe.innerHTML =
|
|
5152
|
+
pe.className = `${fe}-spark`, pe.innerHTML = Mi, M.appendChild(pe);
|
|
5215
5153
|
}
|
|
5216
5154
|
return M.addEventListener("click", () => e.onClick()), M;
|
|
5217
5155
|
}, se = (M, H, ee) => {
|
|
@@ -5226,26 +5164,26 @@ function Di(t, e, a) {
|
|
|
5226
5164
|
const M = ne(z.hostSelector);
|
|
5227
5165
|
M && $(M), z = null;
|
|
5228
5166
|
}
|
|
5229
|
-
k = null,
|
|
5167
|
+
k = null, U(!1), X = !1;
|
|
5230
5168
|
}, w = (M) => !(M && d.includes(M) || v > 0 && window.innerWidth < v && !u), Y = async (M) => {
|
|
5231
5169
|
const H = M ?? a.getPageType();
|
|
5232
5170
|
if (!w(H))
|
|
5233
5171
|
return re(), !1;
|
|
5234
5172
|
q();
|
|
5235
|
-
const ee =
|
|
5173
|
+
const ee = O();
|
|
5236
5174
|
z && B(z) !== B(ee) && re();
|
|
5237
|
-
for (let pe = 0; pe <
|
|
5175
|
+
for (let pe = 0; pe < x; pe += 1) {
|
|
5238
5176
|
if (!w(H))
|
|
5239
5177
|
return re(), !1;
|
|
5240
|
-
const V =
|
|
5178
|
+
const V = O(), G = ne(V.hostSelector), J = K(V);
|
|
5241
5179
|
if (G && (!V.siblingSelector || J)) {
|
|
5242
5180
|
z && B(z) !== B(V) && re(), J && S(J);
|
|
5243
5181
|
let ie = G.querySelector(`.${r}`);
|
|
5244
5182
|
ie instanceof HTMLElement || (ie = document.createElement("div"), ie.className = r, V.rowPlacement === "start" ? G.insertBefore(ie, G.firstChild) : G.appendChild(ie));
|
|
5245
5183
|
let Z = ie.querySelector(`#${CSS.escape(A)}`);
|
|
5246
|
-
return Z instanceof HTMLButtonElement ? D = Z : (Z = te(), D = Z, ie.appendChild(Z)), J && se(ie, J, Z), Q(Z), C ? Z.classList.add(`${fe}--active`) : Z.classList.remove(`${fe}--active`),
|
|
5184
|
+
return Z instanceof HTMLButtonElement ? D = Z : (Z = te(), D = Z, ie.appendChild(Z)), J && se(ie, J, Z), Q(Z), C ? Z.classList.add(`${fe}--active`) : Z.classList.remove(`${fe}--active`), U(!0), X = !0, z = V, !0;
|
|
5247
5185
|
}
|
|
5248
|
-
await
|
|
5186
|
+
await zi(16);
|
|
5249
5187
|
}
|
|
5250
5188
|
return re(), !1;
|
|
5251
5189
|
}, ce = () => {
|
|
@@ -5268,7 +5206,7 @@ function Di(t, e, a) {
|
|
|
5268
5206
|
}
|
|
5269
5207
|
};
|
|
5270
5208
|
}
|
|
5271
|
-
var
|
|
5209
|
+
var Hi = /* @__PURE__ */ new Set([
|
|
5272
5210
|
"audio/ogg",
|
|
5273
5211
|
"audio/mpeg",
|
|
5274
5212
|
"audio/mp3",
|
|
@@ -5280,9 +5218,9 @@ var Oi = /* @__PURE__ */ new Set([
|
|
|
5280
5218
|
function it(t) {
|
|
5281
5219
|
t.pause(), t.removeAttribute("src"), t.load(), ya.delete(t);
|
|
5282
5220
|
}
|
|
5283
|
-
function
|
|
5221
|
+
function Fi(t, e = "audio/ogg") {
|
|
5284
5222
|
const a = e.split(";")[0].trim();
|
|
5285
|
-
if (!
|
|
5223
|
+
if (!Hi.has(a)) return null;
|
|
5286
5224
|
try {
|
|
5287
5225
|
const n = new Audio(`data:${e};base64,${t}`);
|
|
5288
5226
|
return ya.add(n), n.addEventListener("ended", () => it(n), { once: !0 }), n.play().catch(() => {
|
|
@@ -5292,7 +5230,7 @@ function Ui(t, e = "audio/ogg") {
|
|
|
5292
5230
|
return null;
|
|
5293
5231
|
}
|
|
5294
5232
|
}
|
|
5295
|
-
var
|
|
5233
|
+
var Di = /* @__PURE__ */ new Set([
|
|
5296
5234
|
"P",
|
|
5297
5235
|
"DIV",
|
|
5298
5236
|
"H1",
|
|
@@ -5315,24 +5253,24 @@ var ji = /* @__PURE__ */ new Set([
|
|
|
5315
5253
|
"DT",
|
|
5316
5254
|
"DD"
|
|
5317
5255
|
]);
|
|
5318
|
-
function
|
|
5256
|
+
function Ui(t) {
|
|
5319
5257
|
const e = [];
|
|
5320
5258
|
let a = [];
|
|
5321
|
-
for (const n of t) n.nodeType === Node.ELEMENT_NODE &&
|
|
5259
|
+
for (const n of t) n.nodeType === Node.ELEMENT_NODE && Di.has(n.tagName) ? (a.length > 0 && (e.push(a), a = []), e.push([n])) : a.push(n);
|
|
5322
5260
|
return a.length > 0 && e.push(a), e;
|
|
5323
5261
|
}
|
|
5324
|
-
function
|
|
5262
|
+
function Oi(t) {
|
|
5325
5263
|
for (const e of t) for (const a of e) if (a.nodeType === Node.ELEMENT_NODE && (a.tagName === "TABLE" || a.querySelector?.("table"))) return !0;
|
|
5326
5264
|
return !1;
|
|
5327
5265
|
}
|
|
5328
|
-
function
|
|
5266
|
+
function ji() {
|
|
5329
5267
|
return typeof window > "u" || typeof window.matchMedia != "function" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
5330
5268
|
}
|
|
5331
|
-
function
|
|
5269
|
+
function qi(t) {
|
|
5332
5270
|
const { container: e, html: a, delayMs: n = 30, onTick: r, onComplete: i } = t, o = document.createElement("template");
|
|
5333
5271
|
o.innerHTML = a;
|
|
5334
|
-
const s =
|
|
5335
|
-
if (
|
|
5272
|
+
const s = Ui(o.content.childNodes);
|
|
5273
|
+
if (ji() || s.length <= 1 || Oi(s))
|
|
5336
5274
|
return e.innerHTML = a, i?.(), {
|
|
5337
5275
|
complete() {
|
|
5338
5276
|
},
|
|
@@ -5349,7 +5287,7 @@ function Gi(t) {
|
|
|
5349
5287
|
}
|
|
5350
5288
|
const h = s[c], m = document.createElement("span");
|
|
5351
5289
|
m.className = "gengage-chat-typewriter-block";
|
|
5352
|
-
for (const
|
|
5290
|
+
for (const y of h) m.appendChild(y.cloneNode(!0));
|
|
5353
5291
|
e.appendChild(m), c++, r?.(), c < s.length ? l = setTimeout(g, n) : (p = !1, i?.());
|
|
5354
5292
|
}
|
|
5355
5293
|
return g(), {
|
|
@@ -5367,7 +5305,7 @@ function Gi(t) {
|
|
|
5367
5305
|
function jt(t) {
|
|
5368
5306
|
return t !== void 0 && /[\p{L}\p{N}_]/u.test(t);
|
|
5369
5307
|
}
|
|
5370
|
-
function
|
|
5308
|
+
function $i(t) {
|
|
5371
5309
|
const { container: e, mentions: a, onProductClick: n } = t;
|
|
5372
5310
|
if (a.length === 0) return;
|
|
5373
5311
|
const r = /* @__PURE__ */ new Map();
|
|
@@ -5388,35 +5326,35 @@ function Wi(t) {
|
|
|
5388
5326
|
c = s.nextNode();
|
|
5389
5327
|
continue;
|
|
5390
5328
|
}
|
|
5391
|
-
const
|
|
5329
|
+
const y = p.slice(0, g), v = p.slice(g, g + o.short_name.length), u = p.slice(g + o.short_name.length), d = c.parentNode;
|
|
5392
5330
|
if (!d) {
|
|
5393
5331
|
c = s.nextNode();
|
|
5394
5332
|
continue;
|
|
5395
5333
|
}
|
|
5396
|
-
const _ = typeof o.url == "string" && o.url.trim() && he(o.url.trim()) ? o.url.trim() : void 0,
|
|
5397
|
-
|
|
5334
|
+
const _ = typeof o.url == "string" && o.url.trim() && he(o.url.trim()) ? o.url.trim() : void 0, x = document.createElement("a");
|
|
5335
|
+
x.className = "gengage-product-mention", x.textContent = v, x.href = _ ?? "#", x.addEventListener("click", (b) => {
|
|
5398
5336
|
b.preventDefault(), n(o);
|
|
5399
|
-
}),
|
|
5337
|
+
}), y && d.insertBefore(document.createTextNode(y), c), d.insertBefore(x, c), u && d.insertBefore(document.createTextNode(u), c), d.removeChild(c), l = !0;
|
|
5400
5338
|
}
|
|
5401
5339
|
}
|
|
5402
5340
|
}
|
|
5403
|
-
var
|
|
5341
|
+
var Vi = /* @__PURE__ */ new Set([
|
|
5404
5342
|
"search",
|
|
5405
5343
|
"info",
|
|
5406
5344
|
"review",
|
|
5407
5345
|
"similar"
|
|
5408
|
-
]),
|
|
5346
|
+
]), Gi = /* @__PURE__ */ new Set([
|
|
5409
5347
|
"quickAnswer",
|
|
5410
5348
|
"reviewSummary",
|
|
5411
5349
|
"searchDiscovery",
|
|
5412
5350
|
"launchDiscovery",
|
|
5413
5351
|
"exploreTogetherV2"
|
|
5414
5352
|
]);
|
|
5415
|
-
function
|
|
5416
|
-
return !!(t.icon &&
|
|
5353
|
+
function Wi(t) {
|
|
5354
|
+
return !!(t.icon && Vi.has(t.icon) || t.action?.type && Gi.has(t.action.type));
|
|
5417
5355
|
}
|
|
5418
|
-
var Xe = "gengage_choice_prompter_dismissed",
|
|
5419
|
-
function
|
|
5356
|
+
var Xe = "gengage_choice_prompter_dismissed", Ki = "gengage_choice_prompter_dismissed_global";
|
|
5357
|
+
function Yi(t) {
|
|
5420
5358
|
const e = document.createElement("div");
|
|
5421
5359
|
e.className = "gengage-chat-choice-prompter gds-card", e.dataset.gengagePart = "choice-prompter";
|
|
5422
5360
|
const a = document.createElement("div");
|
|
@@ -5438,11 +5376,11 @@ function Qi(t) {
|
|
|
5438
5376
|
}
|
|
5439
5377
|
function qt() {
|
|
5440
5378
|
try {
|
|
5441
|
-
sessionStorage.removeItem(Xe), sessionStorage.removeItem(
|
|
5379
|
+
sessionStorage.removeItem(Xe), sessionStorage.removeItem(Ki);
|
|
5442
5380
|
} catch {
|
|
5443
5381
|
}
|
|
5444
5382
|
}
|
|
5445
|
-
function
|
|
5383
|
+
function Zi(t) {
|
|
5446
5384
|
try {
|
|
5447
5385
|
const e = sessionStorage.getItem(Xe);
|
|
5448
5386
|
return e ? JSON.parse(e).includes(t) : !1;
|
|
@@ -5457,10 +5395,10 @@ function bt(t) {
|
|
|
5457
5395
|
} catch {
|
|
5458
5396
|
}
|
|
5459
5397
|
}
|
|
5460
|
-
function
|
|
5398
|
+
function Xi(t) {
|
|
5461
5399
|
t && bt(t);
|
|
5462
5400
|
}
|
|
5463
|
-
var
|
|
5401
|
+
var Qi = "gengage_assistant", Ji = 3, Le = "sessions", ye = "context", Se = "payload", we = "favorites";
|
|
5464
5402
|
function De(t) {
|
|
5465
5403
|
return new Promise((e, a) => {
|
|
5466
5404
|
t.onsuccess = () => e(t.result), t.onerror = () => a(t.error);
|
|
@@ -5471,8 +5409,8 @@ function Ne(t) {
|
|
|
5471
5409
|
t.oncomplete = () => e(), t.onerror = () => a(t.error), t.onabort = () => a(t.error ?? new DOMException("Transaction aborted"));
|
|
5472
5410
|
});
|
|
5473
5411
|
}
|
|
5474
|
-
var
|
|
5475
|
-
constructor(t =
|
|
5412
|
+
var eo = class {
|
|
5413
|
+
constructor(t = Qi, e = Ji) {
|
|
5476
5414
|
this._db = null, this._dbName = t, this._version = e;
|
|
5477
5415
|
}
|
|
5478
5416
|
async open() {
|
|
@@ -5598,15 +5536,15 @@ var no = class {
|
|
|
5598
5536
|
if (!this._db) throw new Error("GengageIndexedDB: database not open. Call open() first.");
|
|
5599
5537
|
return this._db;
|
|
5600
5538
|
}
|
|
5601
|
-
},
|
|
5539
|
+
}, to = [
|
|
5602
5540
|
"comparisonTable",
|
|
5603
5541
|
"groupList",
|
|
5604
5542
|
"productDetailsSimilars",
|
|
5605
5543
|
"productList"
|
|
5606
|
-
],
|
|
5544
|
+
], ao = class {
|
|
5607
5545
|
constructor(t) {
|
|
5608
5546
|
this._lockCount = 1, this._hiddenByUser = !1, this._lastPanelContentType = null, this._chatShown = !1, this._isFavoritesMode = !1, this._lastExtended = !1, this._onChange = t.onChange;
|
|
5609
|
-
const e = new Set(
|
|
5547
|
+
const e = new Set(to);
|
|
5610
5548
|
t.productDetailsInPanel && e.add("productDetails"), this._panelContentTypes = e;
|
|
5611
5549
|
}
|
|
5612
5550
|
get isExtended() {
|
|
@@ -5634,7 +5572,7 @@ var no = class {
|
|
|
5634
5572
|
const t = this.isExtended;
|
|
5635
5573
|
t !== this._lastExtended && (this._lastExtended = t, this._onChange(t));
|
|
5636
5574
|
}
|
|
5637
|
-
},
|
|
5575
|
+
}, no = class {
|
|
5638
5576
|
constructor(t) {
|
|
5639
5577
|
this.deps = t, this.snapshots = /* @__PURE__ */ new Map(), this._snapshotRebuilders = /* @__PURE__ */ new Map(), this._snapshotSources = /* @__PURE__ */ new Map(), this._threadSources = /* @__PURE__ */ new Map(), this.snapshotTypes = /* @__PURE__ */ new Map(), this.activePanelMessageId = null, this.currentType = null, this.threads = [], this.lastActionType = null;
|
|
5640
5578
|
}
|
|
@@ -5790,10 +5728,10 @@ var no = class {
|
|
|
5790
5728
|
function $t(t) {
|
|
5791
5729
|
return t === "user_message" || t === "inputText";
|
|
5792
5730
|
}
|
|
5793
|
-
function
|
|
5731
|
+
function ro(t) {
|
|
5794
5732
|
return t.similarsAppend && t.currentPanelType === "ProductDetailsPanel" && t.hasPanelContent && !t.isPanelLoading ? "appendSimilars" : t.componentType === "ProductGrid" && !t.isFirstPanelContentInStream && t.hasPanelContent && !t.isPanelLoading ? "append" : "replace";
|
|
5795
5733
|
}
|
|
5796
|
-
var Vt = 1,
|
|
5734
|
+
var Vt = 1, io = "gengage:chat-history:index", oo = "gengage:chat-history:session", so = 12, co = "Image attachment";
|
|
5797
5735
|
function Pe(t, e) {
|
|
5798
5736
|
const a = t.replace(/\s+/g, " ").trim();
|
|
5799
5737
|
return a.length <= e ? a : `${a.slice(0, Math.max(0, e - 1)).trimEnd()}…`;
|
|
@@ -5815,21 +5753,21 @@ function Gt(t) {
|
|
|
5815
5753
|
return null;
|
|
5816
5754
|
}
|
|
5817
5755
|
}
|
|
5818
|
-
function
|
|
5756
|
+
function lo(t, e) {
|
|
5819
5757
|
return `${encodeURIComponent(t)}::${encodeURIComponent(e || "__guest__")}`;
|
|
5820
5758
|
}
|
|
5821
5759
|
function ot(t) {
|
|
5822
|
-
return `${
|
|
5760
|
+
return `${io}:${t}`;
|
|
5823
5761
|
}
|
|
5824
|
-
function
|
|
5825
|
-
return `${
|
|
5762
|
+
function Ue(t, e) {
|
|
5763
|
+
return `${oo}:${t}:${e}`;
|
|
5826
5764
|
}
|
|
5827
5765
|
function wa(t) {
|
|
5828
5766
|
if (t.silent) return !1;
|
|
5829
5767
|
const e = typeof t.content == "string" ? ke(t.content) : "", a = "attachment" in t && t.attachment !== void 0;
|
|
5830
5768
|
return e.length > 0 || t.uiSpec !== void 0 || a;
|
|
5831
5769
|
}
|
|
5832
|
-
function
|
|
5770
|
+
function go(t, e = co) {
|
|
5833
5771
|
return t.filter((a) => !(a.status === "streaming" && !wa(a))).map((a) => {
|
|
5834
5772
|
const n = {
|
|
5835
5773
|
id: a.id,
|
|
@@ -5840,13 +5778,13 @@ function uo(t, e = po) {
|
|
|
5840
5778
|
return a.threadId !== void 0 && (n.threadId = a.threadId), a.content !== void 0 && (n.content = a.content), a.attachment !== void 0 && ke(n.content ?? "").length === 0 && (n.content = e), a.uiSpec !== void 0 && (n.uiSpec = a.uiSpec), a.frontendOnly && (n.frontendOnly = !0), a.silent && (n.silent = !0), a.renderHint !== void 0 && (n.renderHint = a.renderHint), a.photoAnalysis !== void 0 && (n.photoAnalysis = a.photoAnalysis), n;
|
|
5841
5779
|
});
|
|
5842
5780
|
}
|
|
5843
|
-
function
|
|
5781
|
+
function po(t) {
|
|
5844
5782
|
const e = t.find((n) => n.role === "user" && !n.silent && typeof n.content == "string" && ke(n.content).length > 0);
|
|
5845
5783
|
if (e?.content) return Pe(ke(e.content), 72);
|
|
5846
5784
|
const a = t.find((n) => wa(n));
|
|
5847
5785
|
return a?.content ? Pe(ke(a.content), 72) : "New chat";
|
|
5848
5786
|
}
|
|
5849
|
-
function
|
|
5787
|
+
function ho(t) {
|
|
5850
5788
|
for (let e = t.length - 1; e >= 0; e--) {
|
|
5851
5789
|
const a = t[e];
|
|
5852
5790
|
if (!(!a || a.silent)) {
|
|
@@ -5866,26 +5804,26 @@ function fo(t) {
|
|
|
5866
5804
|
}
|
|
5867
5805
|
return "";
|
|
5868
5806
|
}
|
|
5869
|
-
function
|
|
5807
|
+
function uo(t) {
|
|
5870
5808
|
return t.filter((e) => !e.silent).length;
|
|
5871
5809
|
}
|
|
5872
|
-
function
|
|
5810
|
+
function mo(t) {
|
|
5873
5811
|
return {
|
|
5874
5812
|
...t,
|
|
5875
5813
|
title: Pe(ke(t.title), 72) || "New chat",
|
|
5876
5814
|
preview: Pe(ke(t.preview), 140)
|
|
5877
5815
|
};
|
|
5878
5816
|
}
|
|
5879
|
-
function
|
|
5817
|
+
function fo(t) {
|
|
5880
5818
|
return {
|
|
5881
5819
|
...t,
|
|
5882
5820
|
title: Pe(ke(t.title), 72) || "New chat",
|
|
5883
5821
|
preview: Pe(ke(t.preview), 140)
|
|
5884
5822
|
};
|
|
5885
5823
|
}
|
|
5886
|
-
var
|
|
5824
|
+
var bo = class {
|
|
5887
5825
|
constructor(t, e, a = typeof window < "u" ? window.localStorage : null) {
|
|
5888
|
-
this._appId = t, this._userId = e, this._storage = a, this._scope =
|
|
5826
|
+
this._appId = t, this._userId = e, this._storage = a, this._scope = lo(t, e);
|
|
5889
5827
|
}
|
|
5890
5828
|
createHistoryId() {
|
|
5891
5829
|
return crypto.randomUUID();
|
|
@@ -5895,17 +5833,17 @@ var yo = class {
|
|
|
5895
5833
|
}
|
|
5896
5834
|
listSessions() {
|
|
5897
5835
|
const t = Gt(this._storage?.getItem(ot(this._scope)) ?? null);
|
|
5898
|
-
return t ? t.map(
|
|
5836
|
+
return t ? t.map(mo).sort((e, a) => a.updatedAt.localeCompare(e.updatedAt)) : [];
|
|
5899
5837
|
}
|
|
5900
5838
|
loadSession(t) {
|
|
5901
|
-
const e = Gt(this._storage?.getItem(
|
|
5902
|
-
return !e || e.version !== Vt ? null :
|
|
5839
|
+
const e = Gt(this._storage?.getItem(Ue(this._scope, t)) ?? null);
|
|
5840
|
+
return !e || e.version !== Vt ? null : fo(e);
|
|
5903
5841
|
}
|
|
5904
5842
|
saveSession(t) {
|
|
5905
5843
|
if (!this._storage) return null;
|
|
5906
|
-
const e =
|
|
5844
|
+
const e = go(t.messages, t.attachmentPlaceholder);
|
|
5907
5845
|
if (!e.some((g) => g.role === "user" && !g.silent && typeof g.content == "string" && ke(g.content).length > 0)) return null;
|
|
5908
|
-
const a = (/* @__PURE__ */ new Date()).toISOString(), n =
|
|
5846
|
+
const a = (/* @__PURE__ */ new Date()).toISOString(), n = po(e), r = ho(e), i = {};
|
|
5909
5847
|
for (const [g, h] of t.panelSnapshots)
|
|
5910
5848
|
h.querySelector(".gengage-chat-panel-skeleton") || (i[g] = h.innerHTML);
|
|
5911
5849
|
const o = {};
|
|
@@ -5924,7 +5862,7 @@ var yo = class {
|
|
|
5924
5862
|
preview: r,
|
|
5925
5863
|
createdAt: t.chatCreatedAt,
|
|
5926
5864
|
updatedAt: a,
|
|
5927
|
-
messageCount:
|
|
5865
|
+
messageCount: uo(e),
|
|
5928
5866
|
pageType: t.pageType,
|
|
5929
5867
|
sku: t.sku,
|
|
5930
5868
|
messages: e,
|
|
@@ -5947,16 +5885,16 @@ var yo = class {
|
|
|
5947
5885
|
pageType: l.pageType,
|
|
5948
5886
|
sku: l.sku,
|
|
5949
5887
|
sourceSessionId: l.sourceSessionId
|
|
5950
|
-
}); p.length >
|
|
5888
|
+
}); p.length > so; ) {
|
|
5951
5889
|
const g = p.pop();
|
|
5952
|
-
g && this._storage.removeItem(
|
|
5890
|
+
g && this._storage.removeItem(Ue(this._scope, g.id));
|
|
5953
5891
|
}
|
|
5954
5892
|
return this._commitRecord(l, p) ? l : null;
|
|
5955
5893
|
}
|
|
5956
5894
|
deleteSession(t) {
|
|
5957
5895
|
if (!this._storage) return;
|
|
5958
5896
|
const e = this.listSessions().filter((a) => a.id !== t);
|
|
5959
|
-
this._storage.removeItem(
|
|
5897
|
+
this._storage.removeItem(Ue(this._scope, t));
|
|
5960
5898
|
try {
|
|
5961
5899
|
this._storage.setItem(ot(this._scope), JSON.stringify(e));
|
|
5962
5900
|
} catch {
|
|
@@ -5966,12 +5904,12 @@ var yo = class {
|
|
|
5966
5904
|
if (!this._storage) return !1;
|
|
5967
5905
|
const a = [...e];
|
|
5968
5906
|
for (; a.length > 0; ) try {
|
|
5969
|
-
return this._storage.setItem(
|
|
5907
|
+
return this._storage.setItem(Ue(this._scope, t.id), JSON.stringify(t)), this._storage.setItem(ot(this._scope), JSON.stringify(a)), !0;
|
|
5970
5908
|
} catch {
|
|
5971
5909
|
const n = a.pop();
|
|
5972
5910
|
if (!n) break;
|
|
5973
5911
|
if (n.id !== t.id) {
|
|
5974
|
-
this._storage.removeItem(
|
|
5912
|
+
this._storage.removeItem(Ue(this._scope, n.id));
|
|
5975
5913
|
continue;
|
|
5976
5914
|
}
|
|
5977
5915
|
break;
|
|
@@ -6097,7 +6035,7 @@ var yo = class {
|
|
|
6097
6035
|
close() {
|
|
6098
6036
|
this._db?.close(), this._db = null;
|
|
6099
6037
|
}
|
|
6100
|
-
}, st = (t) => `${t}:assistant`,
|
|
6038
|
+
}, st = (t) => `${t}:assistant`, vo = class {
|
|
6101
6039
|
constructor() {
|
|
6102
6040
|
this.groups = {}, this.pinnedToBottom = !0, this.userInteracting = !1, this.focusedThreadId = null, this.shown = !1, this.lastAutoAnchoredGroupId = null, this.scrollRequest = null, this._nextScrollId = 1;
|
|
6103
6041
|
}
|
|
@@ -6162,14 +6100,14 @@ var yo = class {
|
|
|
6162
6100
|
return this.groups[st(t)]?.readState;
|
|
6163
6101
|
}
|
|
6164
6102
|
};
|
|
6165
|
-
function
|
|
6103
|
+
function xo(t, e) {
|
|
6166
6104
|
for (let a = t.length - 1; a >= 0; a--) {
|
|
6167
6105
|
const n = t[a], r = e.getAssistantReadState(n);
|
|
6168
6106
|
if (r !== void 0 && r !== "seen") return n;
|
|
6169
6107
|
}
|
|
6170
6108
|
return null;
|
|
6171
6109
|
}
|
|
6172
|
-
var
|
|
6110
|
+
var yo = /^HTTP\s+\d{3}\b/i, wo = [
|
|
6173
6111
|
/response body is null/i,
|
|
6174
6112
|
/streaming not supported/i,
|
|
6175
6113
|
/ECONNREFUSED/i,
|
|
@@ -6180,7 +6118,7 @@ var ko = /^HTTP\s+\d{3}\b/i, Co = [
|
|
|
6180
6118
|
/502\s+bad gateway/i,
|
|
6181
6119
|
/503\s+service unavailable/i,
|
|
6182
6120
|
/504\s+gateway timeout/i
|
|
6183
|
-
],
|
|
6121
|
+
], _o = [
|
|
6184
6122
|
/Traceback\s*\(/i,
|
|
6185
6123
|
/\bSyntaxError\b/,
|
|
6186
6124
|
/\bReferenceError\b/,
|
|
@@ -6192,24 +6130,24 @@ var ko = /^HTTP\s+\d{3}\b/i, Co = [
|
|
|
6192
6130
|
/<anonymous>/i,
|
|
6193
6131
|
/ChunkLoadError/i,
|
|
6194
6132
|
/UnhandledPromiseRejection/i
|
|
6195
|
-
],
|
|
6196
|
-
function
|
|
6133
|
+
], ko = 720;
|
|
6134
|
+
function Co(t, e) {
|
|
6197
6135
|
if (Qt(t)) return !0;
|
|
6198
6136
|
const a = t.message.trim();
|
|
6199
|
-
if (
|
|
6137
|
+
if (yo.test(a) || wo.some((i) => i.test(a))) return !0;
|
|
6200
6138
|
const n = e.trim();
|
|
6201
|
-
if (n.length >
|
|
6139
|
+
if (n.length > ko) return !0;
|
|
6202
6140
|
const r = n.split(/\n/).length;
|
|
6203
|
-
return !!(r >= 6 ||
|
|
6141
|
+
return !!(r >= 6 || _o.some((i) => i.test(n)) || r >= 3 && /\bat\s+/.test(n));
|
|
6204
6142
|
}
|
|
6205
|
-
var _a = "gengage_kvkk_shown",
|
|
6143
|
+
var _a = "gengage_kvkk_shown", So = [
|
|
6206
6144
|
"kvkk",
|
|
6207
6145
|
"kişisel veri",
|
|
6208
6146
|
"kisisel veri"
|
|
6209
|
-
],
|
|
6147
|
+
], Eo = /\b6698\b/;
|
|
6210
6148
|
function xt(t) {
|
|
6211
6149
|
const e = t.toLowerCase();
|
|
6212
|
-
return
|
|
6150
|
+
return So.some((a) => e.includes(a)) || Eo.test(e);
|
|
6213
6151
|
}
|
|
6214
6152
|
function Kt(t) {
|
|
6215
6153
|
try {
|
|
@@ -6224,7 +6162,7 @@ function ct(t) {
|
|
|
6224
6162
|
} catch {
|
|
6225
6163
|
}
|
|
6226
6164
|
}
|
|
6227
|
-
function
|
|
6165
|
+
function Po(t, e = {}) {
|
|
6228
6166
|
const a = new DOMParser().parseFromString(t, "text/html").body, n = Array.from(a.children);
|
|
6229
6167
|
let r = !1;
|
|
6230
6168
|
for (const i of n) if (xt(i.textContent ?? "")) {
|
|
@@ -6233,34 +6171,34 @@ function Ao(t, e = {}) {
|
|
|
6233
6171
|
}
|
|
6234
6172
|
return !r && e.fallbackToFirstBlock === !0 && n[0] && n[0].remove(), a.innerHTML.trim();
|
|
6235
6173
|
}
|
|
6236
|
-
function
|
|
6174
|
+
function Lo(t, e = {}) {
|
|
6237
6175
|
const a = new DOMParser().parseFromString(t, "text/html"), n = Array.from(a.body.children);
|
|
6238
6176
|
for (const r of n) if (xt(r.textContent ?? "")) return r.outerHTML;
|
|
6239
6177
|
return e.fallbackToFirstBlock === !0 ? n[0]?.outerHTML ?? null : null;
|
|
6240
6178
|
}
|
|
6241
|
-
var
|
|
6179
|
+
var To = {
|
|
6242
6180
|
tr: "TURKISH",
|
|
6243
6181
|
en: "ENGLISH",
|
|
6244
6182
|
de: "GERMAN",
|
|
6245
6183
|
fr: "FRENCH"
|
|
6246
6184
|
};
|
|
6247
|
-
function
|
|
6248
|
-
return t ?
|
|
6185
|
+
function Ao(t) {
|
|
6186
|
+
return t ? To[t.toLowerCase().slice(0, 2)] ?? "TURKISH" : "TURKISH";
|
|
6249
6187
|
}
|
|
6250
|
-
var Bo = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;min-height:44px;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:0 16px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;min-height:48px;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;align-self:center;font-size:13px;line-height:1.35;display:block}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;min-height:20px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}:host{all:initial;font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px)}.gengage-chat-root button,.gengage-chat-root [role=button],.gengage-chat-root a{cursor:pointer}.gengage-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-root{z-index:var(--gengage-z-index,2147480000);--_gengage-chat-offset:var(--gengage-chat-offset,20px);--_gengage-chat-launcher-bottom:var(--gengage-chat-launcher-bottom,20px);--_gengage-chat-launcher-right:var(--gengage-chat-launcher-right,20px);--_gengage-chat-launcher-width:var(--gengage-chat-launcher-width,56px);--_gengage-chat-launcher-height:var(--gengage-chat-launcher-height,56px);--_gengage-chat-launcher-mobile-width:var(--gengage-chat-launcher-mobile-width,var(--_gengage-chat-launcher-width));--_gengage-chat-launcher-mobile-height:var(--gengage-chat-launcher-mobile-height,var(--_gengage-chat-launcher-height));--_gengage-chat-drawer-width:var(--gengage-chat-width,400px);--_gengage-chat-radius:var(--gengage-chat-shell-radius,1rem);--_gengage-chat-header-height:var(--gengage-chat-header-height,72px);--_gengage-chat-conversation-width:var(--gengage-chat-conversation-width,396px);--_gengage-chat-panel-min-width:var(--gengage-chat-panel-min-width,320px);--_gengage-chat-panel-max-width:var(--gengage-chat-panel-max-width,1200px);--_gengage-chat-input-height:var(--gengage-chat-input-height,48px);--_gengage-chat-shadow:var(--gengage-chat-shadow,var(--shadow-3));--_gengage-border-color:var(--border-default);--_gengage-discount-color:var(--gengage-discount-color,var(--client-primary));--_gengage-campaign-reason-start:var(--gengage-campaign-reason-color,var(--client-primary));--_gengage-campaign-reason-end:var(--gengage-campaign-reason-color-end,var(--gengage-campaign-reason-color,var(--client-primary)));--_gengage-success-color:var(--success);--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-surface-secondary:var(--surface-card-soft);--_gengage-surface-muted:var(--surface-card-soft);--_gengage-surface-dark:var(--surface-shell);--_gengage-rating-color:var(--rating);--_gengage-error:var(--error);--_gengage-danger-color:var(--error);--_gengage-ghost-border:var(--gengage-ghost-border,color-mix(in srgb, var(--client-primary) 16%, transparent));position:fixed}.gengage-chat-backdrop{z-index:0;pointer-events:none;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;display:none;position:fixed;inset:0}.gengage-chat-root--open:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:none;background:var(--gengage-chat-float-backdrop,transparent);display:block}.gengage-chat-root--open.gengage-chat-root--maximized-host-chrome:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:auto;background:var(--gengage-chat-float-backdrop,color-mix(in srgb, var(--surface-overlay) 72%, transparent))}.gengage-chat-root.gengage-chat--overlay.gengage-chat-root--open .gengage-chat-backdrop{background:var(--gengage-chat-overlay-backdrop,var(--surface-overlay));pointer-events:auto}.gengage-chat-launcher-container{bottom:var(--gengage-chat-launcher-anchor-bottom,var(--_gengage-chat-launcher-bottom));right:var(--gengage-chat-launcher-anchor-right,var(--_gengage-chat-launcher-right));z-index:var(--gengage-z-index,2147480000);transition:bottom var(--gengage-chat-launcher-anchor-transition,0s) ease, right var(--gengage-chat-launcher-anchor-transition,0s) ease;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.gengage-chat-launcher-content-area,.gengage-chat-launcher-content-area-bottom{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.gengage-chat-launcher-content-area:empty,.gengage-chat-launcher-content-area-bottom:empty,.gengage-chat-root--open .gengage-chat-launcher-content-area,.gengage-chat-root--open .gengage-chat-launcher-content-area-bottom{display:none}.gengage-chat-root--open .gengage-chat-launcher-container{pointer-events:none;opacity:0;transition:opacity .2s}.gengage-chat-launcher{width:var(--_gengage-chat-launcher-width);height:var(--_gengage-chat-launcher-height);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:var(--shadow-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;display:flex;position:relative}.gengage-chat-launcher:hover{box-shadow:var(--shadow-3);transform:none}.gengage-chat-launcher svg{width:28px;height:28px}.gengage-chat-launcher--image-mode{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;overflow:hidden}.gengage-chat-launcher--image-mode:hover{box-shadow:none}.gengage-chat-launcher--image-mode img{object-fit:contain;width:100%;height:100%}.gengage-chat-launcher-img--mobile,.gengage-chat-root--mobile .gengage-chat-launcher-img--desktop{display:none}.gengage-chat-root--mobile .gengage-chat-launcher-img--mobile{display:block}.gengage-chat-launcher--hidden-mobile{display:none!important}.gengage-chat-launcher-tooltip{border-radius:var(--radius-control);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-2);padding:6px 12px;font-size:13px;font-weight:500;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.gengage-chat-launcher-tooltip:after{content:"";border:5px solid #0000;border-left-color:var(--surface-shell);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.gengage-chat-launcher:hover .gengage-chat-launcher-tooltip{opacity:1}.gengage-chat-root--open .gengage-chat-launcher-tooltip{display:none}.gengage-chat-drawer{width:var(--_gengage-chat-drawer-width);background:var(--surface-elevated,var(--surface-card));border-left:1px solid var(--border-default);max-height:100dvh;box-shadow:var(--_gengage-chat-shadow);z-index:var(--gengage-z-index,2147480000);opacity:1;border-radius:0;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-launcher-container{right:var(--gengage-chat-launcher-anchor-right,var(--gengage-chat-launcher-mobile-right,16px));bottom:calc(var(--gengage-chat-launcher-anchor-bottom,var(--gengage-chat-launcher-mobile-bottom,16px)) + env(safe-area-inset-bottom,0px))}.gengage-chat-root--mobile .gengage-chat-launcher{width:var(--_gengage-chat-launcher-mobile-width);height:var(--_gengage-chat-launcher-mobile-height)}.gengage-chat-root--mobile .gengage-chat-drawer{border:1px solid var(--border-default);width:100%;max-width:none;max-height:100dvh;box-shadow:var(--shadow-3);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-elevated,var(--surface-card));border-bottom:none;border-radius:16px 16px 0 0;bottom:0;left:0;right:0}.gengage-chat-drawer-handle{display:none}.gengage-chat-root--mobile .gengage-chat-drawer-handle{pointer-events:none;z-index:1;justify-content:center;align-items:center;height:14px;display:flex;position:absolute;top:6px;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gengage-chat-root--mobile .gengage-chat-header button,.gengage-chat-root--mobile .gengage-chat-header a{cursor:pointer;touch-action:auto;-webkit-user-select:auto;user-select:auto}.gengage-chat-root--mobile .gengage-chat-drawer-handle:before{content:"";background:var(--border-strong);pointer-events:none;border-radius:999px;width:36px;height:4px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-drawer{height:min(72dvh,620px);max-height:min(72dvh,620px);top:auto}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-drawer{top:var(--gengage-chat-visual-top,0px);height:var(--gengage-chat-visual-vh,100dvh);max-height:var(--gengage-chat-visual-vh,100dvh);border-radius:0;bottom:auto}.gengage-chat-root--mobile .gengage-chat-input-area{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-default)}.gengage-chat-header{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--gengage-chat-header-bg,var(--ds-header-bg));color:var(--gengage-chat-header-foreground,var(--ds-header-fg));box-shadow:none;border-bottom:1px solid var(--gengage-chat-header-border-bottom,var(--ds-header-border));z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.gengage-chat-header-left{align-items:center;gap:10px;min-width:0;display:flex}.gengage-chat-header-avatar{background:var(--surface-card-soft);border:1px solid var(--border-default);object-fit:contain;border-radius:999px;flex-shrink:0;width:44px;height:44px}.gengage-chat-header-avatar--logo{object-fit:contain;background:0 0;border:none;border-radius:0;width:auto;max-width:92px;height:45px}.gengage-chat-header-info{flex-direction:column;gap:2px;min-width:0;display:flex}.gengage-chat-header-title-row{align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-header-title{letter-spacing:.01em;color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.gengage-chat-header-badge{border-radius:var(--radius-pill);background:var(--ds-badge-brand-bg);min-height:26px;color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 10px;font-size:10px;font-weight:800;line-height:1.5;display:inline-flex}.gengage-chat-header-powered{color:var(--ds-header-muted);align-items:center;gap:4px;font-size:11px;line-height:1.2;text-decoration:none;transition:color .15s;display:flex}.gengage-chat-header-powered:hover{color:var(--client-primary)}.gengage-chat-header-powered svg{opacity:.6;flex-shrink:0;width:12px;height:12px}.gengage-chat-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.gengage-chat-header-btn{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}@media (width<=374px){.gengage-chat-header{gap:8px;padding:10px}.gengage-chat-header-right{flex-shrink:1;gap:4px;min-width:0}.gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.gengage-chat-header-btn:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-header-btn--fav{position:relative}.gengage-chat-header-btn--reopen-panel,.gengage-chat-root--mobile .gengage-chat-new-chat{display:none}.gengage-chat-header-fav-badge{background:var(--error);min-width:16px;height:16px;color:var(--text-inverse);text-align:center;pointer-events:none;border-radius:999px;padding:0 3px;font-size:9px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.gengage-chat-close{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-close:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.gengage-chat-panel{width:0;transition:width .22s cubic-bezier(.2,.72,.2,1);display:none;overflow:hidden}.gengage-chat-panel--visible{box-sizing:border-box;background:var(--gengage-chat-panel-bg,var(--surface-card));border-right:1px solid var(--border-default);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 24%, transparent) transparent;flex-direction:column;width:440px;min-width:440px;padding:16px;display:flex;position:relative;overflow-y:auto}.gengage-chat-panel--visible::-webkit-scrollbar{width:6px}.gengage-chat-panel--visible::-webkit-scrollbar-track{background:0 0}.gengage-chat-panel--visible::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 24%, transparent);border-radius:3px}.gengage-chat-panel--visible::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-panel-ai-zone{box-sizing:border-box;border-bottom:1px solid var(--border-subtle);flex-shrink:0;width:100%;max-height:min(42vh,320px);margin-bottom:4px;padding:8px 0 12px;overflow:auto}.gengage-chat-panel-ai-zone:has(.gengage-chat-grouping-cards){max-height:min(52vh,520px)}.gengage-chat-panel-ai-zone:has(.gengage-chat-ai-top-picks){max-height:none;overflow:visible}.gengage-chat-panel-ai-zone[hidden]{display:none!important}.gengage-chat-panel-ai-zone-inner{align-items:center;gap:10px;display:flex}.gengage-chat-panel-ai-zone-text{color:var(--text-muted);font-size:13px}.gengage-chat-grouping-section-title{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-section-title{width:100%;color:var(--text-primary);letter-spacing:-.01em;flex-shrink:0;align-self:stretch;margin:0 0 10px;font-size:15px;font-weight:700;display:block}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards{flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;max-height:none;display:flex}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;align-items:stretch;gap:10px;width:100%;min-width:0;margin:0 -2px;padding:2px 2px 10px;display:flex;overflow:auto hidden}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card{box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);width:136px;min-width:136px;max-width:150px;box-shadow:var(--shadow-1);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:12px 10px 14px}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-arrow{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-img{object-fit:cover;border-radius:8px;width:100%;min-width:0;max-width:88px;height:72px;min-height:72px;margin:0 auto}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-body{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-name{font-size:13px;font-weight:700;line-height:1.25}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:11px;line-height:1.3}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-labels{white-space:normal;text-overflow:unset;justify-content:center;margin-top:2px;line-height:1.35;overflow:visible}.gengage-chat-panel-divider{cursor:pointer;background:var(--_gengage-border-color);z-index:2;flex-shrink:0;align-items:center;width:4px;transition:background .15s;display:flex;position:relative}.gengage-chat-panel-divider:hover{background:var(--border-strong)}.gengage-chat-panel-divider--hidden{display:none}.gengage-chat-panel-divider-toggle{border:1px solid var(--_gengage-border-color);background:var(--surface-card);cursor:pointer;width:28px;height:48px;color:var(--text-secondary);box-shadow:var(--shadow-1);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-toggle:hover{background:var(--surface-card-muted);color:var(--client-primary)}.gengage-chat-panel.gengage-chat-panel--collapsed{border-right:none;flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider .gengage-chat-panel-divider-toggle{left:50%;transform:translate(-50%,-50%)}.gengage-chat-conversation{background:var(--surface-card);z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.gengage-chat-drawer--with-panel{width:auto;box-shadow:none;background:0 0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-header{border-radius:0;flex-shrink:0}.gengage-chat-drawer--with-panel .gengage-chat-body{flex:1 1 0;align-items:stretch;gap:0;min-height:0;padding:0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(var(--_gengage-chat-panel-min-width), 56vw, var(--_gengage-chat-panel-max-width));min-width:var(--_gengage-chat-panel-min-width);max-width:var(--_gengage-chat-panel-max-width);background:var(--gengage-chat-panel-bg,var(--surface-card));box-shadow:none;border-right:none;border-radius:0;flex:none;max-height:100dvh;margin:0;padding:0 16px 16px;overflow-y:auto}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle{background:var(--surface-card);width:20px;height:48px;color:var(--client-primary);border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));box-shadow:var(--shadow-1);z-index:10;border-radius:10px;font-size:12px}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle);color:var(--client-primary)}.gengage-chat-drawer--with-panel .gengage-chat-conversation{flex:0 0 var(--_gengage-chat-conversation-width);width:var(--_gengage-chat-conversation-width);background:var(--surface-card);box-shadow:var(--shadow-2);border-left:none}.gengage-chat-drawer--with-panel .gengage-chat-messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 22%, transparent) transparent;padding-right:6px}.gengage-chat-drawer--with-panel .gengage-chat-messages::-webkit-scrollbar{width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel.gengage-chat-panel--collapsed{flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-drawer--with-panel:has(.gengage-chat-panel--collapsed){width:var(--_gengage-chat-conversation-width);background:var(--surface-elevated,var(--surface-card));box-shadow:var(--_gengage-chat-shadow)}.gengage-chat-drawer--with-panel .gengage-chat-footer{display:none}.gengage-chat-messages{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.gengage-chat-messages::-webkit-scrollbar{width:6px}.gengage-chat-messages::-webkit-scrollbar-track{background:0 0}.gengage-chat-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 22%, transparent);border-radius:3px}.gengage-chat-messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-bubble--presentation-collapsed{display:none!important}.gengage-chat-former-messages-btn{z-index:2;border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:color-mix(in srgb, var(--surface-card) 96%, transparent);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);flex-shrink:0;align-self:center;margin-bottom:4px;padding:8px 14px;font-size:13px;font-weight:600;position:sticky;top:0}.gengage-chat-former-messages-btn:hover{background:var(--surface-card-muted)}.gengage-chat-bubble--panel-bookmark{max-width:72%;margin-top:-6px}.gengage-chat-inline-panel-bookmark-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:700}.gengage-chat-inline-panel-bookmark-card{border:1px solid color-mix(in srgb, var(--client-primary) 38%, var(--border-default));background:color-mix(in srgb, var(--surface-card) 94%, transparent);text-align:left;width:100%;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;transition:transform .16s,border-color .16s,box-shadow .16s,background-color .16s;display:flex}.gengage-chat-inline-panel-bookmark-card:hover{border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-inline-panel-bookmark-card--active{background:color-mix(in srgb, var(--client-primary-subtle) 42%, var(--surface-card))}.gengage-chat-inline-panel-bookmark-previews{gap:8px;display:flex}.gengage-chat-inline-panel-bookmark-preview{background:color-mix(in srgb, var(--surface-card-muted) 70%, var(--surface-card));border:1px solid color-mix(in srgb, var(--border-default) 74%, transparent);border-radius:14px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;overflow:hidden}.gengage-chat-inline-panel-bookmark-preview-img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-inline-panel-bookmark-preview-fallback{color:var(--text-primary);font-size:13px;font-weight:700}.gengage-chat-inline-panel-bookmark-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-inline-panel-bookmark-cta{color:var(--client-primary);font-size:13px;font-weight:700}@media (width<=768px){.gengage-chat-bubble--panel-bookmark{display:none!important}}.gengage-chat-bubble{position:relative}@keyframes gengage-chat-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-bubble--user{max-width:85%}.gengage-chat-bubble--assistant{max-width:85%;margin-left:2px}.gengage-chat-bubble--ui-spec{box-shadow:none;background:0 0;border:none;min-width:0;padding:0}.gengage-chat-bubble--ui-spec-only{max-width:min(85%,420px)}.gengage-chat-bubble-ui-spec{width:100%}.gengage-chat-bubble--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.gengage-chat-bubble--panel-restore.gengage-chat-bubble--active{outline:none}.gengage-chat-bubble--assistant:empty{display:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a{color:var(--client-primary);text-decoration:underline}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a:hover{text-decoration:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p{margin:0 0 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p:last-child{margin-bottom:0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text ul,.gengage-chat-bubble--assistant .gengage-chat-bubble-text ol{margin:6px 0;padding-left:20px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text li{margin-bottom:6px;line-height:1.5}.gengage-chat-bubble--assistant .gengage-chat-bubble-text code{background:color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:6px;padding:1px 4px;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text pre{background:color-mix(in srgb, var(--surface-card) 78%, var(--surface-card-soft));border:1px solid var(--border-subtle);border-radius:12px;margin:4px 0;padding:10px 12px;overflow-x:auto}.gengage-chat-bubble--assistant .gengage-chat-bubble-text table{border-collapse:collapse;margin:4px 0;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text th,.gengage-chat-bubble--assistant .gengage-chat-bubble-text td{border:1px solid var(--border-default);padding:4px 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text img{border-radius:12px;max-width:100%;height:auto;margin:4px 0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text h1,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h2,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h3,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h4,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h5,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h6{color:var(--text-primary);margin:8px 0 4px;line-height:1.3}.gengage-chat-bubble--assistant .gengage-chat-bubble-text blockquote{border-left:3px solid var(--border-default);color:var(--text-secondary);margin:4px 0;padding-left:12px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text{overflow-wrap:break-word}.gengage-chat-bubble--photo-analysis{border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card-soft) 80%, white), var(--surface-card))}.gengage-chat-photo-analysis-card{flex-direction:column;gap:10px;display:flex}.gengage-chat-photo-analysis-badge{letter-spacing:.02em;color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 14%, white);border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:800}.gengage-chat-photo-analysis-body{flex-direction:column;gap:12px;display:flex}.gengage-chat-photo-analysis-summary{color:var(--text-primary);margin:0;font-size:14px;line-height:1.55}.gengage-chat-photo-analysis-highlights{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-photo-analysis-section{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:color-mix(in srgb, var(--surface-card-soft) 78%, white);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-photo-analysis-section--celeb{gap:6px}.gengage-chat-photo-analysis-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:12px;font-weight:800}.gengage-chat-photo-analysis-section-list{color:var(--text-primary);gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.gengage-chat-photo-analysis-section-item{margin:0}.gengage-chat-photo-analysis-celeb-name{color:var(--text-primary);margin:0;font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-photo-analysis-celeb-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-photo-analysis-next{background:color-mix(in srgb, var(--client-primary) 9%, white);color:var(--text-primary);border-radius:12px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.45}.gengage-chat-bubble--first{border-left:1px solid var(--ds-message-assistant-border)}.gengage-chat-bubble--first .gengage-chat-bubble-text{font-size:inherit}@media (width<=768px){.gengage-chat-bubble--assistant .gengage-chat-bubble-text{line-height:1.5}.gengage-chat-bubble--user{word-break:break-word;max-width:calc(100% - 16px)}}.gengage-chat-typing{align-self:flex-start;max-width:85%}.gengage-chat-typing-dots{flex-shrink:0}.gengage-chat-typing-text{flex:1;min-width:0}.gengage-chat-typing--presence{justify-content:flex-start;width:fit-content;max-width:100%}.gengage-chat-panel-loading-status{margin-bottom:16px}.gengage-chat-panel-loading-status.gds-progress-loader-panel{box-sizing:border-box;min-width:0;max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status.gds-progress-loader-panel{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status .gengage-chat-panel-loading-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-offline-bar{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 22%, var(--border-default));align-items:center;gap:6px;padding:6px 12px;font-size:12px;line-height:1.4;display:none}.gengage-chat-offline-bar--visible{display:flex}.gengage-chat-offline-bar:before{content:"";background:var(--_gengage-rating-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.gengage-chat-thinking-steps{flex-direction:column;gap:4px;padding:4px 0;display:flex}.gengage-chat-thinking-step{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.gengage-chat-thinking-step-marker{text-align:center;flex-shrink:0;width:16px;font-size:12px}.gengage-chat-thinking-step-marker--done{color:var(--_gengage-success-color)}.gengage-chat-thinking-step-marker--active{color:var(--ai-accent-start);animation:1.5s ease-in-out infinite gengage-thinking-pulse}@keyframes gengage-thinking-pulse{0%,to{opacity:1}50%{opacity:.4}}.gengage-chat-thinking-step-text{line-height:1.4}.gengage-chat-error{border-radius:var(--radius-control);background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));text-align:center;border:1px solid color-mix(in srgb, var(--error) 22%, var(--border-default));justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.gengage-chat-error-retry{border:1px solid color-mix(in srgb, var(--error) 24%, var(--border-default));border-radius:var(--radius-control);background:var(--surface-card);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));cursor:pointer;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.gengage-chat-error-retry:hover{background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 32%, var(--border-default))}.gengage-chat-input-area{border-top:1px solid var(--border-subtle);background:var(--surface-card);z-index:2;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:0;padding:10px 12px 12px;display:flex;position:relative}.gengage-chat-input-pill{--gengage-chat-input-control-size:40px;--gengage-chat-input-shell-pad:6px;--gengage-chat-input-shell-radius:18px;--gengage-chat-input-control-radius:12px;min-width:0;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2));background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--gengage-chat-input-shell-radius);padding:var(--gengage-chat-input-shell-pad);box-sizing:border-box;box-shadow:none;flex:1;align-items:center;gap:10px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:visible}.gengage-chat-input-pill:focus-within{border-color:color-mix(in srgb, var(--client-primary) 28%, white);box-shadow:0 0 0 4px var(--client-focus-ring)}.gengage-chat-input{box-sizing:border-box;min-width:0;min-height:40px;max-height:120px;color:var(--_gengage-text-primary);resize:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:11px 0 9px;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{--gengage-chat-input-control-size:44px;--gengage-chat-input-shell-radius:20px;--gengage-chat-input-control-radius:14px;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2))}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;padding:12px 0 10px;font-size:16px;line-height:1.4;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:inherit}.gengage-chat-send{width:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);min-width:var(--gengage-chat-input-control-size,40px);border:1px solid var(--ds-button-primary-border);border-radius:var(--gengage-chat-input-control-radius,12px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;font-weight:700;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s,transform .15s;display:flex;position:relative}.gengage-chat-send:hover{background:var(--ds-button-primary-bg-hover);box-shadow:none;transform:none}.gengage-chat-send:active{box-shadow:none;transform:translateY(0)}.gengage-chat-send svg{width:18px;height:18px}.gengage-chat-send--stop{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--text-primary)}.gengage-chat-send--stop:hover{background:color-mix(in srgb, var(--surface-card-soft) 86%, var(--client-primary-subtle));border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-send-stop-icon{background:currentColor;border-radius:4px;width:12px;height:12px;display:inline-block}.gengage-chat-send--stop:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.2;transition:opacity .16s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.gengage-chat-send--stop:hover:after,.gengage-chat-send--stop:focus-visible:after{opacity:1}}.gengage-chat-send:disabled{background:var(--ds-neutral-200);border-color:var(--ds-neutral-200);opacity:.5;box-shadow:none;cursor:not-allowed}.gengage-chat-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:4px 10px;font-size:10px}.gengage-chat-footer-link{max-width:100%;color:inherit;text-underline-offset:.22em;justify-content:center;align-items:center;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:1.5px;transition:color .2s,text-decoration-color .2s;display:inline-flex}.gengage-chat-footer-link:hover,.gengage-chat-footer-link:focus-visible{color:var(--gengage-chat-footer-link-hover-color,var(--gengage-brand-accent-mid,var(--ai-accent-end,#f768f2)));-webkit-text-decoration-color:var(--gengage-brand-accent-end,#ffed74);text-decoration-color:var(--gengage-brand-accent-end,#ffed74)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.gengage-chat-footer-link:hover,.gengage-chat-footer-link:focus-visible{background-image:linear-gradient(90deg, var(--gengage-brand-accent-start,var(--ai-accent-start,#0b24d6)) 0%, var(--gengage-brand-accent-start,var(--ai-accent-start,#0b24d6)) 42%, var(--gengage-brand-accent-mid,var(--ai-accent-end,#f768f2)) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}}.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-inline-question-buttons{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:10px 0 4px;display:flex}.gengage-chat-inline-question-btn{border:1px solid var(--ds-chip-border);border-radius:var(--radius-pill);background:var(--ds-chip-bg);max-width:100%;min-height:46px;color:var(--text-primary);text-align:left;white-space:normal;cursor:pointer;flex:0 auto;justify-content:flex-start;padding:11px 18px;font-size:13px;font-weight:700;line-height:1.4;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;box-shadow:0 1px #1118270a}.gengage-chat-inline-question-btn:hover{background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border));box-shadow:0 4px 12px #11182714}.gengage-chat-inline-question-btn:active{background:var(--ds-chip-bg-active);border-color:var(--ds-chip-border-active);color:var(--text-primary);transform:translateY(1px);box-shadow:0 1px 4px #1118270f}.gengage-chat-inline-question-icon{color:color-mix(in srgb, var(--client-primary) 38%, var(--text-muted));flex:none;font-size:12px;line-height:1;transform:translateY(-1px)}.gengage-chat-inline-question-label{display:inline}.gengage-chat-root--mobile .gengage-chat-inline-question-buttons{gap:10px}.gengage-chat-root--mobile .gengage-chat-inline-question-btn{width:auto;max-width:min(100%,34rem);padding:12px 16px;font-size:12.5px}.gengage-chat-product-card{border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);background:var(--ds-card-bg);width:160px;min-width:160px;max-width:160px;box-shadow:var(--ds-card-shadow);flex-direction:column;transition:transform .1s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.gengage-chat-product-card:hover{box-shadow:var(--ds-card-shadow-hover);transform:translateY(-2px)}.gengage-chat-product-card-img{object-fit:contain;background:var(--surface-card);box-sizing:border-box;width:100%;height:120px;padding:8px;display:block}.gengage-chat-product-card-body{text-align:center;flex-direction:column;flex:1;gap:4px;padding:8px 10px 10px;display:flex}.gengage-chat-product-card-name{color:var(--_gengage-text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:2.7em;margin-bottom:0;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-card-brand{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-star-half{display:inline-block;position:relative}.gengage-star-half>span{width:.5em;position:absolute;top:0;left:0;overflow:hidden}.gengage-chat-product-card-review-count{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-price,.gengage-chat-product-card-price-block{color:var(--text-primary);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 6px;font-size:16px;font-weight:800;display:flex}.gengage-chat-product-card-current-price{font:inherit;color:var(--gengage-discounted-price-color,var(--text-primary));font-weight:800}.gengage-chat-product-card-original-price{color:var(--_gengage-text-secondary);margin-right:0;font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-campaign-reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0 0 4px;font-size:11px;font-weight:700;line-height:1.25}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.gengage-chat-campaign-reason,.gengage-chat-campaign-price-badge__reason{color:var(--_gengage-campaign-reason-start);background:0 0}}.gengage-chat-product-card-price-stack{flex-direction:column;align-items:flex-start;width:100%;min-width:0;display:flex}.gengage-chat-product-card-price-row{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-card-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.95em;margin:0 1px;display:inline-block}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-original-price{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:16px;font-weight:500;text-decoration:none}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:16px;font-weight:800}.gengage-chat-product-card-meta-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;min-height:34px;display:flex}.gengage-chat-product-card-meta-row--empty{visibility:hidden}.gengage-chat-product-card-rating-compact{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-product-card-rating-compact-value{font-variant-numeric:tabular-nums;color:var(--text-primary)}.gengage-chat-product-card-img-actions{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-product-card-img-actions>*{pointer-events:auto}.gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{position:static}.gengage-chat-price-skeleton{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);vertical-align:middle;background-size:200% 100%;border-radius:4px;width:80px;height:16px;animation:1.5s ease-in-out infinite gengage-skeleton-price-pulse;display:inline-block}@keyframes gengage-skeleton-price-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-product-card-cta{text-align:center;color:var(--client-primary);letter-spacing:.01em;border-top:1px solid var(--border-default);cursor:pointer;background:0 0;margin-top:auto;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:block}.gengage-chat-product-card-cta:hover{color:var(--client-primary-hover);background:var(--surface-card-soft)}.gengage-chat-product-card-cta:active{background:var(--surface-card-soft)}button.gengage-chat-product-card-cta{appearance:none;font:inherit;box-sizing:border-box;border-bottom:none;border-left:none;border-right:none;width:100%;margin:0}.gengage-chat-panel-restore-card{appearance:none;box-sizing:border-box;font:inherit;border:1px solid color-mix(in srgb, var(--client-primary) 34%, var(--border-default));border-radius:calc(var(--radius-control) + 6px);background:var(--surface-card);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:16px 18px;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s;display:flex}.gengage-chat-panel-restore-card--minimal{gap:10px;padding:14px 16px}.gengage-chat-panel-restore-card:hover{background:color-mix(in srgb, var(--surface-card) 92%, var(--client-primary-subtle) 8%);box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));transform:translateY(-1px)}.gengage-chat-panel-restore-card:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:3px}.gengage-chat-panel-restore-card__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:800}.gengage-chat-panel-restore-card__previews{gap:10px;display:flex}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__previews{gap:8px}.gengage-chat-panel-restore-card__thumb{border:1px solid var(--border-default);background:var(--surface-card);border-radius:16px;width:58px;height:58px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8a}.gengage-chat-panel-restore-card__thumb img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-panel-restore-card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:18px;font-weight:700;line-height:1.24;display:-webkit-box;overflow:hidden}.gengage-chat-panel-restore-card__cta{color:var(--client-primary);font-size:15px;font-weight:700}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__cta{letter-spacing:.01em;font-size:14px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card{-webkit-tap-highlight-color:transparent;padding:14px 16px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card__thumb{border-radius:14px;width:52px;height:52px}.gengage-chat-root--mobile .gengage-chat-bubble--active{outline:none}.gengage-chat-product-summary{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0;padding:10px 12px;transition:background .15s,box-shadow .15s,border-color .15s;display:flex}.gengage-chat-product-summary:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-product-summary__image{border-radius:var(--radius-control);border:1px solid var(--border-subtle);background:var(--surface-card-soft);flex-shrink:0;width:64px;height:64px;overflow:hidden}.gengage-chat-product-summary__image img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-product-summary__content{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.gengage-chat-product-summary__name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-product-summary__rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-chat-product-summary__review-count{color:var(--text-secondary);font-size:11px}.gengage-chat-product-summary__price{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:600;line-height:1}.gengage-chat-product-summary__price-original{color:var(--_gengage-text-secondary);font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-product-summary__price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:2px;display:flex}.gengage-chat-product-summary__price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-product-summary__price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-summary__price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.9em;margin:0 1px;display:inline-block}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-original{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:13px;font-weight:500;text-decoration:none}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:13px;font-weight:700}.gengage-chat-product-summary__cta{color:var(--client-primary);border-radius:var(--radius-pill);background:var(--client-primary-subtle);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.gengage-chat-product-summary__cta:hover{background:var(--client-primary-soft)}.gengage-chat-product-summary__cta:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}button.gengage-chat-product-summary__cta{cursor:pointer;font:inherit;border:none}.gengage-chat-product-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:12px;min-height:180px;padding:8px 16px 8px 0;display:flex;overflow-x:auto}.gengage-chat-product-grid>*{scroll-snap-align:start;flex:none}.gengage-chat-product-grid::-webkit-scrollbar{display:none}.gengage-chat-product-grid--pending{filter:blur(3px)saturate(.85);opacity:.75;pointer-events:none;transition:filter .16s ease-out,opacity .16s ease-out;position:relative}.gengage-chat-product-grid--pending:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff59 50%,#0000 100%);animation:1.2s ease-in-out infinite gengage-chat-product-grid-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes gengage-chat-product-grid-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.gengage-chat-product-grid--pending:after{animation:none}}.gengage-chat-review-highlights{padding:4px 0 8px}.gengage-chat-review-empty{color:var(--_gengage-text-secondary);font-size:12px}.gengage-chat-review-subjects-heading{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.gengage-chat-review-subjects{margin-bottom:12px}.gengage-chat-review-subject{color:var(--text-primary);box-shadow:none;gap:6px;padding:7px 11px;font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-review-subject--active{border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}.gengage-chat-review-subject-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.gengage-chat-review-subject-icon svg{width:14px;height:14px;display:block}.gengage-chat-review-subject[data-tone=positive] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-review-subject[data-tone=negative] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--error) 84%, var(--text-primary))}.gengage-chat-review-subject[data-tone=neutral] .gengage-chat-review-subject-icon{color:var(--text-secondary)}.gengage-chat-review-subject-label{color:inherit}.gengage-chat-review-subject-count{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-review-detail{padding:12px}.gengage-chat-review-detail-meta{flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:10px;display:flex}.gengage-chat-review-detail-mentions{color:var(--_gengage-text-primary);font-size:13px;font-weight:700}.gengage-chat-review-detail-positive{color:var(--_gengage-success-color);font-size:13px;font-weight:700}.gengage-chat-review-detail-negative{color:var(--error);font-size:13px;font-weight:700}.gengage-chat-review-snippets{gap:10px;display:grid}.gengage-chat-review-snippet{border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card-soft);padding:8px 10px}.gengage-chat-review-snippet[data-tone=positive]{border-left-color:color-mix(in srgb, var(--success) 40%, var(--border-default))}.gengage-chat-review-snippet[data-tone=negative]{border-left-color:color-mix(in srgb, var(--error) 40%, var(--border-default))}.gengage-chat-review-snippet-text{color:var(--_gengage-text-primary);font-size:13px;line-height:1.4}.gengage-chat-review-snippet-rating{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:700}.gengage-chat-favorites-page{padding:12px}.gengage-chat-favorites-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-favorites-empty-icon{opacity:.25;color:var(--error)}.gengage-chat-favorites-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-favorites-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-favorites-card{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:center;gap:12px;padding:10px 12px;transition:opacity .2s,transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.gengage-chat-favorites-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-favorites-card--removing{opacity:0;transform:translate(8px)}.gengage-chat-favorites-card__image{border-radius:var(--radius-control);background:var(--surface-card-muted);flex-shrink:0;width:56px;height:56px;overflow:hidden}.gengage-chat-favorites-card__image img{object-fit:contain;width:100%;height:100%}.gengage-chat-favorites-card__info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gengage-chat-favorites-card__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.gengage-chat-favorites-card__price{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-favorites-remove{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--error);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex}.gengage-chat-favorites-remove:hover{opacity:1;background:color-mix(in srgb, var(--error) 10%, white)}.gengage-chat-history-page{flex-direction:column;gap:12px;padding:12px;display:flex}.gengage-chat-history-actions{display:flex}.gengage-chat-history-new-chat{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));border-radius:var(--radius-control);background:color-mix(in srgb, var(--client-primary) 9%, white);width:100%;min-height:42px;color:var(--client-primary);cursor:pointer;padding:0 14px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.gengage-chat-history-new-chat:hover{background:color-mix(in srgb, var(--client-primary) 14%, white);border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default))}.gengage-chat-history-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-history-item{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:stretch;gap:8px;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-history-item:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-history-item--active{border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card))}.gengage-chat-history-open{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:12px 14px}.gengage-chat-history-item-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.gengage-chat-history-item-title{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.gengage-chat-history-item-meta{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:600}.gengage-chat-history-item-preview{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-history-delete{border:none;border-left:1px solid color-mix(in srgb, var(--border-default) 84%, transparent);border-top-right-radius:inherit;border-bottom-right-radius:inherit;width:38px;min-width:38px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.gengage-chat-history-delete:hover{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-history-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-history-empty-icon{opacity:.25;color:var(--client-primary)}.gengage-chat-history-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-divider{border:none;border-top:1px solid var(--_gengage-border-color);margin:8px 0}.gengage-chat-divider-wrapper{align-items:center;gap:8px;margin:8px 0;display:flex}.gengage-chat-divider-wrapper hr{border:none;border-top:1px solid var(--_gengage-border-color);flex:1;margin:0}.gengage-chat-divider-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.gengage-chat--overlay .gengage-chat-drawer{border-radius:0;width:100%;max-width:480px;max-height:100%;margin:0 auto;animation:.24s cubic-bezier(.2,.72,.2,1) gengage-chat-overlay-in;position:fixed;inset:0}@keyframes gengage-chat-overlay-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-panel-skeleton{box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:6px 0;display:flex}.gengage-chat-panel-skeleton-block{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;border-radius:10px;height:110px;animation:1.4s infinite gengage-panel-shimmer}@keyframes gengage-panel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-panel-skeleton-block--image{border-radius:8px;height:200px;margin-bottom:12px}.gengage-chat-panel-skeleton-block--text{border-radius:4px;height:16px;margin-bottom:8px}.gengage-chat-panel-skeleton-block--text:nth-child(3){width:80%}.gengage-chat-panel-skeleton-block--text:nth-child(4){width:60%}.gengage-chat-panel-skeleton-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gengage-chat-panel-skeleton-block--card{border-radius:8px;height:120px}.gengage-chat-panel-skeleton--comparison{gap:0;padding:0}.gengage-chat-panel-skeleton--comparison .gengage-chat-panel-loading-status{margin:0;padding:16px 16px 0}.gengage-chat-comparison--skeleton{pointer-events:none;box-sizing:border-box;width:100%}.gengage-chat-comparison-skeleton-shimmer{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;animation:1.4s infinite gengage-panel-shimmer}.gengage-chat-comparison-skeleton-rec-label{border-radius:4px;width:132px;height:12px;margin-bottom:12px}.gengage-chat-comparison-skeleton-rec-img{border-radius:8px;flex-shrink:0;width:80px;height:80px}.gengage-chat-comparison-skeleton-rec-title{border-radius:4px;max-width:100%;height:14px;margin-bottom:6px}.gengage-chat-comparison-skeleton-rec-title--short{width:72%;margin-bottom:8px}.gengage-chat-comparison-skeleton-rec-price{border-radius:4px;width:112px;height:18px}.gengage-chat-comparison-skeleton-hl-label{border-radius:4px;width:96px;height:12px;margin-bottom:6px}.gengage-chat-comparison-skeleton-hl-list{margin:0;padding-left:18px;list-style:none}.gengage-chat-comparison-skeleton-hl-list li{margin-bottom:8px}.gengage-chat-comparison-skeleton-hl-list li:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-hl-line{border-radius:4px;width:100%;height:13px}.gengage-chat-comparison-skeleton-hl-line--medium{width:92%}.gengage-chat-comparison-skeleton-hl-line--short{width:78%}.gengage-chat-comparison-skeleton-kd-heading{border-radius:4px;width:42%;height:14px;margin:0 0 8px}.gengage-chat-comparison-skeleton-kd-line{border-radius:4px;max-width:100%;height:13px;margin-bottom:8px}.gengage-chat-comparison-skeleton-kd-line:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-kd-line:nth-child(odd){width:100%}.gengage-chat-comparison-skeleton-kd-line:nth-child(2n){width:90%}.gengage-chat-comparison-special--skeleton{cursor:default;align-items:center;min-height:44px;display:flex}.gengage-chat-comparison-skeleton-special-line{border-radius:4px;width:56%;max-width:280px;height:14px}.gengage-chat-comparison-skeleton-table-wrap{border:1px solid var(--border-default);background:var(--surface-card);-webkit-overflow-scrolling:touch;border-radius:8px;margin-top:12px;overflow-x:auto}.gengage-chat-comparison-skeleton-table-head,.gengage-chat-comparison-skeleton-table-row{grid-template-columns:72px repeat(3,minmax(0,1fr));align-items:start;gap:8px;padding:10px 12px;display:grid}.gengage-chat-comparison-skeleton-table-head{border-bottom:1px solid var(--_gengage-surface-muted);background:var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-corner{min-height:92px}.gengage-chat-comparison-skeleton-table-col{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-comparison-skeleton-table-th-img{border-radius:6px;flex-shrink:0;width:60px;height:60px}.gengage-chat-comparison-skeleton-table-th-name{border-radius:3px;width:100%;max-width:100%;height:11px}.gengage-chat-comparison-skeleton-table-th-price{border-radius:3px;width:64%;height:13px}.gengage-chat-comparison-skeleton-table-row{border-bottom:1px solid var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-row:last-child{border-bottom:none}.gengage-chat-comparison-skeleton-table-label{border-radius:3px;align-self:center;width:100%;max-width:56px;height:12px}.gengage-chat-comparison-skeleton-table-cell{border-radius:3px;width:100%;height:14px}.gengage-chat-panel-skeleton-block--row{border-radius:4px;height:32px;margin-bottom:4px}.gengage-chat-panel .gengage-chat-product-card{border-radius:var(--radius-card);border:1px solid var(--border-default);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-1);background:var(--surface-card);flex-direction:column;padding:0;display:flex;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.gengage-chat-panel .gengage-chat-product-card-img-actions{gap:6px;top:10px;right:10px}.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{border-radius:8px;width:28px;height:28px}.gengage-chat-panel .gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--client-primary);min-width:36px;height:36px;color:var(--client-on-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;top:10px;left:10px}.gengage-chat-panel .gengage-chat-product-card-brand{display:none}.gengage-chat-panel .gengage-chat-product-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;min-height:auto;padding:4px 0;display:grid;overflow-x:visible}.gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups{grid-template-columns:repeat(auto-fit,minmax(200px,240px));justify-content:start}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups.gengage-chat-product-grid--mobile{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:auto;padding:6px 0 10px;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile .gengage-chat-product-card{box-sizing:border-box;width:100%;min-width:0;max-width:none}.gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;background:var(--surface-card-muted);border-radius:var(--radius-card) var(--radius-card) 0 0;flex-shrink:0;width:100%;position:relative;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card-img{border-radius:inherit;object-fit:cover;object-position:center;box-sizing:border-box;background:0 0;width:100%;height:100%;min-height:0;padding:0;display:block}.gengage-chat-panel .gengage-chat-product-card-body{text-align:left;gap:8px;padding:12px 14px 10px}.gengage-chat-panel .gengage-chat-product-card-meta-row{align-items:center;min-height:38px;margin-bottom:0}.gengage-chat-panel .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-product-card-price-block{color:var(--text-primary);justify-content:flex-start;font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-original-price{color:var(--text-muted);font-size:12px;font-weight:400}.gengage-chat-panel .gengage-chat-product-card-rating-compact{font-size:11px;font-weight:700}.gengage-chat-panel .gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 58%, var(--text-primary))}.gengage-chat-panel .gengage-chat-product-card-name{min-height:0;color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;margin:0 0 2px;font-size:14px;font-weight:600;line-height:1.35}.gengage-chat-panel .gengage-chat-product-card-buy-footer{flex-shrink:0;min-width:0;margin-top:auto;padding:0 14px 16px;display:flex;position:relative}.gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;border:1.5px solid var(--client-primary);background:var(--surface-card);width:100%;min-width:0;min-height:42px;color:var(--client-primary);white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;transition:background .15s,box-shadow .15s;display:flex}.gengage-chat-panel .gengage-chat-product-card-buy-trigger:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);box-shadow:var(--shadow-1)}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{border:1.5px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 28px);min-width:0;color:var(--client-primary);box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;min-height:42px;margin:0 14px 16px;padding:9px 14px;font-size:13px;font-weight:600;display:flex}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta:hover{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-product-card--selected{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, transparent);box-shadow:0 0 0 1px var(--client-primary)}.gengage-chat-panel--visible{min-height:0}.gengage-chat-panel--visible>*{flex-shrink:0}.gengage-chat-load-more-btn{border:1px solid var(--border-default);color:var(--client-primary);cursor:pointer;background:0 0;border-radius:8px;margin:12px auto;padding:8px 24px;font-size:14px;display:block}.gengage-chat-load-more-btn:hover{background:var(--surface-card-muted)}.gengage-chat-product-details-panel{background:var(--surface-card);border:1px solid var(--border-default);box-sizing:border-box;border-radius:16px;flex-direction:column;gap:12px;width:100%;padding:14px;display:flex}.gengage-chat-product-details-media{border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;flex-direction:column;align-items:center;padding:12px;display:flex}.gengage-chat-product-details-img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:300px}.gengage-chat-product-details-content{flex-direction:column;gap:8px;min-width:0;display:flex}.gengage-chat-product-details-title{color:var(--text-primary);margin:0;font-size:17px;font-weight:700;line-height:1.3}.gengage-chat-product-details-rating{background:color-mix(in srgb, var(--warning) 10%, white);width:fit-content;color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-product-details-review-count{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));font-weight:600}.gengage-chat-product-details-price{align-items:baseline;gap:6px;display:flex}.gengage-chat-product-details-original-price{color:var(--text-secondary);font-size:14px;text-decoration:line-through}.gengage-chat-product-details-price-stack{flex-direction:column;align-items:flex-start;gap:2px;width:100%;display:flex}.gengage-chat-product-details-price-stack .gengage-chat-campaign-reason{margin-bottom:2px;font-size:13px;font-weight:600}.gengage-chat-product-details-price--inline{flex-wrap:nowrap;align-items:baseline}.gengage-chat-product-details-price--inline .gengage-chat-product-details-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:1em;margin:0 4px;display:inline-block}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{color:var(--text-secondary);order:0;font-size:22px;font-weight:500;text-decoration:none}.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));order:0;font-size:22px;font-weight:800}.gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:22px;font-weight:800;line-height:1.1}.gengage-chat-product-details-stock{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700}.gengage-chat-product-details-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-details-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-product-details-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.gengage-chat-product-details-cta{border-radius:var(--radius-control,12px);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .14s,transform .12s;display:inline-flex}.gengage-chat-product-details-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-product-details-cta:active{background:var(--ds-button-primary-bg-active)}.gengage-chat-product-details-atc{border-radius:var(--radius-control);background:var(--_gengage-success-color);color:var(--client-on-primary);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:filter .12s,transform .12s;display:inline-flex}.gengage-chat-product-details-atc:hover{filter:brightness(1.08);transform:translateY(-1px)}.gengage-chat-product-details-atc:active{transform:translateY(1px)}.gengage-chat-product-detail-tabs{border-top:1px solid var(--border-default);margin-top:4px;padding-top:12px}.gengage-chat-product-detail-tab-bar{border-bottom:1px solid var(--border-default);gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.gengage-chat-product-detail-tab{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.gengage-chat-product-detail-tab:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-card-soft) 82%, transparent)}.gengage-chat-product-detail-tab--active{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-product-detail-tab-panel{color:var(--text-secondary);font-size:13px;line-height:1.6}.gengage-chat-product-description{color:var(--text-primary);flex-direction:column;gap:10px;display:flex}.gengage-chat-product-description p,.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4,.gengage-chat-product-description ul,.gengage-chat-product-description ol{margin:0}.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-product-description ul,.gengage-chat-product-description ol{padding-left:20px}.gengage-chat-product-description li+li{margin-top:6px}.gengage-chat-product-description strong,.gengage-chat-product-description b{font-weight:800}.gengage-chat-product-specs-table{border-collapse:collapse;width:100%;font-size:13px}.gengage-chat-product-specs-table tr:nth-child(2n){background:var(--surface-card-muted)}.gengage-chat-product-specs-key{color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border-subtle);width:40%;padding:6px 10px;font-weight:600}.gengage-chat-product-specs-value{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:6px 10px}.gengage-chat-product-card-atc{opacity:0;z-index:1;transition:opacity .15s;position:absolute;bottom:42px;right:6px}.gengage-chat-product-card:hover .gengage-chat-product-card-atc{opacity:1}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-atc{opacity:1;width:100%;margin:0;display:flex;position:relative;bottom:auto;right:auto}}.gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translateY(100%)}@media (width<=900px){.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(280px, calc(100vw - var(--_gengage-chat-conversation-width)), 560px);max-width:560px}}.gengage-chat-attachment-preview{background:var(--surface-card-muted);border:1px solid var(--border-default);box-sizing:border-box;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.gengage-chat-attachment-preview--hidden{display:none}.gengage-chat-attachment-preview-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:40px;height:40px}.gengage-chat-attachment-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.gengage-chat-attachment-remove{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.gengage-chat-attachment-remove:hover{color:var(--error)}.gengage-chat-attach-btn{background:var(--surface-card-soft);border:1px solid var(--border-default);cursor:pointer;width:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);border-radius:var(--gengage-chat-input-control-radius,12px);color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s,border-color .15s;display:flex}.gengage-chat-attach-btn:hover{color:var(--client-primary);background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-attach-btn svg{width:20px;height:20px}.gengage-chat-attach-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.gengage-chat-attach-menu{z-index:50;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-card);min-width:196px;box-shadow:var(--shadow-3);margin:0;padding:4px 0;list-style:none;position:absolute;bottom:calc(100% + 8px);left:0}.gengage-chat-attach-menu[hidden]{display:none!important}.gengage-chat-attach-menu-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s;display:flex}.gengage-chat-attach-menu-item:hover{background:var(--surface-card-muted)}.gengage-chat-attach-menu-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-attach-menu-label{flex:1;min-width:0}.gengage-chat-attach-menu-sep{background:var(--border-default);height:1px;margin:4px 10px}.gengage-chat-mic-btn{cursor:pointer;border-radius:var(--radius-control);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s;display:flex}.gengage-chat-mic-btn:hover{color:var(--text-primary);background:var(--surface-card-muted);border-color:var(--border-default)}.gengage-chat-mic-btn svg{width:20px;height:20px}.gengage-chat-mic-btn--active{color:var(--error);animation:1.2s ease-in-out infinite gengage-mic-pulse}.gengage-chat-mic-btn--active:hover{color:color-mix(in srgb, var(--error) 84%, black)}@keyframes gengage-mic-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.gengage-chat-input-area--dragover{outline:2px dashed var(--client-primary);outline-offset:-2px;background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-attachment-thumb{border-radius:8px;width:120px;max-width:100%;height:auto;margin-bottom:6px;display:block}.gengage-chat-root--mobile .gengage-chat-header-btn,.gengage-chat-root--mobile .gengage-chat-close{border-radius:12px;width:44px;height:44px}@media (width<=374px){.gengage-chat-root--mobile .gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:var(--gengage-chat-input-control-size,44px);height:var(--gengage-chat-input-control-size,44px);min-width:var(--gengage-chat-input-control-size,44px);border-radius:var(--gengage-chat-input-control-radius,14px)}.gengage-chat-root--mobile .gengage-chat-attach-btn svg,.gengage-chat-root--mobile .gengage-chat-mic-btn svg{width:22px;height:22px}.gengage-chat-root--mobile .gengage-chat-panel-divider{cursor:ns-resize;touch-action:pan-y;background:0 0;justify-content:center;align-items:center;width:100%;height:20px;display:flex;position:relative;overflow:visible}.gengage-chat-root--mobile .gengage-chat-panel-divider--hidden{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel{border-radius:0;width:100%;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-panel{z-index:10;width:100%;min-width:0;max-width:none;max-height:none;box-shadow:none;background:var(--gengage-chat-panel-bg,var(--surface-card));pointer-events:none;border:none;border-radius:0;flex-direction:column;padding:0 12px 16px;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0;overflow-y:auto;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-panel--visible{pointer-events:auto;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-panel-divider,.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-panel-divider{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-body{flex-direction:row}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-conversation{border-left:none;flex:1;width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-cta{box-sizing:border-box;width:100%;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-panel{gap:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:0;padding:8px}.gengage-chat-root--mobile .gengage-chat-product-details-content{gap:6px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:14px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-product-details-rating{padding:2px 6px;font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-original-price{font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{gap:6px;margin-top:2px}.gengage-chat-root--mobile .gengage-chat-product-details-cta{min-height:38px;padding:0 14px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-product-grid:not(.gengage-chat-product-grid--mobile){scroll-snap-type:x mandatory}.gengage-chat-root--mobile .gengage-chat-product-grid.gengage-chat-product-grid--mobile{scroll-snap-type:none}.gengage-chat-root--mobile .gengage-chat-product-card{box-sizing:border-box;scroll-snap-align:center;width:280px;min-width:280px;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-grid--mobile .gengage-chat-product-card{scroll-snap-align:start;width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-product-card-img-wrapper{justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:180px;display:block}.gengage-chat-root--mobile .gengage-chat-product-card-discount-badge{padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-drawer{border-radius:0;width:100%;max-height:100%;position:fixed;inset:0}.gengage-chat-root--mobile .gengage-chat-bubble{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:min(200px,72%)}.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{flex-shrink:0;width:28px;min-width:28px;height:28px;min-height:28px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-discount-badge{min-width:28px;height:28px;padding:0 6px;font-size:10px;font-weight:700}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer{padding:0 12px 14px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;white-space:normal;text-align:center;-webkit-hyphens:auto;hyphens:auto;min-width:0;max-width:100%;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{box-sizing:border-box;white-space:normal;width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);margin-left:12px;margin-right:12px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-rating-compact{gap:3px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-stock{padding:2px 5px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-messages{scrollbar-width:none;padding:12px 16px}.gengage-chat-root--mobile .gengage-chat-messages::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-drawer{border-top:none}.gengage-chat-root--mobile .gengage-chat-header{border-radius:16px 16px 0 0;min-height:72px;padding-top:22px;padding-bottom:8px}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-header{border-radius:0}.gengage-chat-root--mobile .gengage-chat-conversation{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-product-details-img{object-fit:contain;min-height:0;max-height:200px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{flex-wrap:wrap;gap:8px}.gengage-chat-root--mobile .gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px}.gengage-chat-root--mobile .gengage-chat-input::placeholder{font-size:13px;line-height:inherit}.gengage-chat-kvkk-banner{color:var(--text-secondary);background:0 0;border:none;padding:14px 32px 10px;font-size:13px;line-height:1.55}.gengage-chat-kvkk-content{min-width:0}.gengage-chat-kvkk-content p{margin:0}.gengage-chat-kvkk-content a{color:inherit;margin-top:8px;text-decoration:underline;display:inline-block}.gengage-chat-comparison{box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-comparison-heading{letter-spacing:.05em;color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:700}.gengage-chat-comparison-recommended{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);padding:16px}.gengage-chat-comparison-recommended-label{color:var(--client-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.gengage-chat-comparison-recommended-body{grid-template-columns:minmax(108px,148px) minmax(0,1fr);align-items:flex-start;gap:16px;display:grid}.gengage-chat-comparison-recommended-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;justify-content:center;align-items:center;display:flex;overflow:hidden}.gengage-chat-comparison-recommended-body img,.gengage-chat-comparison-recommended-placeholder{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:8px}.gengage-chat-comparison-recommended-placeholder{background:var(--surface-card-muted)}.gengage-chat-comparison-recommended-info{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.gengage-chat-comparison-recommended-title{color:var(--text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.2}.gengage-chat-comparison-recommended-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gengage-chat-comparison-recommended-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:color-mix(in srgb, var(--warning) 78%, var(--text-primary));border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-comparison-recommended-rating-value{color:var(--text-primary)}.gengage-chat-comparison-recommended-price{color:var(--text-primary);font-size:20px;font-weight:700}.gengage-chat-comparison-highlights{border-top:1px solid var(--border-subtle);padding-top:12px}.gengage-chat-comparison-highlights-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-comparison-highlights ul{color:var(--text-primary);margin:0;padding-left:18px;font-size:14px;line-height:1.55}.gengage-chat-comparison-special{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));border-radius:var(--radius-card);color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin-bottom:12px;padding:12px 16px;font-size:13px}.gengage-chat-comparison-special summary{cursor:pointer;font-weight:600}.gengage-chat-comparison-special ul{margin:8px 0 0;padding-left:18px;line-height:1.6}.gengage-chat-comparison-table{border-collapse:collapse;background:var(--surface-card);width:100%;font-size:13px}.gengage-chat-comparison-table th,.gengage-chat-comparison-table td{text-align:center;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:10px 12px}.gengage-chat-comparison-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.gengage-chat-comparison-table td ul,.gengage-chat-comparison-table td ol{text-align:left;margin:0;padding-left:18px}.gengage-chat-comparison-table td li+li{margin-top:4px}.gengage-chat-comparison-table thead th:not(:first-child){vertical-align:top}.gengage-chat-comparison-table-header-cell{box-sizing:border-box;grid-template-rows:auto 1fr auto;place-items:start center;gap:6px;height:100%;min-height:0;display:grid}.gengage-chat-comparison-table-header-cell--clickable{cursor:pointer;border-radius:var(--radius-control);padding:6px;transition:background .16s,box-shadow .16s,transform .16s}.gengage-chat-comparison-table-header-cell--clickable:hover{background:var(--surface-card-soft);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-comparison-table-header-cell--clickable:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-comparison-table-header-cell img{object-fit:contain;border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-header-img-placeholder{border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-product-name{width:100%;min-width:0;color:var(--text-secondary);text-align:center;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;align-self:start;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-comparison-table-price{color:var(--text-primary);text-align:center;width:100%;font-weight:700}.gengage-chat-comparison-label{text-align:left;color:var(--text-secondary);white-space:nowrap;font-weight:600}.gengage-chat-comparison-selected{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-comparison-recommended-text{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.gengage-chat-comparison-key-differences{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-muted)}.gengage-chat-comparison-key-differences-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.gengage-chat-comparison-key-differences-summary::-webkit-details-marker{display:none}.gengage-chat-comparison-key-differences-summary-label{color:var(--text-primary)}.gengage-chat-comparison-key-differences-summary-meta{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-comparison-key-differences[open] .gengage-chat-comparison-key-differences-summary-meta{opacity:0}.gengage-chat-comparison-key-differences-content{color:var(--text-primary);padding:0 16px 16px;font-size:14px;line-height:1.7}.gengage-chat-comparison-key-differences-content ul,.gengage-chat-comparison-key-differences-content ol{margin:0;padding-left:20px}.gengage-chat-comparison-key-differences-content li+li{margin-top:8px}@media (width<=960px){.gengage-chat-comparison-recommended-body{grid-template-columns:1fr}.gengage-chat-comparison-recommended-title{font-size:20px}}.gengage-chat-pills{border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:8px 12px 6px;position:relative}.gengage-chat-pills-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding-right:28px;display:flex;overflow-x:auto}.gengage-chat-pills-scroll::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-pills-scroll{flex-wrap:wrap;gap:6px}.gengage-chat-root--mobile .gengage-chat-pill{white-space:normal;max-width:100%}.gengage-chat-pill{border:1px solid var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.gengage-chat-pill:hover{background:color-mix(in srgb, var(--client-primary) 12%, white);border-color:color-mix(in srgb, var(--client-primary) 36%, white)}.gengage-chat-pill:active{transform:none}.gengage-chat-pill--rich{border-radius:18px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.gengage-chat-pill-img{object-fit:cover;background:var(--surface-card);border-radius:12px;flex-shrink:0;width:32px;height:32px}.gengage-chat-pill-text{font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-pill-desc{display:none}.gengage-chat-pill--rich .gengage-chat-pill-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;font-weight:500;display:block;overflow:hidden}.gengage-chat-pills-arrow{border:1px solid var(--border-default);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-1);z-index:1;border-radius:12px;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.gengage-chat-pills-arrow:hover{background:var(--surface-card-soft);color:var(--client-primary)}@media (prefers-reduced-motion:reduce){.gengage-chat-uispec>*,.gengage-chat-action-btn,.gengage-chat-inline-question-btn,.gengage-chat-product-card,.gengage-chat-product-card-cta,.gengage-chat-send,.gengage-chat-launcher-container,.gengage-chat-launcher,.gengage-chat-pill,.gengage-chat-drawer,.gengage-chat-typing-dots span,.gengage-chat-thinking-step-marker--active,.gengage-chat-bubble,.gengage-chat-panel-skeleton-block,.gengage-chat-ai-toppick-card,.gengage-chat-mic-btn--active,.gengage-chat-ai-toppick-spinner:after,.gengage-chat-cart-toast,.gengage-chat-header-btn--cart-flash{transition:none!important;animation:none!important;transform:none!important}}.gengage-chat-bubble--user{position:relative}.gengage-chat-rollback-btn{border-radius:var(--radius-pill);background:var(--surface-card-muted);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.gengage-chat-bubble--user:hover .gengage-chat-rollback-btn{opacity:1}.gengage-chat-rollback-btn:hover{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-bubble--hidden{display:none}.gengage-chat-ai-top-picks{flex-direction:column;gap:12px;padding:8px 0;scroll-margin-top:60px;display:flex}.gengage-chat-ai-top-picks-title{color:var(--text-primary);margin:0 0 4px;font-size:15px;font-weight:600}.gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:10px;min-width:0;display:flex}.gengage-chat-ai-top-picks-rest,.gengage-chat-ai-toppick-top-row{display:contents}.gengage-chat-ai-toppick-detail{width:100%;min-width:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks{gap:0;padding-top:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-title{flex-shrink:0;width:100%;margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,auto);align-items:stretch;gap:12px;margin:0;padding:12px 0;display:grid;overflow:visible}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex:initial;scroll-snap-align:none;width:100%;min-width:0;max-width:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child{grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:12px 18px;display:grid}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail){grid-template-rows:auto auto auto}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex-direction:column;align-items:stretch}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{max-height:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-media{aspect-ratio:4/3;grid-area:1/1/span 2;max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-media{grid-row:1/span 3}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-detail{grid-area:2/2;min-width:0;padding-top:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{object-fit:contain;width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-height:0;padding:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-body{grid-area:1/2;padding-top:6px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-cta{grid-row:3}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:calc(100% - 24px);color:var(--ds-button-secondary-fg);align-self:stretch;margin:14px 12px 12px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:auto;min-width:180px;color:var(--ds-button-secondary-fg);grid-area:2/2;place-self:end start;margin:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-secondary-bg-hover);filter:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.gengage-chat-ai-toppick-rating-icon{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-ai-toppick-rating-value{color:var(--text-primary)}.gengage-chat-ai-toppick-media .gengage-chat-ai-toppick-discount-badge{background:var(--client-primary);color:var(--client-on-primary);z-index:1;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.2;position:absolute;top:4px;left:4px;right:auto}.gengage-chat-ai-toppick-card--winner,.gengage-chat-ai-toppick-card--compact{--_badge-inset-top:12px;--_badge-height:30px;box-sizing:border-box;padding:calc(var(--_badge-inset-top) + var(--_badge-height) + 6px) 12px 12px;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;transition:box-shadow .2s,background .15s,transform .15s;display:flex;position:relative;overflow:visible}.gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-card--winner:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default)}.gengage-chat-ai-toppick-card--compact:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-ai-toppick-badge{top:var(--_badge-inset-top,12px);z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.04em;pointer-events:none;white-space:normal;border-radius:999px;align-items:center;max-width:calc(100% - 28px);margin:0;padding:8px 14px;font-size:11px;font-weight:800;line-height:1.25;display:inline-flex;position:absolute;left:14px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary);box-shadow:0 10px 18px color-mix(in srgb, var(--client-primary) 20%, transparent)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card);color:color-mix(in srgb, var(--client-primary) 72%, var(--text-primary));border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin-top:4px;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.gengage-chat-ai-toppick-img{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:4px}.gengage-chat-ai-toppick-body{flex-direction:column;flex:1;gap:0;min-width:0;padding:0;display:flex}.gengage-chat-ai-toppick-name{color:var(--text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.375;display:-webkit-box;overflow:hidden}.gengage-chat-ai-toppick-role{color:var(--client-primary);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.gengage-chat-ai-toppick-labels{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.gengage-chat-ai-toppick-label{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.gengage-chat-ai-toppick-label[data-sentiment=positive]{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=negative]{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=neutral]{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-reason{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.5}.gengage-chat-ai-toppick-review{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-primary);border-radius:14px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-snippet{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-price{color:var(--text-primary);margin-top:4px;font-size:14px;font-weight:700}.gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-ai-toppick-original-price{color:var(--text-secondary);font-size:12px;font-weight:400;text-decoration:line-through}.gengage-chat-ai-toppick-price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:4px;display:flex}.gengage-chat-ai-toppick-price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-campaign-price-badge{box-sizing:border-box;border-radius:var(--radius-control,10px);background-image:linear-gradient(var(--gengage-campaign-price-badge-fill,#fff) 0 0), linear-gradient(135deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;flex-direction:row;align-items:center;gap:8px;max-width:100%;padding:7px 9px;display:inline-flex}.gengage-chat-campaign-price-badge__logo{flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-campaign-price-badge__logo img{object-fit:contain;width:auto;max-width:64px;height:auto;max-height:26px;display:block}.gengage-chat-campaign-price-badge__body{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;min-width:0;display:flex}.gengage-chat-campaign-price-badge__reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-campaign-price-badge__sale{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800;line-height:1.15}.gengage-chat-product-card-price-row .gengage-chat-campaign-price-badge__sale{font-size:13px}.gengage-chat-product-summary__price .gengage-chat-campaign-price-badge__sale{font-size:12px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge{border-radius:var(--radius-control,12px);padding:9px 11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__reason{font-size:11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__sale{font-size:18px}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge)){align-items:last baseline}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-ai-toppick-price-sep,.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-card-price-sep,.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-summary__price-sep,.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-details-price-sep){align-self:last baseline}.gengage-chat-ai-toppick-price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-ai-toppick-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.85em;margin:0 1px;display:inline-block}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-original-price{font-size:14px;font-weight:500;text-decoration:none}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800}.gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control,12px);background:var(--ds-button-primary-bg);width:calc(100% - 24px);color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;box-sizing:border-box;opacity:0;pointer-events:none;flex-shrink:0;align-self:stretch;margin:14px 12px 12px;padding:8px 0;font-size:13px;font-weight:700;transition:opacity .18s,transform .18s,background .15s;display:block;transform:translateY(6px)}.gengage-chat-ai-toppick-card--winner:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--winner:focus-within .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:focus-within .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;transform:translateY(0)}.gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-ai-toppick-spinner{background:color-mix(in srgb, var(--surface-card) 78%, transparent);z-index:6;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gengage-chat-ai-toppick-spinner:after{content:"";border:3px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite gengage-spin}@keyframes gengage-spin{to{transform:rotate(360deg)}}.gengage-chat-root--mobile .gengage-chat-ai-top-picks{gap:8px;padding:4px 0}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-title{margin:0 0 2px;font-size:14px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:8px;min-width:0;padding:6px 0 2px;display:flex;overflow:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child{flex-direction:column;align-items:stretch;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child.gengage-chat-ai-toppick-card--winner{flex-direction:column}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex-flow:row;gap:8px;min-width:0;margin:0 -2px;padding:2px 2px 8px;display:flex;overflow:auto visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest--uniform-mobile{scroll-snap-type:none;flex-direction:column;margin:0;padding:0;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest::-webkit-scrollbar{width:0;height:0;display:none}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest .gengage-chat-ai-toppick-card--compact{scroll-snap-align:start;flex:0 0 min(82vw,272px);width:min(82vw,272px);min-width:0;max-width:272px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest--uniform-mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex:none;width:100%;max-width:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:6px 8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 28%, var(--border-default));margin-bottom:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default);box-shadow:none;flex-direction:column;align-items:stretch}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform{margin-top:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-top-row,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:10px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:10px;flex:0 0 clamp(96px,30vw,124px);width:clamp(96px,30vw,124px);height:clamp(96px,30vw,124px);max-height:none;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-body{flex:1;min-width:0;padding-top:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-detail{width:100%;margin-top:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-reason{color:var(--text-primary);margin:0;font-size:12px;line-height:1.45;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-review{color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;margin-top:8px;padding:8px 10px;font-size:12px;font-style:italic;line-height:1.4;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:8px;flex:0 0 64px;width:64px;height:64px;max-height:64px;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;max-height:100%;padding:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-width:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-rating{display:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-detail{width:100%;margin-top:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-role-line{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:9px;font-weight:600;line-height:1.15}.gengage-chat-root--mobile .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:3px;right:5px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:5px;right:6px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-badge{letter-spacing:.04em;background:var(--client-primary);max-width:calc(100% - 18px);color:var(--client-on-primary);box-shadow:none;border:none;padding:2px 6px;font-size:8px;font-weight:700;line-height:1.15;top:-14px;left:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-name{margin-bottom:1px;font-size:12px;line-height:1.22}.gengage-chat-root--mobile .gengage-chat-ai-toppick-name{margin-bottom:2px;font-size:13px;line-height:1.28}.gengage-chat-root--mobile .gengage-chat-ai-toppick-rating{gap:3px;margin-top:2px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-price{margin-top:1px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-price{margin-top:2px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-original-price{font-size:11px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-labels,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{display:none!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;border:1px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 16px);color:var(--client-primary);box-shadow:none;filter:none;align-self:stretch;margin:8px 8px 6px;padding:6px 0;font-size:12px;font-weight:600;transform:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta{display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta:hover{background:color-mix(in srgb, var(--client-primary) 10%, var(--surface-card));color:var(--client-primary);border-color:var(--client-primary);filter:none}.gengage-chat-root--mobile .gengage-chat-rollback-btn{left:-24px}.gengage-chat-grounding-review{align-items:center;gap:12px;padding:12px 16px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-grounding-review:hover{background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}.gengage-chat-grounding-review-icon{background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));width:32px;height:32px;color:var(--client-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gengage-chat-grounding-review-icon svg{width:18px;height:18px;display:block}.gengage-chat-grounding-review-body{flex:1;min-width:0}.gengage-chat-grounding-review-title{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grounding-review-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.gengage-chat-grounding-review-cta{color:var(--client-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.gengage-chat-grounding-review-cta-icon{align-items:center;display:inline-flex}.gengage-chat-grounding-review-cta-icon svg{width:14px;height:14px;display:block}.gengage-chat-grouping-cards{flex-direction:column;gap:6px;display:flex}.gengage-chat-grouping-cards-scroll{flex-direction:column;gap:6px;min-width:0;display:flex}.gengage-chat-grouping-card{background:var(--surface-card-soft);border:1px solid var(--border-default);border-radius:var(--radius-control);align-items:center;gap:10px;padding:8px 12px;transition:background .15s,border-color .15s;display:flex}.gengage-chat-grouping-card:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-grouping-card-arrow{color:var(--client-primary);flex-shrink:0;font-size:14px;display:none}.gengage-chat-grouping-card-img{border-radius:calc(var(--radius-control) - 4px);object-fit:cover;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px}.gengage-chat-grouping-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.gengage-chat-grouping-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:12px}.gengage-chat-grouping-card-labels{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-grouping-card-label{color:var(--text-secondary);background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-grouping-card-img{display:none}.gengage-chat-root--mobile .gengage-chat-grouping-card-arrow{display:inline}.gengage-chat-suggested-search-cards{flex-direction:column;gap:8px;display:flex}.gengage-chat-suggested-search-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-1);align-items:center;gap:14px;padding:14px 16px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-suggested-search-card:hover{background:var(--surface-card);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-suggested-search-card-img{object-fit:contain;background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:14px;flex-shrink:0;width:64px;height:64px;padding:4px}.gengage-chat-suggested-search-card-body{flex:1;min-width:0}.gengage-chat-suggested-search-card-name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-details-gallery{position:relative}.gengage-chat-product-details-gallery .gengage-chat-product-details-img{touch-action:pan-y}.gengage-chat-product-gallery-nav{z-index:3;border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;background:color-mix(in srgb, var(--surface-card) 92%, transparent);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0;transition:background .15s,opacity .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gengage-chat-product-gallery-nav:hover:not(:disabled){background:var(--surface-card);color:var(--client-primary)}.gengage-chat-product-gallery-nav:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-gallery-nav:disabled{opacity:.35;cursor:not-allowed}.gengage-chat-product-gallery-nav--prev{left:8px}.gengage-chat-product-gallery-nav--next{right:8px}.gengage-chat-product-gallery-thumbs{scrollbar-width:thin;justify-content:center;gap:8px;width:100%;padding:10px 0 4px;display:flex;overflow-x:auto}.gengage-chat-product-gallery-thumb{object-fit:cover;cursor:pointer;background:var(--surface-card);border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;transition:border-color .15s}.gengage-chat-product-gallery-thumb:hover{border-color:var(--border-strong)}.gengage-chat-product-gallery-thumb--active{border-color:var(--client-primary)}.gengage-chat-product-gallery-thumb-more{background:var(--surface-card-muted);width:56px;height:56px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.gengage-chat-product-variants-label{color:var(--text-muted);text-transform:none;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-product-variants-list{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-product-variant-btn{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:6px 12px;font-size:12px;transition:background .15s,border-color .15s}.gengage-chat-product-variant-btn:hover{background:var(--surface-card-muted);border-color:color-mix(in srgb, var(--client-primary) 20%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-details-panel{border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);gap:16px;padding:16px}.gengage-chat-product-details-media{border-color:var(--border-default);border-radius:var(--radius-card);background:var(--surface-card-soft);justify-content:center;min-height:320px}.gengage-chat-product-details-img{max-height:420px}.gengage-chat-product-details-content{gap:12px}.gengage-chat-product-details-brand{color:var(--client-primary);font-size:12px;font-weight:800;line-height:1.2}.gengage-chat-product-details-title{font-size:22px;line-height:1.2}.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));background:color-mix(in srgb, var(--warning) 10%, var(--surface-card));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));gap:6px;padding:6px 10px;font-family:inherit}button.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));cursor:pointer}.gengage-chat-product-details-rating--clickable:hover{border-color:color-mix(in srgb, var(--warning) 42%, var(--border-default));background:color-mix(in srgb, var(--warning) 14%, var(--surface-card))}.gengage-chat-product-details-rating .gengage-star-rating{line-height:1}.gengage-chat-product-details-rating-value{color:var(--text-primary)}.gengage-chat-product-details-price{flex-wrap:wrap;gap:10px}.gengage-chat-product-details-original-price{order:2}.gengage-chat-product-details-current-price{order:1;font-size:30px}.gengage-chat-product-details-discount-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--error) 12%, white);min-height:24px;color:color-mix(in srgb, var(--error) 84%, var(--text-primary));order:3;align-items:center;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{order:0;font-size:30px}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{font-weight:500}.gengage-chat-product-details-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.gengage-chat-product-details-fact{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-card-soft);min-width:0;padding:8px 10px}.gengage-chat-product-details-fact dt,.gengage-chat-product-details-fact dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.gengage-chat-product-details-fact dt{color:var(--text-muted);font-size:11px;font-weight:700}.gengage-chat-product-details-fact dd{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:700}.gengage-chat-product-variants{margin-top:4px}.gengage-chat-product-variants-label{color:var(--text-primary);letter-spacing:normal;margin-bottom:8px;font-size:14px;font-weight:800}.gengage-chat-product-variants-list{gap:8px}.gengage-chat-product-variant-btn{border-radius:var(--radius-control);min-height:44px;color:var(--text-primary);gap:8px;padding:7px 10px;font-size:13px;font-weight:700}.gengage-chat-product-variant-btn--active{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--client-primary) 36%, transparent);color:var(--client-primary)}.gengage-chat-product-variant-btn--out{opacity:.48;cursor:not-allowed}.gengage-chat-product-variant-swatch{border:1px solid var(--border-default);background:var(--surface-card-muted);width:22px;height:22px;box-shadow:inset 0 0 0 2px var(--surface-card);border-radius:50%;flex:0 0 22px}.gengage-chat-product-variant-swatch--image{object-fit:cover;box-shadow:none}.gengage-chat-product-variant-label,.gengage-chat-product-variant-price{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gengage-chat-product-variant-price{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-product-details-actions{gap:10px;margin-top:6px}.gengage-chat-product-details-atc,.gengage-chat-product-details-cta{border-radius:var(--radius-control);min-height:44px}.gengage-chat-product-details-atc{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg)}.gengage-chat-product-details-atc:hover{background:var(--ds-button-primary-bg-hover);filter:none}.gengage-chat-product-details-cta.gds-btn-secondary{border-color:var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg)}.gengage-chat-product-details-cta.gds-btn-secondary:hover{background:var(--ds-button-secondary-bg-hover)}@media (width>=960px){.gengage-chat-product-details-panel{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;display:grid}.gengage-chat-product-details-media{position:sticky;top:0}.gengage-chat-product-detail-tabs{grid-column:1/-1}}.gengage-chat-root--mobile .gengage-chat-product-details-panel{box-shadow:none;gap:10px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:220px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price{font-size:24px}.gengage-chat-root--mobile .gengage-chat-product-details-facts{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-product-details-actions{grid-template-columns:1fr 1fr 44px;align-items:stretch;display:grid}.gengage-chat-root--mobile .gengage-chat-product-details-actions>.gengage-chat-product-details-share{width:44px;min-width:44px}.gengage-chat-root--mobile .gengage-chat-product-details-atc,.gengage-chat-root--mobile .gengage-chat-product-details-cta{width:100%;padding-inline:10px}.gengage-chat-product-grid-wrapper{flex-direction:column;gap:6px;display:flex}.gengage-chat-product-grid-wrapper--grouped{gap:12px}.gengage-chat-product-grid-sections{flex-direction:column;gap:20px;display:flex}.gengage-chat-product-grid-section{border-top:1px solid color-mix(in srgb, var(--border-default) 70%, transparent);flex-direction:column;gap:10px;padding:14px 0 18px;display:flex}.gengage-chat-product-grid-section:first-child{border-top:0;padding-top:4px}.gengage-chat-product-grid-section:last-child{padding-bottom:4px}.gengage-chat-product-grid-section-head{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:0 2px;display:flex}.gengage-chat-product-grid-section-title{letter-spacing:0;min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:15px;font-weight:700;line-height:1.25}.gengage-chat-product-grid-section-count{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card-soft);min-height:22px;color:var(--text-secondary);letter-spacing:0;white-space:nowrap;flex:none;justify-content:center;align-items:center;padding:1px 8px;font-family:inherit;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.gengage-chat-panel .gengage-chat-product-grid--section{padding-top:0;padding-bottom:2px}.gengage-chat-root--mobile .gengage-chat-product-grid-sections{gap:16px}.gengage-chat-root--mobile .gengage-chat-product-grid-section{gap:8px;padding:12px 0 14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-title{font-size:14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-count{min-height:20px;padding-inline:8px;font-size:10.5px}.gengage-chat-consulting-style-picker{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));background:linear-gradient(160deg, color-mix(in srgb, var(--surface-card) 80%, white), color-mix(in srgb, var(--surface-card-soft) 84%, white));border-radius:20px;padding:12px}.gengage-chat-consulting-style-picker-title{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:800}.gengage-chat-consulting-style-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-consulting-style-btn{border:1px solid var(--border-default);background:var(--surface-card);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:0;padding:6px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-consulting-style-btn:hover{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));transform:translateY(-1px)}.gengage-chat-consulting-style-btn--active{border-color:color-mix(in srgb, var(--client-primary) 40%, var(--border-default));box-shadow:0 0 0 2px color-mix(in srgb, var(--client-primary) 16%, transparent), var(--shadow-1)}.gengage-chat-consulting-style-btn--loading{border-style:dashed}.gengage-chat-consulting-style-btn--muted{opacity:.78}.gengage-chat-consulting-style-media{border-radius:12px;position:relative;overflow:hidden}.gengage-chat-consulting-style-image{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border-subtle);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%}.gengage-chat-consulting-style-caption{color:#fff;background:#0000008c;border-radius:12px;padding:8px 10px;font-size:15px;font-weight:800;line-height:1.2;position:absolute;bottom:10px;left:10px;right:10px}.gengage-chat-consulting-style-status{color:var(--text-primary);background:color-mix(in srgb, white 88%, var(--client-primary) 12%);border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;position:absolute;top:10px;right:10px}.gengage-chat-consulting-loading-panel{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:linear-gradient(180deg, var(--surface-card-soft), var(--surface-card));border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-consulting-loading-panel-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:800}.gengage-chat-consulting-loading-panel-copy{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.gengage-chat-consulting-loading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.gengage-chat-consulting-loading-card{border:1px solid var(--border-default);background:linear-gradient(90deg, color-mix(in srgb, var(--surface-card-soft) 94%, white) 20%, color-mix(in srgb, white 86%, var(--surface-card-soft) 14%) 50%, color-mix(in srgb, var(--surface-card-soft) 94%, white) 80%);background-size:220% 100%;border-radius:18px;min-height:240px;animation:1.2s linear infinite gengage-chat-consulting-loading-shimmer}@keyframes gengage-chat-consulting-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.gengage-chat-consulting-group{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:linear-gradient(180deg, var(--surface-card-soft), var(--surface-card));border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex}.gengage-chat-consulting-group-header{flex-direction:column;gap:4px;min-height:112px;display:flex}.gengage-chat-consulting-group-label{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:0;font-size:16px;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-reason{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-grid{grid-template-columns:repeat(var(--consulting-group-columns,4), minmax(0, 1fr));justify-content:stretch;align-items:stretch;gap:14px;margin-bottom:2px;display:grid}.gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none;height:100%}.gengage-chat-beauty-photo-step{padding:0 12px}.gengage-chat-beauty-photo-step-card{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card) 85%, white), var(--surface-card-soft));box-shadow:var(--shadow-1);border-radius:18px;gap:10px;padding:12px;display:flex}.gengage-chat-beauty-photo-step-icon{background:color-mix(in srgb, var(--client-primary) 16%, white);width:34px;height:34px;color:var(--client-primary);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:inline-flex}.gengage-chat-beauty-photo-step-content{flex:auto;min-width:0}.gengage-chat-beauty-photo-step-title{color:var(--text-primary);font-size:15px;font-weight:800}.gengage-chat-beauty-photo-step-desc{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.45}.gengage-chat-beauty-photo-step-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.gengage-chat-beauty-photo-step-upload{border-radius:999px;min-height:34px;padding-inline:14px;font-size:12px;font-weight:800}.gengage-chat-beauty-photo-step-skip{border-radius:999px;min-height:34px;padding-inline:12px;font-size:12px;font-weight:700}.gengage-chat-panel .gengage-chat-consulting-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gengage-chat-panel .gengage-chat-consulting-style-image{min-height:250px}.gengage-chat-panel .gengage-chat-consulting-style-caption{padding:10px 12px;font-size:16px}.gengage-chat-panel .gengage-chat-consulting-group{border-radius:18px;min-width:0;padding:14px}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:100%;margin-inline:0}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-img-wrapper{flex-shrink:1;align-self:stretch;min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-body{min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-name,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price-block{overflow-wrap:anywhere;word-break:break-word}.gengage-chat-root--mobile .gengage-chat-consulting-style-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-style-image{min-height:220px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid.gengage-chat-consulting-group-grid--single-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-consulting-loading-grid{grid-template-columns:1fr}.gengage-chat-product-grid-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:2px;display:flex}.gengage-chat-product-grid-head-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:18px;font-weight:700;line-height:1.2;overflow:hidden}.gengage-chat-product-grid-head-actions{flex-shrink:0;align-items:center;gap:6px;max-width:52%;display:flex}.gengage-chat-product-sort-toolbar{box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:0;display:flex}.gengage-chat-product-sort-toolbar--inline{flex-wrap:nowrap;justify-content:flex-end}.gengage-chat-product-sort-dropdown{z-index:5;flex:0 auto;width:auto;min-width:0;max-width:200px;position:relative}.gengage-chat-product-sort-toolbar:not(.gengage-chat-product-sort-toolbar--inline) .gengage-chat-product-sort-dropdown{flex:auto;max-width:min(200px,100%)}.gengage-chat-product-sort-dropdown--open{z-index:25}.gengage-chat-product-sort-trigger{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:100%;min-height:32px;color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.2;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.gengage-chat-product-sort-trigger:hover{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:var(--surface-card-soft)}.gengage-chat-product-sort-trigger:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger{border-color:color-mix(in srgb, var(--client-primary) 32%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-product-sort-trigger-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-product-sort-dropdown[data-sort-icon=related] .gengage-chat-product-sort-trigger-icon{color:var(--client-primary)}.gengage-chat-product-sort-trigger-icon svg{display:block}.gengage-chat-product-sort-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-product-sort-trigger-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s;display:flex}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger-chevron{transform:rotate(180deg)}.gengage-chat-product-sort-menu{width:max-content;min-width:100%;max-width:min(260px,100vw - 48px);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:auto}.gengage-chat-product-sort-option{border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background .12s;display:flex}.gengage-chat-product-sort-option:hover{background:var(--surface-card-muted)}.gengage-chat-product-sort-option--active{color:var(--client-primary);background:var(--client-primary-subtle);font-weight:600}.gengage-chat-product-sort-option-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-product-sort-option--active .gengage-chat-product-sort-option-icon,.gengage-chat-product-sort-option--active[data-sort-key=related] .gengage-chat-product-sort-option-icon{color:var(--client-primary)}.gengage-chat-product-sort-option-icon svg{display:block}.gengage-chat-product-sort-option-label{flex:auto;min-width:0}.gengage-chat-product-sort-option-check{width:22px;color:var(--client-primary);flex-shrink:0;justify-content:flex-end;display:flex}.gengage-chat-product-sort-option-check--hidden{visibility:hidden}.gengage-chat-product-sort-separator{background:var(--border-default);width:1px;margin:2px}.gengage-chat-comparison-toggle-btn{border:1px solid var(--border-default);border-radius:var(--radius-control,12px);background:var(--surface-card);min-height:32px;color:var(--text-primary);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gengage-chat-comparison-toggle-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-comparison-toggle-icon svg{display:block}.gengage-chat-comparison-toggle-btn:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, white);color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active{border-color:color-mix(in srgb, var(--client-primary) 26%, white);color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-comparison-toggle-btn--active .gengage-chat-comparison-toggle-icon{color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active:hover{background:var(--client-primary-hover);color:var(--client-on-primary);border-color:var(--client-primary-hover)}.gengage-chat-comparison-toggle-btn--active:hover .gengage-chat-comparison-toggle-icon{color:var(--client-on-primary)}.gengage-chat-comparison-select-wrapper{cursor:pointer;border-radius:var(--radius-control);transition:box-shadow .2s,transform .2s;position:relative}.gengage-chat-comparison-select-wrapper:hover{box-shadow:0 0 0 2px var(--client-focus-ring)}.gengage-chat-comparison-select-wrapper--selected,.gengage-chat-comparison-select-wrapper--selected:hover{box-shadow:none}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-select-wrapper{transition:none}}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card{pointer-events:none;transition:opacity .2s,transform .2s,filter .2s}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-img-actions,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-discount-badge,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-buy-footer,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-cta{opacity:0}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:.82}.gengage-chat-comparison-select-wrapper:hover>.gengage-chat-product-card,.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{opacity:1;transform:translateY(-1px)}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{box-shadow:0 0 0 2px color-mix(in srgb, var(--client-primary) 26%, white), var(--shadow-1);filter:saturate(1.02);border-color:#0000;outline:none}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:1}.gengage-chat-comparison-card-hint{display:none}.gengage-chat-comparison-checkbox{z-index:4;cursor:pointer;pointer-events:auto;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 94%, white);min-height:40px;color:var(--text-primary);box-shadow:var(--shadow-2);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:absolute;bottom:16px;left:16px;right:16px}.gengage-chat-comparison-checkbox[data-selected=true]{background:color-mix(in srgb, var(--client-primary) 10%, white);border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));color:var(--client-primary)}.gengage-chat-comparison-checkbox-icon{background:var(--surface-card-soft);color:currentColor;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.gengage-chat-comparison-checkbox[data-selected=true] .gengage-chat-comparison-checkbox-icon{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-comparison-checkbox-dot{background:color-mix(in srgb, currentColor 75%, white);border-radius:999px;width:8px;height:8px}.gengage-chat-comparison-checkbox-label{font-size:12px;font-weight:700;line-height:1.2}.gengage-chat-comparison-toggle-btn--hidden{opacity:0;pointer-events:none}@keyframes gengage-comparison-fade-in{0%{opacity:0}to{opacity:1}}.gengage-chat-comparison-toggle-btn--reveal{animation:.5s forwards gengage-comparison-fade-in}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-toggle-btn--reveal{opacity:1;animation:none}}.gengage-chat-comparison-floating-btn{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 92%, white);width:min(100%,520px);color:var(--text-primary);z-index:5;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin:16px auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px}.gengage-chat-comparison-dock-slot{display:none}.gengage-chat-root--mobile .gengage-chat-panel.gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot:not(:empty){left:0;right:0;bottom:calc(var(--gengage-chat-input-control-size,44px) + 8px + env(safe-area-inset-bottom,0px));z-index:30;box-sizing:border-box;pointer-events:none;max-width:100%;padding:0 10px;display:block;position:absolute}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot>*{pointer-events:auto}.gengage-chat-comparison-floating-summary{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.gengage-chat-comparison-floating-count{background:var(--client-primary-subtle);min-width:32px;height:32px;color:var(--client-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.gengage-chat-comparison-floating-copy{min-width:0}.gengage-chat-comparison-floating-title{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.2}.gengage-chat-comparison-floating-warning{color:var(--error);margin-top:4px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-action{flex:none;min-width:132px}.gengage-chat-comparison-floating-close{border-radius:14px;flex:none;width:40px;height:40px;padding:0}.gengage-chat-comparison-floating-action--disabled{opacity:.6}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-3);border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;margin:0;padding:10px;position:relative;bottom:auto}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-summary{align-items:center;gap:8px;min-height:26px;padding-right:34px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-count{flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-title{margin:0;font-size:13px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-warning{margin-top:2px;font-size:11px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-action{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 12px;font-size:13px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close{box-sizing:border-box;align-self:unset;z-index:10;touch-action:manipulation;border-radius:8px;flex:none;width:26px;min-width:26px;max-width:26px;height:26px;min-height:26px;max-height:26px;padding:0;line-height:0;position:absolute;top:9px;right:9px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close svg{width:11px;height:11px;display:block}.gengage-chat-panel-topbar{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--surface-card);z-index:3;border-bottom:none;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.gengage-chat-panel-topbar-title-wrap{flex:1 1 0;align-items:center;min-width:0;display:flex}.gengage-chat-panel-topbar-back,.gengage-chat-panel-topbar-forward{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;transition:background .15s,border-color .15s,opacity .15s;display:flex}.gengage-chat-panel-topbar-back[hidden],.gengage-chat-panel-topbar-forward[hidden]{display:none}.gengage-chat-panel-topbar-back:hover:not(:disabled),.gengage-chat-panel-topbar-forward:hover:not(:disabled){background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-panel-topbar-back:disabled,.gengage-chat-panel-topbar-forward:disabled{opacity:.3;cursor:default}.gengage-chat-panel-topbar-title{width:100%;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;text-align:left;letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.gengage-chat-panel-topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.gengage-chat-panel-topbar-actions:empty{display:none}.gengage-chat-panel-topbar-toolbar-host{justify-content:flex-end;align-items:center;width:100%;display:flex}.gengage-chat-panel-topbar-toolbar-host .gengage-chat-product-sort-toolbar{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.gengage-chat-panel-topbar-close{display:none}@keyframes gengage-typewriter-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-typewriter-block{animation:.15s both gengage-typewriter-fade-in;display:block}@media (prefers-reduced-motion:reduce){.gengage-chat-typewriter-block{animation:none}}.gengage-product-mention{color:var(--client-primary);cursor:pointer;border-bottom:1px dashed var(--client-primary);font-weight:500;text-decoration:none;transition:border-color .15s}.gengage-product-mention:hover{border-bottom-style:solid}@keyframes gengage-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.gengage-chat-panel-skeleton-block{animation:1.5s ease-in-out infinite gengage-skeleton-pulse}@media (prefers-reduced-motion:reduce){.gengage-chat-panel-skeleton-block{animation:none}}.gengage-chat-input-chips{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:6px;padding:4px 12px 2px;display:flex;overflow-x:auto}.gengage-chat-input-chips::-webkit-scrollbar{display:none}.gengage-chat-input-chip{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.gengage-chat-input-chip:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-icon{flex-shrink:0;width:14px;height:14px}.gengage-chat-input-chip-icon,.gengage-chat-pill-icon{align-items:center;margin-right:4px;display:inline-flex}.gengage-chat-product-card-img-wrapper,.gengage-chat-product-details-img-wrap{position:relative;overflow:hidden}.gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--_gengage-discount-color);color:var(--text-inverse);z-index:1;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.3;position:absolute;top:8px;left:8px}.gengage-chat-product-card-stock{border-radius:var(--radius-pill);width:fit-content;margin-top:2px;padding:2px 6px;font-size:11px;font-weight:600}.gengage-chat-product-card-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-card-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-find-similar-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:28px;height:28px;color:var(--text-primary);box-shadow:var(--shadow-1);cursor:pointer;z-index:2;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:opacity .2s,box-shadow .15s;display:inline-flex;position:relative}.gengage-chat-find-similar-pill:hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}@media (hover:hover) and (pointer:fine){.gengage-chat-find-similar-pill:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity .14s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.gengage-chat-find-similar-pill:hover:after,.gengage-chat-find-similar-pill:focus-visible:after{opacity:1}}.gengage-chat-find-similar-pill-icon{justify-content:center;align-items:center;display:flex}.gengage-chat-find-similar-pill-icon svg{display:block}.gengage-chat-find-similar-pill-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{transition:opacity .2s}@media (hover:hover) and (pointer:fine){.gengage-chat-product-card-img-wrapper:not(:hover) .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:not(:hover) .gengage-chat-product-card-img-actions{opacity:0;pointer-events:none}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:hover .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-shell) 88%, transparent);width:auto;height:auto;color:var(--text-inverse);box-shadow:none;opacity:0;pointer-events:none;padding:4px 10px;position:absolute;top:40px;right:8px}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-icon{display:none}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-text{clip:auto;white-space:nowrap;width:auto;height:auto;margin:0;position:static;overflow:visible}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-find-similar-pill,.gengage-chat-ai-toppick-media:hover .gengage-chat-find-similar-pill,.gengage-chat-product-details-img-wrap:hover .gengage-chat-find-similar-pill{opacity:1;pointer-events:auto}.gengage-chat-favorite-btn{background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-control);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);box-shadow:var(--shadow-1);z-index:3;justify-content:center;align-items:center;padding:0;transition:color .2s,box-shadow .15s;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-favorite-btn:hover{box-shadow:var(--shadow-2);color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}.gengage-chat-favorite-btn--active{color:var(--error)}.gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.gengage-chat-product-details-promo-badge{border-radius:var(--radius-pill);background:var(--gengage-chat-promo-bg,color-mix(in srgb, var(--success) 12%, white));color:var(--gengage-chat-promo-text,color-mix(in srgb, var(--success) 82%, var(--text-primary)));white-space:nowrap;box-sizing:border-box;min-height:20px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-block}.gengage-chat-panel-float{box-sizing:border-box;pointer-events:none;z-index:10;flex-shrink:0;align-self:stretch;width:100%;height:0;margin-top:auto;position:sticky;bottom:0;overflow:visible}.gengage-chat-choice-prompter{pointer-events:auto;background:var(--surface-card);border:1px solid var(--border-default);z-index:5;opacity:1;border-bottom:none;border-radius:16px 16px 0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:auto;max-width:none;margin-left:0;margin-right:0;padding:12px 20px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:-16px;left:-16px;right:-16px;transform:translateY(0);box-shadow:0 -2px 8px #00000014}.gengage-chat-panel--scrolled .gengage-chat-choice-prompter{pointer-events:auto;opacity:1;transform:translateY(0)}.gengage-chat-choice-prompter-heading{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:700}.gengage-chat-choice-prompter-suggestion{color:var(--text-secondary);margin-bottom:0;font-size:12px;line-height:1.35}.gengage-chat-choice-prompter-copy{min-width:0}.gengage-chat-choice-prompter-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:inline-flex}.gengage-chat-choice-prompter-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control);background:var(--ds-button-primary-bg);width:auto;min-width:180px;min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;padding:0 18px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.gengage-chat-choice-prompter-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-choice-prompter-dismiss{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card-soft) 92%, white);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.gengage-chat-choice-prompter-dismiss:hover{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white);background:var(--client-primary-subtle)}@media (prefers-reduced-motion:reduce){.gengage-chat-choice-prompter{animation:none}}.gengage-chat-pros-cons{background:var(--surface-card-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin:8px 0;padding:12px 14px}.gengage-chat-pros-cons-heading{color:var(--text-primary);margin:0 0 10px;font-size:14px;font-weight:600}.gengage-chat-pros-cons-list{margin:0 0 8px;padding:0;list-style:none}.gengage-chat-pros-cons-list:last-child{margin-bottom:0}.gengage-chat-pros-cons-item{color:var(--text-secondary);align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;line-height:1.5;display:flex}.gengage-chat-pros-cons-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:flex}.gengage-chat-pros-cons-icon--pro{color:var(--success);background:color-mix(in srgb, var(--success) 15%, white)}.gengage-chat-pros-cons-icon--con{color:var(--error);background:color-mix(in srgb, var(--error) 12%, white)}.gengage-chat-categories{flex-direction:column;gap:8px;display:flex}.gengage-chat-categories-tabs{-webkit-overflow-scrolling:touch;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.gengage-chat-categories-tab{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-categories-tab-image{object-fit:cover;border:1px solid var(--border-subtle);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:28px;height:28px}.gengage-chat-categories-tab-text{min-width:0}.gengage-chat-categories-tab:hover{background:var(--surface-card-soft);border-color:var(--border-strong)}.gengage-chat-categories-tab--active{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default))}.gengage-chat-categories-panel{flex-direction:column;gap:12px;display:flex}.gengage-chat-categories-group-summary{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card));border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-categories-group-selection{border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);max-width:100%;color:var(--client-primary);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:6px 12px 6px 8px;display:inline-flex}.gengage-chat-categories-group-selection-image{object-fit:cover;border:1px solid color-mix(in srgb, white 82%, var(--border-subtle) 18%);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:30px;height:30px}.gengage-chat-categories-group-selection-title{min-width:0;color:inherit;font-size:13px;font-weight:800;line-height:1.25}.gengage-chat-categories-group-chips{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-categories-group-chip{border:1px solid var(--border-default);background:color-mix(in srgb, white 78%, var(--surface-card-soft));color:var(--text-secondary);border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-categories-group-chip--accent{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);color:var(--client-primary)}.gengage-chat-categories-group-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-categories-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;display:grid}.gengage-chat-categories-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}:is(.gengage-chat-categories .gengage-chat-product-card-img,.gengage-chat-consulting-group-grid .gengage-chat-product-card-img,.gengage-chat-product-grid-wrapper:has(.gengage-chat-consulting-style-picker) .gengage-chat-product-card-img){-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.gengage-chat-categories-filter-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-categories-filter-tag{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.gengage-chat-categories-filter-tag:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-grid-view-more{border:1px solid var(--ds-button-secondary-border);border-radius:var(--radius-control);background:var(--ds-button-secondary-bg);width:100%;color:var(--ds-button-secondary-fg);cursor:pointer;text-align:center;grid-column:1/-1;margin-top:8px;padding:10px;font-size:14px;font-weight:500;transition:background .15s;display:block}.gengage-chat-product-grid-view-more:hover{background:var(--ds-button-secondary-bg-hover)}.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0;display:grid;overflow-x:visible}.gengage-chat-product-grid--mobile .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-comparison--mobile{position:relative;overflow-x:clip}.gengage-chat-comparison--mobile .gengage-chat-comparison-table-wrapper{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.gengage-chat-comparison--mobile .gengage-chat-comparison-table{table-layout:fixed;min-width:480px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table th:first-child,.gengage-chat-comparison--mobile .gengage-chat-comparison-table .gengage-chat-comparison-label{background:var(--surface-card);z-index:1;box-shadow:2px 0 4px color-mix(in srgb, var(--surface-shell) 8%, transparent);position:sticky;left:0}.gengage-chat-comparison--mobile .gengage-chat-comparison-table thead th:first-child{box-sizing:border-box;width:22ch;min-width:0;max-width:22ch;padding:8px 6px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table td.gengage-chat-comparison-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;vertical-align:middle;width:22ch;min-width:0;max-width:22ch;overflow:hidden}.gengage-chat-product-details-similars-heading{color:var(--text-primary);margin:16px 0 8px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-product-details-similars{margin-top:8px}.gengage-chat-handoff-notice{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 28%, var(--border-default));border-radius:var(--radius-control);text-align:center;flex-direction:column;align-items:center;gap:6px;margin:8px 0;padding:16px;display:flex}.gengage-chat-handoff-notice-icon{font-size:24px}.gengage-chat-handoff-notice-heading{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin:0;font-size:14px;font-weight:600}.gengage-chat-handoff-notice-summary{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));margin:0;font-size:13px;line-height:1.5}.gengage-chat-product-details-share{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex;position:relative}.gengage-chat-product-details-share:hover{color:var(--client-primary);border-color:var(--client-primary);background:var(--client-primary-subtle)}.gengage-chat-product-details-share:before{content:attr(aria-label);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;pointer-events:none;opacity:0;z-index:2;padding:4px 8px;font-size:11px;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.gengage-chat-product-details-share:hover:before{opacity:1}.gengage-chat-product-details-share--copied:after{content:"✓";background:var(--_gengage-success-color);color:var(--client-on-primary);border-radius:var(--radius-control);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.gengage-chat-product-details-share svg{width:20px;height:20px}.gengage-chat-review-link,.gengage-chat-grounding-link{color:var(--client-primary);text-decoration:underline}@media (width<=768px){.gengage-chat-product-details-promo-badge{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.gengage-chat-launcher:focus-visible,.gengage-chat-close:focus-visible,.gengage-chat-header-btn:focus-visible,.gengage-chat-header-powered:focus-visible,.gengage-chat-footer-link:focus-visible,.gengage-chat-send:focus-visible,.gengage-chat-action-btn:focus-visible,.gengage-chat-inline-question-btn:focus-visible,.gengage-chat-pill:focus-visible,.gengage-chat-input-chip:focus-visible,.gengage-chat-pills-arrow:focus-visible,.gengage-chat-error-retry:focus-visible,.gengage-chat-product-card-cta:focus-visible,.gengage-chat-product-details-cta:focus-visible,.gengage-chat-product-details-atc:focus-visible,.gengage-chat-product-detail-tab:focus-visible,.gengage-chat-panel-divider-toggle:focus-visible,.gengage-chat-panel-topbar-back:focus-visible,.gengage-chat-panel-topbar-forward:focus-visible,.gengage-chat-rollback-btn:focus-visible,.gengage-chat-ai-toppick-cta:focus-visible,.gengage-chat-comparison-toggle-btn:focus-visible,.gengage-chat-comparison-floating-btn:focus-visible,.gengage-chat-comparison-checkbox:focus-visible,.gengage-chat-product-sort-trigger:focus-visible,.gengage-chat-product-sort-option:focus-visible,.gengage-chat-product-variant-btn:focus-visible,.gengage-chat-product-gallery-thumb:focus-visible,.gengage-chat-find-similar-pill:focus-visible,.gengage-chat-favorite-btn:focus-visible,.gengage-chat-attach-btn:focus-visible,.gengage-chat-attach-menu-item:focus-visible,.gengage-chat-mic-btn:focus-visible,.gengage-chat-attachment-remove:focus-visible,.gengage-chat-choice-prompter-cta:focus-visible,.gengage-chat-choice-prompter-dismiss:focus-visible,.gengage-chat-categories-tab:focus-visible,.gengage-chat-categories-filter-tag:focus-visible,.gengage-chat-product-grid-view-more:focus-visible,.gengage-chat-product-details-share:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{box-sizing:border-box;pointer-events:auto;opacity:1;border-radius:14px;grid-template-columns:1fr;gap:10px;width:100%;max-width:100%;max-height:none;margin:0;padding:10px 12px;display:none;position:relative;bottom:auto;left:auto;right:auto;overflow:visible;transform:none}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-suggestion{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-cta{width:100%;min-width:0;min-height:44px;padding:0 14px}.gengage-chat-root--mobile .gengage-chat-product-sort-trigger,.gengage-chat-root--mobile .gengage-chat-product-sort-option,.gengage-chat-root--mobile .gengage-chat-comparison-toggle-btn{min-height:40px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-label,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-chevron,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-label{display:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown{flex:none;width:auto;max-width:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown--open{z-index:40}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger{justify-content:center;gap:0;width:auto;min-width:44px;padding:0 10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-menu{width:min(224px,100vw - 32px);min-width:196px;max-width:calc(100vw - 32px);top:calc(100% + 6px);left:auto;right:0}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option{min-height:44px;padding:10px 12px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option-label{white-space:normal;line-height:1.3}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-btn{justify-content:center;gap:0;width:44px;min-width:44px;padding:0}.gengage-chat-root--mobile .gengage-chat-input-chip{min-height:40px;padding:8px 12px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-dismiss{width:40px;height:40px}.gengage-chat-root--mobile .gengage-chat-panel-divider-toggle{min-height:44px}.gengage-chat-root--mobile .gengage-chat-product-card-cta,.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta,.gengage-chat-root--mobile .gengage-chat-product-grid-view-more{justify-content:center;align-items:center;min-height:44px;display:flex}.gengage-chat-root--mobile .gengage-chat-panel-topbar-back,.gengage-chat-root--mobile .gengage-chat-panel-topbar-forward,.gengage-chat-root--mobile .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel-topbar-close{display:none}@media (prefers-reduced-motion:reduce){.gengage-chat-consulting-loading-card{animation:none}}.gengage-chat-panel--has-scroll:after{content:"";background:linear-gradient(transparent, var(--surface-card-soft));pointer-events:none;height:40px;display:block;position:sticky;bottom:0}.gengage-chat-cart-toast{background:var(--success);color:var(--text-inverse);border-radius:var(--radius-pill);box-shadow:var(--shadow-3);pointer-events:none;opacity:0;z-index:10;white-space:nowrap;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:72px;left:50%;transform:translate(-50%)translateY(8px)}.gengage-chat-cart-toast--neutral{background:var(--surface-shell);color:var(--text-inverse)}.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}', zo = /* @__PURE__ */ new Set([
|
|
6188
|
+
var Io = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;min-height:44px;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:0 16px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;min-height:48px;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;align-self:center;font-size:13px;line-height:1.35;display:block}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;min-height:20px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}:host{all:initial;font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px)}.gengage-chat-root button,.gengage-chat-root [role=button],.gengage-chat-root a{cursor:pointer}.gengage-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-root{z-index:var(--gengage-z-index,2147480000);--_gengage-chat-offset:var(--gengage-chat-offset,20px);--_gengage-chat-launcher-bottom:var(--gengage-chat-launcher-bottom,20px);--_gengage-chat-launcher-right:var(--gengage-chat-launcher-right,20px);--_gengage-chat-launcher-width:var(--gengage-chat-launcher-width,56px);--_gengage-chat-launcher-height:var(--gengage-chat-launcher-height,56px);--_gengage-chat-launcher-mobile-width:var(--gengage-chat-launcher-mobile-width,var(--_gengage-chat-launcher-width));--_gengage-chat-launcher-mobile-height:var(--gengage-chat-launcher-mobile-height,var(--_gengage-chat-launcher-height));--_gengage-chat-drawer-width:var(--gengage-chat-width,400px);--_gengage-chat-radius:var(--gengage-chat-shell-radius,1rem);--_gengage-chat-header-height:var(--gengage-chat-header-height,72px);--_gengage-chat-conversation-width:var(--gengage-chat-conversation-width,396px);--_gengage-chat-panel-min-width:var(--gengage-chat-panel-min-width,320px);--_gengage-chat-panel-max-width:var(--gengage-chat-panel-max-width,1200px);--_gengage-chat-input-height:var(--gengage-chat-input-height,48px);--_gengage-chat-shadow:var(--gengage-chat-shadow,var(--shadow-3));--_gengage-border-color:var(--border-default);--_gengage-discount-color:var(--gengage-discount-color,var(--client-primary));--_gengage-campaign-reason-start:var(--gengage-campaign-reason-color,var(--client-primary));--_gengage-campaign-reason-end:var(--gengage-campaign-reason-color-end,var(--gengage-campaign-reason-color,var(--client-primary)));--_gengage-success-color:var(--success);--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-surface-secondary:var(--surface-card-soft);--_gengage-surface-muted:var(--surface-card-soft);--_gengage-surface-dark:var(--surface-shell);--_gengage-rating-color:var(--rating);--_gengage-error:var(--error);--_gengage-danger-color:var(--error);--_gengage-ghost-border:var(--gengage-ghost-border,color-mix(in srgb, var(--client-primary) 16%, transparent));position:fixed}.gengage-chat-backdrop{z-index:0;pointer-events:none;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;display:none;position:fixed;inset:0}.gengage-chat-root--open:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:none;background:var(--gengage-chat-float-backdrop,transparent);display:block}.gengage-chat-root--open.gengage-chat-root--maximized-host-chrome:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:auto;background:var(--gengage-chat-float-backdrop,color-mix(in srgb, var(--surface-overlay) 72%, transparent))}.gengage-chat-root.gengage-chat--overlay.gengage-chat-root--open .gengage-chat-backdrop{background:var(--gengage-chat-overlay-backdrop,var(--surface-overlay));pointer-events:auto}.gengage-chat-launcher-container{bottom:var(--gengage-chat-launcher-anchor-bottom,var(--_gengage-chat-launcher-bottom));right:var(--gengage-chat-launcher-anchor-right,var(--_gengage-chat-launcher-right));z-index:var(--gengage-z-index,2147480000);transition:bottom var(--gengage-chat-launcher-anchor-transition,0s) ease, right var(--gengage-chat-launcher-anchor-transition,0s) ease;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.gengage-chat-launcher-content-area,.gengage-chat-launcher-content-area-bottom{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.gengage-chat-launcher-content-area:empty,.gengage-chat-launcher-content-area-bottom:empty,.gengage-chat-root--open .gengage-chat-launcher-content-area,.gengage-chat-root--open .gengage-chat-launcher-content-area-bottom{display:none}.gengage-chat-root--open .gengage-chat-launcher-container{pointer-events:none;opacity:0;transition:opacity .2s}.gengage-chat-launcher{width:var(--_gengage-chat-launcher-width);height:var(--_gengage-chat-launcher-height);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:var(--shadow-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;display:flex;position:relative}.gengage-chat-launcher:hover{box-shadow:var(--shadow-3);transform:none}.gengage-chat-launcher svg{width:28px;height:28px}.gengage-chat-launcher--image-mode{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;overflow:hidden}.gengage-chat-launcher--image-mode:hover{box-shadow:none}.gengage-chat-launcher--image-mode img{object-fit:contain;width:100%;height:100%}.gengage-chat-launcher-img--mobile,.gengage-chat-root--mobile .gengage-chat-launcher-img--desktop{display:none}.gengage-chat-root--mobile .gengage-chat-launcher-img--mobile{display:block}.gengage-chat-launcher--hidden-mobile{display:none!important}.gengage-chat-launcher-tooltip{border-radius:var(--radius-control);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-2);padding:6px 12px;font-size:13px;font-weight:500;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.gengage-chat-launcher-tooltip:after{content:"";border:5px solid #0000;border-left-color:var(--surface-shell);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.gengage-chat-launcher:hover .gengage-chat-launcher-tooltip{opacity:1}.gengage-chat-root--open .gengage-chat-launcher-tooltip{display:none}.gengage-chat-drawer{width:var(--_gengage-chat-drawer-width);background:var(--surface-elevated,var(--surface-card));border-left:1px solid var(--border-default);max-height:100dvh;box-shadow:var(--_gengage-chat-shadow);z-index:var(--gengage-z-index,2147480000);opacity:1;border-radius:0;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-launcher-container{right:var(--gengage-chat-launcher-anchor-right,var(--gengage-chat-launcher-mobile-right,16px));bottom:calc(var(--gengage-chat-launcher-anchor-bottom,var(--gengage-chat-launcher-mobile-bottom,16px)) + env(safe-area-inset-bottom,0px))}.gengage-chat-root--mobile .gengage-chat-launcher{width:var(--_gengage-chat-launcher-mobile-width);height:var(--_gengage-chat-launcher-mobile-height)}.gengage-chat-root--mobile .gengage-chat-drawer{border:1px solid var(--border-default);width:100%;max-width:none;max-height:100dvh;box-shadow:var(--shadow-3);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-elevated,var(--surface-card));border-bottom:none;border-radius:16px 16px 0 0;bottom:0;left:0;right:0}.gengage-chat-drawer-handle{display:none}.gengage-chat-root--mobile .gengage-chat-drawer-handle{pointer-events:none;z-index:1;justify-content:center;align-items:center;height:14px;display:flex;position:absolute;top:6px;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gengage-chat-root--mobile .gengage-chat-header button,.gengage-chat-root--mobile .gengage-chat-header a{cursor:pointer;touch-action:auto;-webkit-user-select:auto;user-select:auto}.gengage-chat-root--mobile .gengage-chat-drawer-handle:before{content:"";background:var(--border-strong);pointer-events:none;border-radius:999px;width:36px;height:4px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-drawer{height:min(72dvh,620px);max-height:min(72dvh,620px);top:auto}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-drawer{top:var(--gengage-chat-visual-top,0px);height:var(--gengage-chat-visual-vh,100dvh);max-height:var(--gengage-chat-visual-vh,100dvh);border-radius:0;bottom:auto}.gengage-chat-root--mobile .gengage-chat-input-area{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-default)}.gengage-chat-header{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--gengage-chat-header-bg,var(--ds-header-bg));color:var(--gengage-chat-header-foreground,var(--ds-header-fg));box-shadow:none;border-bottom:1px solid var(--gengage-chat-header-border-bottom,var(--ds-header-border));z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.gengage-chat-header-left{align-items:center;gap:10px;min-width:0;display:flex}.gengage-chat-header-avatar{background:var(--surface-card-soft);border:1px solid var(--border-default);object-fit:contain;border-radius:999px;flex-shrink:0;width:44px;height:44px}.gengage-chat-header-avatar--logo{object-fit:contain;background:0 0;border:none;border-radius:0;width:auto;max-width:92px;height:45px}.gengage-chat-header-info{flex-direction:column;gap:2px;min-width:0;display:flex}.gengage-chat-header-title-row{align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-header-title{letter-spacing:.01em;color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.gengage-chat-header-badge{border-radius:var(--radius-pill);background:var(--ds-badge-brand-bg);min-height:26px;color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 10px;font-size:10px;font-weight:800;line-height:1.5;display:inline-flex}.gengage-chat-header-powered{color:var(--ds-header-muted);align-items:center;gap:4px;font-size:11px;line-height:1.2;text-decoration:none;transition:color .15s;display:flex}.gengage-chat-header-powered:hover{color:var(--client-primary)}.gengage-chat-header-powered svg{opacity:.6;flex-shrink:0;width:12px;height:12px}.gengage-chat-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.gengage-chat-header-btn{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}@media (width<=374px){.gengage-chat-header{gap:8px;padding:10px}.gengage-chat-header-right{flex-shrink:1;gap:4px;min-width:0}.gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.gengage-chat-header-btn:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-header-btn--fav{position:relative}.gengage-chat-header-btn--reopen-panel,.gengage-chat-root--mobile .gengage-chat-new-chat{display:none}.gengage-chat-header-fav-badge{background:var(--error);min-width:16px;height:16px;color:var(--text-inverse);text-align:center;pointer-events:none;border-radius:999px;padding:0 3px;font-size:9px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.gengage-chat-close{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-close:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.gengage-chat-panel{width:0;transition:width .22s cubic-bezier(.2,.72,.2,1);display:none;overflow:hidden}.gengage-chat-panel--visible{box-sizing:border-box;background:var(--gengage-chat-panel-bg,var(--surface-card));border-right:1px solid var(--border-default);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 24%, transparent) transparent;flex-direction:column;width:440px;min-width:440px;padding:16px;display:flex;position:relative;overflow-y:auto}.gengage-chat-panel--visible::-webkit-scrollbar{width:6px}.gengage-chat-panel--visible::-webkit-scrollbar-track{background:0 0}.gengage-chat-panel--visible::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 24%, transparent);border-radius:3px}.gengage-chat-panel--visible::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-panel-ai-zone{box-sizing:border-box;border-bottom:1px solid var(--border-subtle);flex-shrink:0;width:100%;max-height:min(42vh,320px);margin-bottom:4px;padding:8px 0 12px;overflow:auto}.gengage-chat-panel-ai-zone:has(.gengage-chat-grouping-cards){max-height:min(52vh,520px)}.gengage-chat-panel-ai-zone:has(.gengage-chat-ai-top-picks){max-height:none;overflow:visible}.gengage-chat-panel-ai-zone[hidden]{display:none!important}.gengage-chat-panel-ai-zone-inner{align-items:center;gap:10px;display:flex}.gengage-chat-panel-ai-zone-text{color:var(--text-muted);font-size:13px}.gengage-chat-grouping-section-title{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-section-title{width:100%;color:var(--text-primary);letter-spacing:-.01em;flex-shrink:0;align-self:stretch;margin:0 0 10px;font-size:15px;font-weight:700;display:block}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards{flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;max-height:none;display:flex}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;align-items:stretch;gap:10px;width:100%;min-width:0;margin:0 -2px;padding:2px 2px 10px;display:flex;overflow:auto hidden}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card{box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);width:136px;min-width:136px;max-width:150px;box-shadow:var(--shadow-1);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:12px 10px 14px}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-arrow{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-img{object-fit:cover;border-radius:8px;width:100%;min-width:0;max-width:88px;height:72px;min-height:72px;margin:0 auto}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-body{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-name{font-size:13px;font-weight:700;line-height:1.25}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:11px;line-height:1.3}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-labels{white-space:normal;text-overflow:unset;justify-content:center;margin-top:2px;line-height:1.35;overflow:visible}.gengage-chat-panel-divider{cursor:pointer;background:var(--_gengage-border-color);z-index:2;flex-shrink:0;align-items:center;width:4px;transition:background .15s;display:flex;position:relative}.gengage-chat-panel-divider:hover{background:var(--border-strong)}.gengage-chat-panel-divider--hidden{display:none}.gengage-chat-panel-divider-toggle{border:1px solid var(--_gengage-border-color);background:var(--surface-card);cursor:pointer;width:28px;height:48px;color:var(--text-secondary);box-shadow:var(--shadow-1);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-toggle:hover{background:var(--surface-card-muted);color:var(--client-primary)}.gengage-chat-panel.gengage-chat-panel--collapsed{border-right:none;flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider .gengage-chat-panel-divider-toggle{left:50%;transform:translate(-50%,-50%)}.gengage-chat-conversation{background:var(--surface-card);z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.gengage-chat-drawer--with-panel{width:auto;box-shadow:none;background:0 0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-header{border-radius:0;flex-shrink:0}.gengage-chat-drawer--with-panel .gengage-chat-body{flex:1 1 0;align-items:stretch;gap:0;min-height:0;padding:0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(var(--_gengage-chat-panel-min-width), 56vw, var(--_gengage-chat-panel-max-width));min-width:var(--_gengage-chat-panel-min-width);max-width:var(--_gengage-chat-panel-max-width);background:var(--gengage-chat-panel-bg,var(--surface-card));box-shadow:none;border-right:none;border-radius:0;flex:none;max-height:100dvh;margin:0;padding:0 16px 16px;overflow-y:auto}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle{background:var(--surface-card);width:20px;height:48px;color:var(--client-primary);border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));box-shadow:var(--shadow-1);z-index:10;border-radius:10px;font-size:12px}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle);color:var(--client-primary)}.gengage-chat-drawer--with-panel .gengage-chat-conversation{flex:0 0 var(--_gengage-chat-conversation-width);width:var(--_gengage-chat-conversation-width);background:var(--surface-card);box-shadow:var(--shadow-2);border-left:none}.gengage-chat-drawer--with-panel .gengage-chat-messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 22%, transparent) transparent;padding-right:6px}.gengage-chat-drawer--with-panel .gengage-chat-messages::-webkit-scrollbar{width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel.gengage-chat-panel--collapsed{flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-drawer--with-panel:has(.gengage-chat-panel--collapsed){width:var(--_gengage-chat-conversation-width);background:var(--surface-elevated,var(--surface-card));box-shadow:var(--_gengage-chat-shadow)}.gengage-chat-drawer--with-panel .gengage-chat-footer{display:none}.gengage-chat-messages{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.gengage-chat-messages::-webkit-scrollbar{width:6px}.gengage-chat-messages::-webkit-scrollbar-track{background:0 0}.gengage-chat-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 22%, transparent);border-radius:3px}.gengage-chat-messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-bubble--presentation-collapsed{display:none!important}.gengage-chat-former-messages-btn{z-index:2;border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:color-mix(in srgb, var(--surface-card) 96%, transparent);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);flex-shrink:0;align-self:center;margin-bottom:4px;padding:8px 14px;font-size:13px;font-weight:600;position:sticky;top:0}.gengage-chat-former-messages-btn:hover{background:var(--surface-card-muted)}.gengage-chat-bubble--panel-bookmark{max-width:72%;margin-top:-6px}.gengage-chat-inline-panel-bookmark-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:700}.gengage-chat-inline-panel-bookmark-card{border:1px solid color-mix(in srgb, var(--client-primary) 38%, var(--border-default));background:color-mix(in srgb, var(--surface-card) 94%, transparent);text-align:left;width:100%;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;transition:transform .16s,border-color .16s,box-shadow .16s,background-color .16s;display:flex}.gengage-chat-inline-panel-bookmark-card:hover{border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-inline-panel-bookmark-card--active{background:color-mix(in srgb, var(--client-primary-subtle) 42%, var(--surface-card))}.gengage-chat-inline-panel-bookmark-previews{gap:8px;display:flex}.gengage-chat-inline-panel-bookmark-preview{background:color-mix(in srgb, var(--surface-card-muted) 70%, var(--surface-card));border:1px solid color-mix(in srgb, var(--border-default) 74%, transparent);border-radius:14px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;overflow:hidden}.gengage-chat-inline-panel-bookmark-preview-img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-inline-panel-bookmark-preview-fallback{color:var(--text-primary);font-size:13px;font-weight:700}.gengage-chat-inline-panel-bookmark-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-inline-panel-bookmark-cta{color:var(--client-primary);font-size:13px;font-weight:700}@media (width<=768px){.gengage-chat-bubble--panel-bookmark{display:none!important}}.gengage-chat-bubble{position:relative}@keyframes gengage-chat-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-bubble--user{max-width:85%}.gengage-chat-bubble--assistant{max-width:85%;margin-left:2px}.gengage-chat-bubble--ui-spec{box-shadow:none;background:0 0;border:none;min-width:0;padding:0}.gengage-chat-bubble--ui-spec-only{max-width:min(85%,420px)}.gengage-chat-bubble-ui-spec{width:100%}.gengage-chat-bubble--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.gengage-chat-bubble--panel-restore.gengage-chat-bubble--active{outline:none}.gengage-chat-bubble--assistant:empty{display:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a{color:var(--client-primary);text-decoration:underline}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a:hover{text-decoration:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p{margin:0 0 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p:last-child{margin-bottom:0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text ul,.gengage-chat-bubble--assistant .gengage-chat-bubble-text ol{margin:6px 0;padding-left:20px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text li{margin-bottom:6px;line-height:1.5}.gengage-chat-bubble--assistant .gengage-chat-bubble-text code{background:color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:6px;padding:1px 4px;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text pre{background:color-mix(in srgb, var(--surface-card) 78%, var(--surface-card-soft));border:1px solid var(--border-subtle);border-radius:12px;margin:4px 0;padding:10px 12px;overflow-x:auto}.gengage-chat-bubble--assistant .gengage-chat-bubble-text table{border-collapse:collapse;margin:4px 0;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text th,.gengage-chat-bubble--assistant .gengage-chat-bubble-text td{border:1px solid var(--border-default);padding:4px 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text img{border-radius:12px;max-width:100%;height:auto;margin:4px 0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text h1,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h2,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h3,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h4,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h5,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h6{color:var(--text-primary);margin:8px 0 4px;line-height:1.3}.gengage-chat-bubble--assistant .gengage-chat-bubble-text blockquote{border-left:3px solid var(--border-default);color:var(--text-secondary);margin:4px 0;padding-left:12px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text{overflow-wrap:break-word}.gengage-chat-bubble--photo-analysis{border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card-soft) 80%, white), var(--surface-card))}.gengage-chat-photo-analysis-card{flex-direction:column;gap:10px;display:flex}.gengage-chat-photo-analysis-badge{letter-spacing:.02em;color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 14%, white);border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:800}.gengage-chat-photo-analysis-body{flex-direction:column;gap:12px;display:flex}.gengage-chat-photo-analysis-summary{color:var(--text-primary);margin:0;font-size:14px;line-height:1.55}.gengage-chat-photo-analysis-highlights{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-photo-analysis-section{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:color-mix(in srgb, var(--surface-card-soft) 78%, white);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-photo-analysis-section--celeb{gap:6px}.gengage-chat-photo-analysis-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:12px;font-weight:800}.gengage-chat-photo-analysis-section-list{color:var(--text-primary);gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.gengage-chat-photo-analysis-section-item{margin:0}.gengage-chat-photo-analysis-celeb-name{color:var(--text-primary);margin:0;font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-photo-analysis-celeb-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-photo-analysis-next{background:color-mix(in srgb, var(--client-primary) 9%, white);color:var(--text-primary);border-radius:12px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.45}.gengage-chat-bubble--first{border-left:1px solid var(--ds-message-assistant-border)}.gengage-chat-bubble--first .gengage-chat-bubble-text{font-size:inherit}@media (width<=768px){.gengage-chat-bubble--assistant .gengage-chat-bubble-text{line-height:1.5}.gengage-chat-bubble--user{word-break:break-word;max-width:calc(100% - 16px)}}.gengage-chat-typing{align-self:flex-start;max-width:85%}.gengage-chat-typing-dots{flex-shrink:0}.gengage-chat-typing-text{flex:1;min-width:0}.gengage-chat-typing--presence{justify-content:flex-start;width:fit-content;max-width:100%}.gengage-chat-panel-loading-status{margin-bottom:16px}.gengage-chat-panel-loading-status.gds-progress-loader-panel{box-sizing:border-box;min-width:0;max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status.gds-progress-loader-panel{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status .gengage-chat-panel-loading-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-offline-bar{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 22%, var(--border-default));align-items:center;gap:6px;padding:6px 12px;font-size:12px;line-height:1.4;display:none}.gengage-chat-offline-bar--visible{display:flex}.gengage-chat-offline-bar:before{content:"";background:var(--_gengage-rating-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.gengage-chat-thinking-steps{flex-direction:column;gap:4px;padding:4px 0;display:flex}.gengage-chat-thinking-step{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.gengage-chat-thinking-step-marker{text-align:center;flex-shrink:0;width:16px;font-size:12px}.gengage-chat-thinking-step-marker--done{color:var(--_gengage-success-color)}.gengage-chat-thinking-step-marker--active{color:var(--ai-accent-start);animation:1.5s ease-in-out infinite gengage-thinking-pulse}@keyframes gengage-thinking-pulse{0%,to{opacity:1}50%{opacity:.4}}.gengage-chat-thinking-step-text{line-height:1.4}.gengage-chat-error{border-radius:var(--radius-control);background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));text-align:center;border:1px solid color-mix(in srgb, var(--error) 22%, var(--border-default));justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.gengage-chat-error-retry{border:1px solid color-mix(in srgb, var(--error) 24%, var(--border-default));border-radius:var(--radius-control);background:var(--surface-card);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));cursor:pointer;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.gengage-chat-error-retry:hover{background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 32%, var(--border-default))}.gengage-chat-input-area{border-top:1px solid var(--border-subtle);background:var(--surface-card);z-index:2;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:0;padding:10px 12px 12px;display:flex;position:relative}.gengage-chat-input-pill{--gengage-chat-input-control-size:40px;--gengage-chat-input-shell-pad:6px;--gengage-chat-input-shell-radius:18px;--gengage-chat-input-control-radius:12px;min-width:0;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2));background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--gengage-chat-input-shell-radius);padding:var(--gengage-chat-input-shell-pad);box-sizing:border-box;box-shadow:none;flex:1;align-items:center;gap:10px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:visible}.gengage-chat-input-pill:focus-within{border-color:color-mix(in srgb, var(--client-primary) 28%, white);box-shadow:0 0 0 4px var(--client-focus-ring)}.gengage-chat-input{box-sizing:border-box;min-width:0;min-height:40px;max-height:120px;color:var(--_gengage-text-primary);resize:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:11px 0 9px;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{--gengage-chat-input-control-size:44px;--gengage-chat-input-shell-radius:20px;--gengage-chat-input-control-radius:14px;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2))}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;padding:12px 0 10px;font-size:16px;line-height:1.4;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:inherit}.gengage-chat-send{width:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);min-width:var(--gengage-chat-input-control-size,40px);border:1px solid var(--ds-button-primary-border);border-radius:var(--gengage-chat-input-control-radius,12px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;font-weight:700;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s,transform .15s;display:flex;position:relative}.gengage-chat-send:hover{background:var(--ds-button-primary-bg-hover);box-shadow:none;transform:none}.gengage-chat-send:active{box-shadow:none;transform:translateY(0)}.gengage-chat-send svg{width:18px;height:18px}.gengage-chat-send--stop{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--text-primary)}.gengage-chat-send--stop:hover{background:color-mix(in srgb, var(--surface-card-soft) 86%, var(--client-primary-subtle));border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-send-stop-icon{background:currentColor;border-radius:4px;width:12px;height:12px;display:inline-block}.gengage-chat-send--stop:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.2;transition:opacity .16s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.gengage-chat-send--stop:hover:after,.gengage-chat-send--stop:focus-visible:after{opacity:1}}.gengage-chat-send:disabled{background:var(--ds-neutral-200);border-color:var(--ds-neutral-200);opacity:.5;box-shadow:none;cursor:not-allowed}.gengage-chat-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:4px 10px;font-size:10px}.gengage-chat-footer-link{max-width:100%;color:inherit;text-underline-offset:.22em;justify-content:center;align-items:center;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:1.5px;transition:color .2s,text-decoration-color .2s;display:inline-flex}.gengage-chat-footer-link:hover,.gengage-chat-footer-link:focus-visible{color:var(--gengage-chat-footer-link-hover-color,var(--gengage-brand-accent-mid,var(--ai-accent-end,#f768f2)));-webkit-text-decoration-color:var(--gengage-brand-accent-end,#ffed74);text-decoration-color:var(--gengage-brand-accent-end,#ffed74)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.gengage-chat-footer-link:hover,.gengage-chat-footer-link:focus-visible{background-image:linear-gradient(90deg, var(--gengage-brand-accent-start,var(--ai-accent-start,#0b24d6)) 0%, var(--gengage-brand-accent-start,var(--ai-accent-start,#0b24d6)) 42%, var(--gengage-brand-accent-mid,var(--ai-accent-end,#f768f2)) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}}.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-inline-question-buttons{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:10px 0 4px;display:flex}.gengage-chat-inline-question-btn{border:1px solid var(--ds-chip-border);border-radius:var(--radius-pill);background:var(--ds-chip-bg);max-width:100%;min-height:46px;color:var(--text-primary);text-align:left;white-space:normal;cursor:pointer;flex:0 auto;justify-content:flex-start;padding:11px 18px;font-size:13px;font-weight:700;line-height:1.4;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;box-shadow:0 1px #1118270a}.gengage-chat-inline-question-btn:hover{background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border));box-shadow:0 4px 12px #11182714}.gengage-chat-inline-question-btn:active{background:var(--ds-chip-bg-active);border-color:var(--ds-chip-border-active);color:var(--text-primary);transform:translateY(1px);box-shadow:0 1px 4px #1118270f}.gengage-chat-inline-question-icon{color:color-mix(in srgb, var(--client-primary) 38%, var(--text-muted));flex:none;font-size:12px;line-height:1;transform:translateY(-1px)}.gengage-chat-inline-question-label{display:inline}.gengage-chat-root--mobile .gengage-chat-inline-question-buttons{gap:10px}.gengage-chat-root--mobile .gengage-chat-inline-question-btn{width:auto;max-width:min(100%,34rem);padding:12px 16px;font-size:12.5px}.gengage-chat-product-card{border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);background:var(--ds-card-bg);width:160px;min-width:160px;max-width:160px;box-shadow:var(--ds-card-shadow);flex-direction:column;transition:transform .1s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.gengage-chat-product-card:hover{box-shadow:var(--ds-card-shadow-hover);transform:translateY(-2px)}.gengage-chat-product-card-img{object-fit:contain;background:var(--surface-card);box-sizing:border-box;width:100%;height:120px;padding:8px;display:block}.gengage-chat-product-card-body{text-align:center;flex-direction:column;flex:1;gap:4px;padding:8px 10px 10px;display:flex}.gengage-chat-product-card-name{color:var(--_gengage-text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:2.7em;margin-bottom:0;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-card-brand{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-star-half{display:inline-block;position:relative}.gengage-star-half>span{width:.5em;position:absolute;top:0;left:0;overflow:hidden}.gengage-chat-product-card-review-count{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-price,.gengage-chat-product-card-price-block{color:var(--text-primary);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 6px;font-size:16px;font-weight:800;display:flex}.gengage-chat-product-card-current-price{font:inherit;color:var(--gengage-discounted-price-color,var(--text-primary));font-weight:800}.gengage-chat-product-card-original-price{color:var(--_gengage-text-secondary);margin-right:0;font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-campaign-reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0 0 4px;font-size:11px;font-weight:700;line-height:1.25}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.gengage-chat-campaign-reason,.gengage-chat-campaign-price-badge__reason{color:var(--_gengage-campaign-reason-start);background:0 0}}.gengage-chat-product-card-price-stack{flex-direction:column;align-items:flex-start;width:100%;min-width:0;display:flex}.gengage-chat-product-card-price-row{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-card-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.95em;margin:0 1px;display:inline-block}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-original-price{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:16px;font-weight:500;text-decoration:none}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:16px;font-weight:800}.gengage-chat-product-card-meta-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;min-height:34px;display:flex}.gengage-chat-product-card-meta-row--empty{visibility:hidden}.gengage-chat-product-card-rating-compact{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-product-card-rating-compact-value{font-variant-numeric:tabular-nums;color:var(--text-primary)}.gengage-chat-product-card-img-actions{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-product-card-img-actions>*{pointer-events:auto}.gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{position:static}.gengage-chat-price-skeleton{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);vertical-align:middle;background-size:200% 100%;border-radius:4px;width:80px;height:16px;animation:1.5s ease-in-out infinite gengage-skeleton-price-pulse;display:inline-block}@keyframes gengage-skeleton-price-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-product-card-cta{text-align:center;color:var(--client-primary);letter-spacing:.01em;border-top:1px solid var(--border-default);cursor:pointer;background:0 0;margin-top:auto;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:block}.gengage-chat-product-card-cta:hover{color:var(--client-primary-hover);background:var(--surface-card-soft)}.gengage-chat-product-card-cta:active{background:var(--surface-card-soft)}button.gengage-chat-product-card-cta{appearance:none;font:inherit;box-sizing:border-box;border-bottom:none;border-left:none;border-right:none;width:100%;margin:0}.gengage-chat-panel-restore-card{appearance:none;box-sizing:border-box;font:inherit;border:1px solid color-mix(in srgb, var(--client-primary) 34%, var(--border-default));border-radius:calc(var(--radius-control) + 6px);background:var(--surface-card);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:16px 18px;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s;display:flex}.gengage-chat-panel-restore-card--minimal{gap:10px;padding:14px 16px}.gengage-chat-panel-restore-card:hover{background:color-mix(in srgb, var(--surface-card) 92%, var(--client-primary-subtle) 8%);box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));transform:translateY(-1px)}.gengage-chat-panel-restore-card:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:3px}.gengage-chat-panel-restore-card__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:800}.gengage-chat-panel-restore-card__previews{gap:10px;display:flex}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__previews{gap:8px}.gengage-chat-panel-restore-card__thumb{border:1px solid var(--border-default);background:var(--surface-card);border-radius:16px;width:58px;height:58px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8a}.gengage-chat-panel-restore-card__thumb img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-panel-restore-card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:18px;font-weight:700;line-height:1.24;display:-webkit-box;overflow:hidden}.gengage-chat-panel-restore-card__cta{color:var(--client-primary);font-size:15px;font-weight:700}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__cta{letter-spacing:.01em;font-size:14px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card{-webkit-tap-highlight-color:transparent;padding:14px 16px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card__thumb{border-radius:14px;width:52px;height:52px}.gengage-chat-root--mobile .gengage-chat-bubble--active{outline:none}.gengage-chat-product-summary{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0;padding:10px 12px;transition:background .15s,box-shadow .15s,border-color .15s;display:flex}.gengage-chat-product-summary:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-product-summary__image{border-radius:var(--radius-control);border:1px solid var(--border-subtle);background:var(--surface-card-soft);flex-shrink:0;width:64px;height:64px;overflow:hidden}.gengage-chat-product-summary__image img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-product-summary__content{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.gengage-chat-product-summary__name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-product-summary__rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-chat-product-summary__review-count{color:var(--text-secondary);font-size:11px}.gengage-chat-product-summary__price{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:600;line-height:1}.gengage-chat-product-summary__price-original{color:var(--_gengage-text-secondary);font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-product-summary__price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:2px;display:flex}.gengage-chat-product-summary__price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-product-summary__price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-summary__price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.9em;margin:0 1px;display:inline-block}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-original{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:13px;font-weight:500;text-decoration:none}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:13px;font-weight:700}.gengage-chat-product-summary__cta{color:var(--client-primary);border-radius:var(--radius-pill);background:var(--client-primary-subtle);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.gengage-chat-product-summary__cta:hover{background:var(--client-primary-soft)}.gengage-chat-product-summary__cta:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}button.gengage-chat-product-summary__cta{cursor:pointer;font:inherit;border:none}.gengage-chat-product-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:12px;min-height:180px;padding:8px 16px 8px 0;display:flex;overflow-x:auto}.gengage-chat-product-grid>*{scroll-snap-align:start;flex:none}.gengage-chat-product-grid::-webkit-scrollbar{display:none}.gengage-chat-product-grid--pending{filter:blur(3px)saturate(.85);opacity:.75;pointer-events:none;transition:filter .16s ease-out,opacity .16s ease-out;position:relative}.gengage-chat-product-grid--pending:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff59 50%,#0000 100%);animation:1.2s ease-in-out infinite gengage-chat-product-grid-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes gengage-chat-product-grid-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.gengage-chat-product-grid--pending:after{animation:none}}.gengage-chat-review-highlights{padding:4px 0 8px}.gengage-chat-review-empty{color:var(--_gengage-text-secondary);font-size:12px}.gengage-chat-review-subjects-heading{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.gengage-chat-review-subjects{margin-bottom:12px}.gengage-chat-review-subject{color:var(--text-primary);box-shadow:none;gap:6px;padding:7px 11px;font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-review-subject--active{border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}.gengage-chat-review-subject-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.gengage-chat-review-subject-icon svg{width:14px;height:14px;display:block}.gengage-chat-review-subject[data-tone=positive] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-review-subject[data-tone=negative] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--error) 84%, var(--text-primary))}.gengage-chat-review-subject[data-tone=neutral] .gengage-chat-review-subject-icon{color:var(--text-secondary)}.gengage-chat-review-subject-label{color:inherit}.gengage-chat-review-subject-count{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-review-detail{padding:12px}.gengage-chat-review-detail-meta{flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:10px;display:flex}.gengage-chat-review-detail-mentions{color:var(--_gengage-text-primary);font-size:13px;font-weight:700}.gengage-chat-review-detail-positive{color:var(--_gengage-success-color);font-size:13px;font-weight:700}.gengage-chat-review-detail-negative{color:var(--error);font-size:13px;font-weight:700}.gengage-chat-review-snippets{gap:10px;display:grid}.gengage-chat-review-snippet{border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card-soft);padding:8px 10px}.gengage-chat-review-snippet[data-tone=positive]{border-left-color:color-mix(in srgb, var(--success) 40%, var(--border-default))}.gengage-chat-review-snippet[data-tone=negative]{border-left-color:color-mix(in srgb, var(--error) 40%, var(--border-default))}.gengage-chat-review-snippet-text{color:var(--_gengage-text-primary);font-size:13px;line-height:1.4}.gengage-chat-review-snippet-rating{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:700}.gengage-chat-favorites-page{padding:12px}.gengage-chat-favorites-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-favorites-empty-icon{opacity:.25;color:var(--error)}.gengage-chat-favorites-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-favorites-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-favorites-card{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:center;gap:12px;padding:10px 12px;transition:opacity .2s,transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.gengage-chat-favorites-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-favorites-card--removing{opacity:0;transform:translate(8px)}.gengage-chat-favorites-card__image{border-radius:var(--radius-control);background:var(--surface-card-muted);flex-shrink:0;width:56px;height:56px;overflow:hidden}.gengage-chat-favorites-card__image img{object-fit:contain;width:100%;height:100%}.gengage-chat-favorites-card__info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gengage-chat-favorites-card__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.gengage-chat-favorites-card__price{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-favorites-remove{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--error);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex}.gengage-chat-favorites-remove:hover{opacity:1;background:color-mix(in srgb, var(--error) 10%, white)}.gengage-chat-history-page{flex-direction:column;gap:12px;padding:12px;display:flex}.gengage-chat-history-actions{display:flex}.gengage-chat-history-new-chat{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));border-radius:var(--radius-control);background:color-mix(in srgb, var(--client-primary) 9%, white);width:100%;min-height:42px;color:var(--client-primary);cursor:pointer;padding:0 14px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.gengage-chat-history-new-chat:hover{background:color-mix(in srgb, var(--client-primary) 14%, white);border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default))}.gengage-chat-history-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-history-item{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:stretch;gap:8px;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-history-item:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-history-item--active{border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card))}.gengage-chat-history-open{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:12px 14px}.gengage-chat-history-item-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.gengage-chat-history-item-title{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.gengage-chat-history-item-meta{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:600}.gengage-chat-history-item-preview{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-history-delete{border:none;border-left:1px solid color-mix(in srgb, var(--border-default) 84%, transparent);border-top-right-radius:inherit;border-bottom-right-radius:inherit;width:38px;min-width:38px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.gengage-chat-history-delete:hover{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-history-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-history-empty-icon{opacity:.25;color:var(--client-primary)}.gengage-chat-history-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-divider{border:none;border-top:1px solid var(--_gengage-border-color);margin:8px 0}.gengage-chat-divider-wrapper{align-items:center;gap:8px;margin:8px 0;display:flex}.gengage-chat-divider-wrapper hr{border:none;border-top:1px solid var(--_gengage-border-color);flex:1;margin:0}.gengage-chat-divider-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.gengage-chat--overlay .gengage-chat-drawer{border-radius:0;width:100%;max-width:480px;max-height:100%;margin:0 auto;animation:.24s cubic-bezier(.2,.72,.2,1) gengage-chat-overlay-in;position:fixed;inset:0}@keyframes gengage-chat-overlay-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-panel-skeleton{box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:6px 0;display:flex}.gengage-chat-panel-skeleton-block{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;border-radius:10px;height:110px;animation:1.4s infinite gengage-panel-shimmer}@keyframes gengage-panel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-panel-skeleton-block--image{border-radius:8px;height:200px;margin-bottom:12px}.gengage-chat-panel-skeleton-block--text{border-radius:4px;height:16px;margin-bottom:8px}.gengage-chat-panel-skeleton-block--text:nth-child(3){width:80%}.gengage-chat-panel-skeleton-block--text:nth-child(4){width:60%}.gengage-chat-panel-skeleton-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gengage-chat-panel-skeleton-block--card{border-radius:8px;height:120px}.gengage-chat-panel-skeleton--comparison{gap:0;padding:0}.gengage-chat-panel-skeleton--comparison .gengage-chat-panel-loading-status{margin:0;padding:16px 16px 0}.gengage-chat-comparison--skeleton{pointer-events:none;box-sizing:border-box;width:100%}.gengage-chat-comparison-skeleton-shimmer{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;animation:1.4s infinite gengage-panel-shimmer}.gengage-chat-comparison-skeleton-rec-label{border-radius:4px;width:132px;height:12px;margin-bottom:12px}.gengage-chat-comparison-skeleton-rec-img{border-radius:8px;flex-shrink:0;width:80px;height:80px}.gengage-chat-comparison-skeleton-rec-title{border-radius:4px;max-width:100%;height:14px;margin-bottom:6px}.gengage-chat-comparison-skeleton-rec-title--short{width:72%;margin-bottom:8px}.gengage-chat-comparison-skeleton-rec-price{border-radius:4px;width:112px;height:18px}.gengage-chat-comparison-skeleton-hl-label{border-radius:4px;width:96px;height:12px;margin-bottom:6px}.gengage-chat-comparison-skeleton-hl-list{margin:0;padding-left:18px;list-style:none}.gengage-chat-comparison-skeleton-hl-list li{margin-bottom:8px}.gengage-chat-comparison-skeleton-hl-list li:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-hl-line{border-radius:4px;width:100%;height:13px}.gengage-chat-comparison-skeleton-hl-line--medium{width:92%}.gengage-chat-comparison-skeleton-hl-line--short{width:78%}.gengage-chat-comparison-skeleton-kd-heading{border-radius:4px;width:42%;height:14px;margin:0 0 8px}.gengage-chat-comparison-skeleton-kd-line{border-radius:4px;max-width:100%;height:13px;margin-bottom:8px}.gengage-chat-comparison-skeleton-kd-line:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-kd-line:nth-child(odd){width:100%}.gengage-chat-comparison-skeleton-kd-line:nth-child(2n){width:90%}.gengage-chat-comparison-special--skeleton{cursor:default;align-items:center;min-height:44px;display:flex}.gengage-chat-comparison-skeleton-special-line{border-radius:4px;width:56%;max-width:280px;height:14px}.gengage-chat-comparison-skeleton-table-wrap{border:1px solid var(--border-default);background:var(--surface-card);-webkit-overflow-scrolling:touch;border-radius:8px;margin-top:12px;overflow-x:auto}.gengage-chat-comparison-skeleton-table-head,.gengage-chat-comparison-skeleton-table-row{grid-template-columns:72px repeat(3,minmax(0,1fr));align-items:start;gap:8px;padding:10px 12px;display:grid}.gengage-chat-comparison-skeleton-table-head{border-bottom:1px solid var(--_gengage-surface-muted);background:var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-corner{min-height:92px}.gengage-chat-comparison-skeleton-table-col{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-comparison-skeleton-table-th-img{border-radius:6px;flex-shrink:0;width:60px;height:60px}.gengage-chat-comparison-skeleton-table-th-name{border-radius:3px;width:100%;max-width:100%;height:11px}.gengage-chat-comparison-skeleton-table-th-price{border-radius:3px;width:64%;height:13px}.gengage-chat-comparison-skeleton-table-row{border-bottom:1px solid var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-row:last-child{border-bottom:none}.gengage-chat-comparison-skeleton-table-label{border-radius:3px;align-self:center;width:100%;max-width:56px;height:12px}.gengage-chat-comparison-skeleton-table-cell{border-radius:3px;width:100%;height:14px}.gengage-chat-panel-skeleton-block--row{border-radius:4px;height:32px;margin-bottom:4px}.gengage-chat-panel .gengage-chat-product-card{border-radius:var(--radius-card);border:1px solid var(--border-default);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-1);background:var(--surface-card);flex-direction:column;padding:0;display:flex;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.gengage-chat-panel .gengage-chat-product-card-img-actions{gap:6px;top:10px;right:10px}.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{border-radius:8px;width:28px;height:28px}.gengage-chat-panel .gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--client-primary);min-width:36px;height:36px;color:var(--client-on-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;top:10px;left:10px}.gengage-chat-panel .gengage-chat-product-card-brand{display:none}.gengage-chat-panel .gengage-chat-product-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;min-height:auto;padding:4px 0;display:grid;overflow-x:visible}.gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups{grid-template-columns:repeat(auto-fit,minmax(200px,240px));justify-content:start}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups.gengage-chat-product-grid--mobile{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:auto;padding:6px 0 10px;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile .gengage-chat-product-card{box-sizing:border-box;width:100%;min-width:0;max-width:none}.gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;background:var(--surface-card-muted);border-radius:var(--radius-card) var(--radius-card) 0 0;flex-shrink:0;width:100%;position:relative;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card-img{border-radius:inherit;object-fit:cover;object-position:center;box-sizing:border-box;background:0 0;width:100%;height:100%;min-height:0;padding:0;display:block}.gengage-chat-panel .gengage-chat-product-card-body{text-align:left;gap:8px;padding:12px 14px 10px}.gengage-chat-panel .gengage-chat-product-card-meta-row{align-items:center;min-height:38px;margin-bottom:0}.gengage-chat-panel .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-product-card-price-block{color:var(--text-primary);justify-content:flex-start;font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-original-price{color:var(--text-muted);font-size:12px;font-weight:400}.gengage-chat-panel .gengage-chat-product-card-rating-compact{font-size:11px;font-weight:700}.gengage-chat-panel .gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 58%, var(--text-primary))}.gengage-chat-panel .gengage-chat-product-card-name{min-height:0;color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;margin:0 0 2px;font-size:14px;font-weight:600;line-height:1.35}.gengage-chat-panel .gengage-chat-product-card-buy-footer{flex-shrink:0;min-width:0;margin-top:auto;padding:0 14px 16px;display:flex;position:relative}.gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;border:1.5px solid var(--client-primary);background:var(--surface-card);width:100%;min-width:0;min-height:42px;color:var(--client-primary);white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;transition:background .15s,box-shadow .15s;display:flex}.gengage-chat-panel .gengage-chat-product-card-buy-trigger:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);box-shadow:var(--shadow-1)}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{border:1.5px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 28px);min-width:0;color:var(--client-primary);box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;min-height:42px;margin:0 14px 16px;padding:9px 14px;font-size:13px;font-weight:600;display:flex}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta:hover{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-product-card--selected{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, transparent);box-shadow:0 0 0 1px var(--client-primary)}.gengage-chat-panel--visible{min-height:0}.gengage-chat-panel--visible>*{flex-shrink:0}.gengage-chat-load-more-btn{border:1px solid var(--border-default);color:var(--client-primary);cursor:pointer;background:0 0;border-radius:8px;margin:12px auto;padding:8px 24px;font-size:14px;display:block}.gengage-chat-load-more-btn:hover{background:var(--surface-card-muted)}.gengage-chat-product-details-panel{background:var(--surface-card);border:1px solid var(--border-default);box-sizing:border-box;border-radius:16px;flex-direction:column;gap:12px;width:100%;padding:14px;display:flex}.gengage-chat-product-details-media{border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;flex-direction:column;align-items:center;padding:12px;display:flex}.gengage-chat-product-details-img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:300px}.gengage-chat-product-details-content{flex-direction:column;gap:8px;min-width:0;display:flex}.gengage-chat-product-details-title{color:var(--text-primary);margin:0;font-size:17px;font-weight:700;line-height:1.3}.gengage-chat-product-details-rating{background:color-mix(in srgb, var(--warning) 10%, white);width:fit-content;color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-product-details-review-count{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));font-weight:600}.gengage-chat-product-details-price{align-items:baseline;gap:6px;display:flex}.gengage-chat-product-details-original-price{color:var(--text-secondary);font-size:14px;text-decoration:line-through}.gengage-chat-product-details-price-stack{flex-direction:column;align-items:flex-start;gap:2px;width:100%;display:flex}.gengage-chat-product-details-price-stack .gengage-chat-campaign-reason{margin-bottom:2px;font-size:13px;font-weight:600}.gengage-chat-product-details-price--inline{flex-wrap:nowrap;align-items:baseline}.gengage-chat-product-details-price--inline .gengage-chat-product-details-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:1em;margin:0 4px;display:inline-block}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{color:var(--text-secondary);order:0;font-size:22px;font-weight:500;text-decoration:none}.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));order:0;font-size:22px;font-weight:800}.gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:22px;font-weight:800;line-height:1.1}.gengage-chat-product-details-stock{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700}.gengage-chat-product-details-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-details-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-product-details-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.gengage-chat-product-details-cta{border-radius:var(--radius-control,12px);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .14s,transform .12s;display:inline-flex}.gengage-chat-product-details-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-product-details-cta:active{background:var(--ds-button-primary-bg-active)}.gengage-chat-product-details-atc{border-radius:var(--radius-control);background:var(--_gengage-success-color);color:var(--client-on-primary);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:filter .12s,transform .12s;display:inline-flex}.gengage-chat-product-details-atc:hover{filter:brightness(1.08);transform:translateY(-1px)}.gengage-chat-product-details-atc:active{transform:translateY(1px)}.gengage-chat-product-detail-tabs{border-top:1px solid var(--border-default);margin-top:4px;padding-top:12px}.gengage-chat-product-detail-tab-bar{border-bottom:1px solid var(--border-default);gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.gengage-chat-product-detail-tab{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.gengage-chat-product-detail-tab:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-card-soft) 82%, transparent)}.gengage-chat-product-detail-tab--active{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-product-detail-tab-panel{color:var(--text-secondary);font-size:13px;line-height:1.6}.gengage-chat-product-description{color:var(--text-primary);flex-direction:column;gap:10px;display:flex}.gengage-chat-product-description p,.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4,.gengage-chat-product-description ul,.gengage-chat-product-description ol{margin:0}.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-product-description ul,.gengage-chat-product-description ol{padding-left:20px}.gengage-chat-product-description li+li{margin-top:6px}.gengage-chat-product-description strong,.gengage-chat-product-description b{font-weight:800}.gengage-chat-product-specs-table{border-collapse:collapse;width:100%;font-size:13px}.gengage-chat-product-specs-table tr:nth-child(2n){background:var(--surface-card-muted)}.gengage-chat-product-specs-key{color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border-subtle);width:40%;padding:6px 10px;font-weight:600}.gengage-chat-product-specs-value{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:6px 10px}.gengage-chat-product-card-atc{opacity:0;z-index:1;transition:opacity .15s;position:absolute;bottom:42px;right:6px}.gengage-chat-product-card:hover .gengage-chat-product-card-atc{opacity:1}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-atc{opacity:1;width:100%;margin:0;display:flex;position:relative;bottom:auto;right:auto}}.gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translateY(100%)}@media (width<=900px){.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(280px, calc(100vw - var(--_gengage-chat-conversation-width)), 560px);max-width:560px}}.gengage-chat-attachment-preview{background:var(--surface-card-muted);border:1px solid var(--border-default);box-sizing:border-box;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.gengage-chat-attachment-preview--hidden{display:none}.gengage-chat-attachment-preview-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:40px;height:40px}.gengage-chat-attachment-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.gengage-chat-attachment-remove{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.gengage-chat-attachment-remove:hover{color:var(--error)}.gengage-chat-attach-btn{background:var(--surface-card-soft);border:1px solid var(--border-default);cursor:pointer;width:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);border-radius:var(--gengage-chat-input-control-radius,12px);color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s,border-color .15s;display:flex}.gengage-chat-attach-btn:hover{color:var(--client-primary);background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-attach-btn svg{width:20px;height:20px}.gengage-chat-attach-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.gengage-chat-attach-menu{z-index:50;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-card);min-width:196px;box-shadow:var(--shadow-3);margin:0;padding:4px 0;list-style:none;position:absolute;bottom:calc(100% + 8px);left:0}.gengage-chat-attach-menu[hidden]{display:none!important}.gengage-chat-attach-menu-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s;display:flex}.gengage-chat-attach-menu-item:hover{background:var(--surface-card-muted)}.gengage-chat-attach-menu-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-attach-menu-label{flex:1;min-width:0}.gengage-chat-attach-menu-sep{background:var(--border-default);height:1px;margin:4px 10px}.gengage-chat-mic-btn{cursor:pointer;border-radius:var(--radius-control);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s;display:flex}.gengage-chat-mic-btn:hover{color:var(--text-primary);background:var(--surface-card-muted);border-color:var(--border-default)}.gengage-chat-mic-btn svg{width:20px;height:20px}.gengage-chat-mic-btn--active{color:var(--error);animation:1.2s ease-in-out infinite gengage-mic-pulse}.gengage-chat-mic-btn--active:hover{color:color-mix(in srgb, var(--error) 84%, black)}@keyframes gengage-mic-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.gengage-chat-input-area--dragover{outline:2px dashed var(--client-primary);outline-offset:-2px;background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-attachment-thumb{border-radius:8px;width:120px;max-width:100%;height:auto;margin-bottom:6px;display:block}.gengage-chat-root--mobile .gengage-chat-header-btn,.gengage-chat-root--mobile .gengage-chat-close{border-radius:12px;width:44px;height:44px}@media (width<=374px){.gengage-chat-root--mobile .gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:var(--gengage-chat-input-control-size,44px);height:var(--gengage-chat-input-control-size,44px);min-width:var(--gengage-chat-input-control-size,44px);border-radius:var(--gengage-chat-input-control-radius,14px)}.gengage-chat-root--mobile .gengage-chat-attach-btn svg,.gengage-chat-root--mobile .gengage-chat-mic-btn svg{width:22px;height:22px}.gengage-chat-root--mobile .gengage-chat-panel-divider{cursor:ns-resize;touch-action:pan-y;background:0 0;justify-content:center;align-items:center;width:100%;height:20px;display:flex;position:relative;overflow:visible}.gengage-chat-root--mobile .gengage-chat-panel-divider--hidden{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel{border-radius:0;width:100%;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-panel{z-index:10;width:100%;min-width:0;max-width:none;max-height:none;box-shadow:none;background:var(--gengage-chat-panel-bg,var(--surface-card));pointer-events:none;border:none;border-radius:0;flex-direction:column;padding:0 12px 16px;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0;overflow-y:auto;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-panel--visible{pointer-events:auto;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-panel-divider,.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-panel-divider{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-body{flex-direction:row}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-conversation{border-left:none;flex:1;width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-cta{box-sizing:border-box;width:100%;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-panel{gap:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:0;padding:8px}.gengage-chat-root--mobile .gengage-chat-product-details-content{gap:6px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:14px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-product-details-rating{padding:2px 6px;font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-original-price{font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{gap:6px;margin-top:2px}.gengage-chat-root--mobile .gengage-chat-product-details-cta{min-height:38px;padding:0 14px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-product-grid:not(.gengage-chat-product-grid--mobile){scroll-snap-type:x mandatory}.gengage-chat-root--mobile .gengage-chat-product-grid.gengage-chat-product-grid--mobile{scroll-snap-type:none}.gengage-chat-root--mobile .gengage-chat-product-card{box-sizing:border-box;scroll-snap-align:center;width:280px;min-width:280px;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-grid--mobile .gengage-chat-product-card{scroll-snap-align:start;width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-product-card-img-wrapper{justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:180px;display:block}.gengage-chat-root--mobile .gengage-chat-product-card-discount-badge{padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-drawer{border-radius:0;width:100%;max-height:100%;position:fixed;inset:0}.gengage-chat-root--mobile .gengage-chat-bubble{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:min(200px,72%)}.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{flex-shrink:0;width:28px;min-width:28px;height:28px;min-height:28px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-discount-badge{min-width:28px;height:28px;padding:0 6px;font-size:10px;font-weight:700}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer{padding:0 12px 14px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;white-space:normal;text-align:center;-webkit-hyphens:auto;hyphens:auto;min-width:0;max-width:100%;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{box-sizing:border-box;white-space:normal;width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);margin-left:12px;margin-right:12px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-rating-compact{gap:3px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-stock{padding:2px 5px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-messages{scrollbar-width:none;padding:12px 16px}.gengage-chat-root--mobile .gengage-chat-messages::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-drawer{border-top:none}.gengage-chat-root--mobile .gengage-chat-header{border-radius:16px 16px 0 0;min-height:72px;padding-top:22px;padding-bottom:8px}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-header{border-radius:0}.gengage-chat-root--mobile .gengage-chat-conversation{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-product-details-img{object-fit:contain;min-height:0;max-height:200px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{flex-wrap:wrap;gap:8px}.gengage-chat-root--mobile .gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px}.gengage-chat-root--mobile .gengage-chat-input::placeholder{font-size:13px;line-height:inherit}.gengage-chat-kvkk-banner{color:var(--text-secondary);background:0 0;border:none;padding:14px 32px 10px;font-size:13px;line-height:1.55}.gengage-chat-kvkk-content{min-width:0}.gengage-chat-kvkk-content p{margin:0}.gengage-chat-kvkk-content a{color:inherit;margin-top:8px;text-decoration:underline;display:inline-block}.gengage-chat-comparison{box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-comparison-heading{letter-spacing:.05em;color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:700}.gengage-chat-comparison-recommended{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);padding:16px}.gengage-chat-comparison-recommended-label{color:var(--client-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.gengage-chat-comparison-recommended-body{grid-template-columns:minmax(108px,148px) minmax(0,1fr);align-items:flex-start;gap:16px;display:grid}.gengage-chat-comparison-recommended-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;justify-content:center;align-items:center;display:flex;overflow:hidden}.gengage-chat-comparison-recommended-body img,.gengage-chat-comparison-recommended-placeholder{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:8px}.gengage-chat-comparison-recommended-placeholder{background:var(--surface-card-muted)}.gengage-chat-comparison-recommended-info{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.gengage-chat-comparison-recommended-title{color:var(--text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.2}.gengage-chat-comparison-recommended-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gengage-chat-comparison-recommended-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:color-mix(in srgb, var(--warning) 78%, var(--text-primary));border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-comparison-recommended-rating-value{color:var(--text-primary)}.gengage-chat-comparison-recommended-price{color:var(--text-primary);font-size:20px;font-weight:700}.gengage-chat-comparison-highlights{border-top:1px solid var(--border-subtle);padding-top:12px}.gengage-chat-comparison-highlights-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-comparison-highlights ul{color:var(--text-primary);margin:0;padding-left:18px;font-size:14px;line-height:1.55}.gengage-chat-comparison-special{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));border-radius:var(--radius-card);color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin-bottom:12px;padding:12px 16px;font-size:13px}.gengage-chat-comparison-special summary{cursor:pointer;font-weight:600}.gengage-chat-comparison-special ul{margin:8px 0 0;padding-left:18px;line-height:1.6}.gengage-chat-comparison-table{border-collapse:collapse;background:var(--surface-card);width:100%;font-size:13px}.gengage-chat-comparison-table th,.gengage-chat-comparison-table td{text-align:center;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:10px 12px}.gengage-chat-comparison-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.gengage-chat-comparison-table td ul,.gengage-chat-comparison-table td ol{text-align:left;margin:0;padding-left:18px}.gengage-chat-comparison-table td li+li{margin-top:4px}.gengage-chat-comparison-table thead th:not(:first-child){vertical-align:top}.gengage-chat-comparison-table-header-cell{box-sizing:border-box;grid-template-rows:auto 1fr auto;place-items:start center;gap:6px;height:100%;min-height:0;display:grid}.gengage-chat-comparison-table-header-cell--clickable{cursor:pointer;border-radius:var(--radius-control);padding:6px;transition:background .16s,box-shadow .16s,transform .16s}.gengage-chat-comparison-table-header-cell--clickable:hover{background:var(--surface-card-soft);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-comparison-table-header-cell--clickable:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-comparison-table-header-cell img{object-fit:contain;border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-header-img-placeholder{border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-product-name{width:100%;min-width:0;color:var(--text-secondary);text-align:center;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;align-self:start;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-comparison-table-price{color:var(--text-primary);text-align:center;width:100%;font-weight:700}.gengage-chat-comparison-label{text-align:left;color:var(--text-secondary);white-space:nowrap;font-weight:600}.gengage-chat-comparison-selected{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-comparison-recommended-text{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.gengage-chat-comparison-key-differences{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-muted)}.gengage-chat-comparison-key-differences-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.gengage-chat-comparison-key-differences-summary::-webkit-details-marker{display:none}.gengage-chat-comparison-key-differences-summary-label{color:var(--text-primary)}.gengage-chat-comparison-key-differences-summary-meta{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-comparison-key-differences[open] .gengage-chat-comparison-key-differences-summary-meta{opacity:0}.gengage-chat-comparison-key-differences-content{color:var(--text-primary);padding:0 16px 16px;font-size:14px;line-height:1.7}.gengage-chat-comparison-key-differences-content ul,.gengage-chat-comparison-key-differences-content ol{margin:0;padding-left:20px}.gengage-chat-comparison-key-differences-content li+li{margin-top:8px}@media (width<=960px){.gengage-chat-comparison-recommended-body{grid-template-columns:1fr}.gengage-chat-comparison-recommended-title{font-size:20px}}.gengage-chat-pills{border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:8px 12px 6px;position:relative}.gengage-chat-pills-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding-right:28px;display:flex;overflow-x:auto}.gengage-chat-pills-scroll::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-pills-scroll{flex-wrap:wrap;gap:6px}.gengage-chat-root--mobile .gengage-chat-pill{white-space:normal;max-width:100%}.gengage-chat-pill{border:1px solid var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.gengage-chat-pill:hover{background:color-mix(in srgb, var(--client-primary) 12%, white);border-color:color-mix(in srgb, var(--client-primary) 36%, white)}.gengage-chat-pill:active{transform:none}.gengage-chat-pill--rich{border-radius:18px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.gengage-chat-pill-img{object-fit:cover;background:var(--surface-card);border-radius:12px;flex-shrink:0;width:32px;height:32px}.gengage-chat-pill-text{font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-pill-desc{display:none}.gengage-chat-pill--rich .gengage-chat-pill-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;font-weight:500;display:block;overflow:hidden}.gengage-chat-pills-arrow{border:1px solid var(--border-default);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-1);z-index:1;border-radius:12px;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.gengage-chat-pills-arrow:hover{background:var(--surface-card-soft);color:var(--client-primary)}@media (prefers-reduced-motion:reduce){.gengage-chat-uispec>*,.gengage-chat-action-btn,.gengage-chat-inline-question-btn,.gengage-chat-product-card,.gengage-chat-product-card-cta,.gengage-chat-send,.gengage-chat-launcher-container,.gengage-chat-launcher,.gengage-chat-pill,.gengage-chat-drawer,.gengage-chat-typing-dots span,.gengage-chat-thinking-step-marker--active,.gengage-chat-bubble,.gengage-chat-panel-skeleton-block,.gengage-chat-ai-toppick-card,.gengage-chat-mic-btn--active,.gengage-chat-ai-toppick-spinner:after,.gengage-chat-cart-toast,.gengage-chat-header-btn--cart-flash{transition:none!important;animation:none!important;transform:none!important}}.gengage-chat-bubble--user{position:relative}.gengage-chat-rollback-btn{border-radius:var(--radius-pill);background:var(--surface-card-muted);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.gengage-chat-bubble--user:hover .gengage-chat-rollback-btn{opacity:1}.gengage-chat-rollback-btn:hover{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-bubble--hidden{display:none}.gengage-chat-ai-top-picks{flex-direction:column;gap:12px;padding:8px 0;scroll-margin-top:60px;display:flex}.gengage-chat-ai-top-picks-title{color:var(--text-primary);margin:0 0 4px;font-size:15px;font-weight:600}.gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:10px;min-width:0;display:flex}.gengage-chat-ai-top-picks-rest,.gengage-chat-ai-toppick-top-row{display:contents}.gengage-chat-ai-toppick-detail{width:100%;min-width:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks{gap:0;padding-top:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-title{flex-shrink:0;width:100%;margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,auto);align-items:stretch;gap:12px;margin:0;padding:12px 0;display:grid;overflow:visible}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex:initial;scroll-snap-align:none;width:100%;min-width:0;max-width:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child{grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:12px 18px;display:grid}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail){grid-template-rows:auto auto auto}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex-direction:column;align-items:stretch}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{max-height:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-media{aspect-ratio:4/3;grid-area:1/1/span 2;max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-media{grid-row:1/span 3}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-detail{grid-area:2/2;min-width:0;padding-top:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{object-fit:contain;width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-height:0;padding:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-body{grid-area:1/2;padding-top:6px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-cta{grid-row:3}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:calc(100% - 24px);color:var(--ds-button-secondary-fg);align-self:stretch;margin:14px 12px 12px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:auto;min-width:180px;color:var(--ds-button-secondary-fg);grid-area:2/2;place-self:end start;margin:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-secondary-bg-hover);filter:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.gengage-chat-ai-toppick-rating-icon{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-ai-toppick-rating-value{color:var(--text-primary)}.gengage-chat-ai-toppick-media .gengage-chat-ai-toppick-discount-badge{background:var(--client-primary);color:var(--client-on-primary);z-index:1;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.2;position:absolute;top:4px;left:4px;right:auto}.gengage-chat-ai-toppick-card--winner,.gengage-chat-ai-toppick-card--compact{--_badge-inset-top:12px;--_badge-height:30px;box-sizing:border-box;padding:calc(var(--_badge-inset-top) + var(--_badge-height) + 6px) 12px 12px;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;transition:box-shadow .2s,background .15s,transform .15s;display:flex;position:relative;overflow:visible}.gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-card--winner:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default)}.gengage-chat-ai-toppick-card--compact:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-ai-toppick-badge{top:var(--_badge-inset-top,12px);z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.04em;pointer-events:none;white-space:normal;border-radius:999px;align-items:center;max-width:calc(100% - 28px);margin:0;padding:8px 14px;font-size:11px;font-weight:800;line-height:1.25;display:inline-flex;position:absolute;left:14px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary);box-shadow:0 10px 18px color-mix(in srgb, var(--client-primary) 20%, transparent)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card);color:color-mix(in srgb, var(--client-primary) 72%, var(--text-primary));border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin-top:4px;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.gengage-chat-ai-toppick-img{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:4px}.gengage-chat-ai-toppick-body{flex-direction:column;flex:1;gap:0;min-width:0;padding:0;display:flex}.gengage-chat-ai-toppick-name{color:var(--text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.375;display:-webkit-box;overflow:hidden}.gengage-chat-ai-toppick-role{color:var(--client-primary);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.gengage-chat-ai-toppick-labels{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.gengage-chat-ai-toppick-label{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.gengage-chat-ai-toppick-label[data-sentiment=positive]{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=negative]{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=neutral]{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-reason{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.5}.gengage-chat-ai-toppick-review{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-primary);border-radius:14px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-snippet{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-price{color:var(--text-primary);margin-top:4px;font-size:14px;font-weight:700}.gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-ai-toppick-original-price{color:var(--text-secondary);font-size:12px;font-weight:400;text-decoration:line-through}.gengage-chat-ai-toppick-price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:4px;display:flex}.gengage-chat-ai-toppick-price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-campaign-price-badge{box-sizing:border-box;border-radius:var(--radius-control,10px);background-image:linear-gradient(var(--gengage-campaign-price-badge-fill,#fff) 0 0), linear-gradient(135deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;flex-direction:row;align-items:center;gap:8px;max-width:100%;padding:7px 9px;display:inline-flex}.gengage-chat-campaign-price-badge__logo{flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-campaign-price-badge__logo img{object-fit:contain;width:auto;max-width:64px;height:auto;max-height:26px;display:block}.gengage-chat-campaign-price-badge__body{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;min-width:0;display:flex}.gengage-chat-campaign-price-badge__reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-campaign-price-badge__sale{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800;line-height:1.15}.gengage-chat-product-card-price-row .gengage-chat-campaign-price-badge__sale{font-size:13px}.gengage-chat-product-summary__price .gengage-chat-campaign-price-badge__sale{font-size:12px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge{border-radius:var(--radius-control,12px);padding:9px 11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__reason{font-size:11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__sale{font-size:18px}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge)){align-items:last baseline}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-ai-toppick-price-sep,.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-card-price-sep,.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-summary__price-sep,.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-details-price-sep){align-self:last baseline}.gengage-chat-ai-toppick-price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-ai-toppick-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.85em;margin:0 1px;display:inline-block}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-original-price{font-size:14px;font-weight:500;text-decoration:none}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800}.gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control,12px);background:var(--ds-button-primary-bg);width:calc(100% - 24px);color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;box-sizing:border-box;opacity:0;pointer-events:none;flex-shrink:0;align-self:stretch;margin:14px 12px 12px;padding:8px 0;font-size:13px;font-weight:700;transition:opacity .18s,transform .18s,background .15s;display:block;transform:translateY(6px)}.gengage-chat-ai-toppick-card--winner:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--winner:focus-within .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:focus-within .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;transform:translateY(0)}.gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-ai-toppick-spinner{background:color-mix(in srgb, var(--surface-card) 78%, transparent);z-index:6;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gengage-chat-ai-toppick-spinner:after{content:"";border:3px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite gengage-spin}@keyframes gengage-spin{to{transform:rotate(360deg)}}.gengage-chat-root--mobile .gengage-chat-ai-top-picks{gap:8px;padding:4px 0}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-title{margin:0 0 2px;font-size:14px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:8px;min-width:0;padding:6px 0 2px;display:flex;overflow:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child{flex-direction:column;align-items:stretch;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child.gengage-chat-ai-toppick-card--winner{flex-direction:column}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex-flow:row;gap:8px;min-width:0;margin:0 -2px;padding:2px 2px 8px;display:flex;overflow:auto visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest--uniform-mobile{scroll-snap-type:none;flex-direction:column;margin:0;padding:0;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest::-webkit-scrollbar{width:0;height:0;display:none}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest .gengage-chat-ai-toppick-card--compact{scroll-snap-align:start;flex:0 0 min(82vw,272px);width:min(82vw,272px);min-width:0;max-width:272px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest--uniform-mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex:none;width:100%;max-width:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:6px 8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 28%, var(--border-default));margin-bottom:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default);box-shadow:none;flex-direction:column;align-items:stretch}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform{margin-top:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-top-row,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:10px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:10px;flex:0 0 clamp(96px,30vw,124px);width:clamp(96px,30vw,124px);height:clamp(96px,30vw,124px);max-height:none;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-body{flex:1;min-width:0;padding-top:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-detail{width:100%;margin-top:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-reason{color:var(--text-primary);margin:0;font-size:12px;line-height:1.45;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-review{color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;margin-top:8px;padding:8px 10px;font-size:12px;font-style:italic;line-height:1.4;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:8px;flex:0 0 64px;width:64px;height:64px;max-height:64px;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;max-height:100%;padding:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-width:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-rating{display:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-detail{width:100%;margin-top:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-role-line{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:9px;font-weight:600;line-height:1.15}.gengage-chat-root--mobile .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:3px;right:5px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:5px;right:6px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-badge{letter-spacing:.04em;background:var(--client-primary);max-width:calc(100% - 18px);color:var(--client-on-primary);box-shadow:none;border:none;padding:2px 6px;font-size:8px;font-weight:700;line-height:1.15;top:-14px;left:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-name{margin-bottom:1px;font-size:12px;line-height:1.22}.gengage-chat-root--mobile .gengage-chat-ai-toppick-name{margin-bottom:2px;font-size:13px;line-height:1.28}.gengage-chat-root--mobile .gengage-chat-ai-toppick-rating{gap:3px;margin-top:2px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-price{margin-top:1px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-price{margin-top:2px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-original-price{font-size:11px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-labels,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{display:none!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;border:1px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 16px);color:var(--client-primary);box-shadow:none;filter:none;align-self:stretch;margin:8px 8px 6px;padding:6px 0;font-size:12px;font-weight:600;transform:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta{display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-cta:hover{background:color-mix(in srgb, var(--client-primary) 10%, var(--surface-card));color:var(--client-primary);border-color:var(--client-primary);filter:none}.gengage-chat-root--mobile .gengage-chat-rollback-btn{left:-24px}.gengage-chat-grounding-review{align-items:center;gap:12px;padding:12px 16px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-grounding-review:hover{background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}.gengage-chat-grounding-review-icon{background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));width:32px;height:32px;color:var(--client-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gengage-chat-grounding-review-icon svg{width:18px;height:18px;display:block}.gengage-chat-grounding-review-body{flex:1;min-width:0}.gengage-chat-grounding-review-title{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grounding-review-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.gengage-chat-grounding-review-cta{color:var(--client-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.gengage-chat-grounding-review-cta-icon{align-items:center;display:inline-flex}.gengage-chat-grounding-review-cta-icon svg{width:14px;height:14px;display:block}.gengage-chat-grouping-cards{flex-direction:column;gap:6px;display:flex}.gengage-chat-grouping-cards-scroll{flex-direction:column;gap:6px;min-width:0;display:flex}.gengage-chat-grouping-card{background:var(--surface-card-soft);border:1px solid var(--border-default);border-radius:var(--radius-control);align-items:center;gap:10px;padding:8px 12px;transition:background .15s,border-color .15s;display:flex}.gengage-chat-grouping-card:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-grouping-card-arrow{color:var(--client-primary);flex-shrink:0;font-size:14px;display:none}.gengage-chat-grouping-card-img{border-radius:calc(var(--radius-control) - 4px);object-fit:cover;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px}.gengage-chat-grouping-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.gengage-chat-grouping-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:12px}.gengage-chat-grouping-card-labels{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-grouping-card-label{color:var(--text-secondary);background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-grouping-card-img{display:none}.gengage-chat-root--mobile .gengage-chat-grouping-card-arrow{display:inline}.gengage-chat-suggested-search-cards{flex-direction:column;gap:8px;display:flex}.gengage-chat-suggested-search-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-1);align-items:center;gap:14px;padding:14px 16px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-suggested-search-card:hover{background:var(--surface-card);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-suggested-search-card-img{object-fit:contain;background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:14px;flex-shrink:0;width:64px;height:64px;padding:4px}.gengage-chat-suggested-search-card-body{flex:1;min-width:0}.gengage-chat-suggested-search-card-name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-details-gallery{position:relative}.gengage-chat-product-details-gallery .gengage-chat-product-details-img{touch-action:pan-y}.gengage-chat-product-gallery-nav{z-index:3;border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;background:color-mix(in srgb, var(--surface-card) 92%, transparent);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0;transition:background .15s,opacity .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gengage-chat-product-gallery-nav:hover:not(:disabled){background:var(--surface-card);color:var(--client-primary)}.gengage-chat-product-gallery-nav:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-gallery-nav:disabled{opacity:.35;cursor:not-allowed}.gengage-chat-product-gallery-nav--prev{left:8px}.gengage-chat-product-gallery-nav--next{right:8px}.gengage-chat-product-gallery-thumbs{scrollbar-width:thin;justify-content:center;gap:8px;width:100%;padding:10px 0 4px;display:flex;overflow-x:auto}.gengage-chat-product-gallery-thumb{object-fit:cover;cursor:pointer;background:var(--surface-card);border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;transition:border-color .15s}.gengage-chat-product-gallery-thumb:hover{border-color:var(--border-strong)}.gengage-chat-product-gallery-thumb--active{border-color:var(--client-primary)}.gengage-chat-product-gallery-thumb-more{background:var(--surface-card-muted);width:56px;height:56px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.gengage-chat-product-variants-label{color:var(--text-muted);text-transform:none;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-product-variants-list{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-product-variant-btn{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:6px 12px;font-size:12px;transition:background .15s,border-color .15s}.gengage-chat-product-variant-btn:hover{background:var(--surface-card-muted);border-color:color-mix(in srgb, var(--client-primary) 20%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-details-panel{border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);gap:16px;padding:16px}.gengage-chat-product-details-media{border-color:var(--border-default);border-radius:var(--radius-card);background:var(--surface-card-soft);justify-content:center;min-height:320px}.gengage-chat-product-details-img{max-height:420px}.gengage-chat-product-details-content{gap:12px}.gengage-chat-product-details-brand{color:var(--client-primary);font-size:12px;font-weight:800;line-height:1.2}.gengage-chat-product-details-title{font-size:22px;line-height:1.2}.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));background:color-mix(in srgb, var(--warning) 10%, var(--surface-card));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));gap:6px;padding:6px 10px;font-family:inherit}button.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));cursor:pointer}.gengage-chat-product-details-rating--clickable:hover{border-color:color-mix(in srgb, var(--warning) 42%, var(--border-default));background:color-mix(in srgb, var(--warning) 14%, var(--surface-card))}.gengage-chat-product-details-rating .gengage-star-rating{line-height:1}.gengage-chat-product-details-rating-value{color:var(--text-primary)}.gengage-chat-product-details-price{flex-wrap:wrap;gap:10px}.gengage-chat-product-details-original-price{order:2}.gengage-chat-product-details-current-price{order:1;font-size:30px}.gengage-chat-product-details-discount-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--error) 12%, white);min-height:24px;color:color-mix(in srgb, var(--error) 84%, var(--text-primary));order:3;align-items:center;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{order:0;font-size:30px}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{font-weight:500}.gengage-chat-product-details-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.gengage-chat-product-details-fact{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-card-soft);min-width:0;padding:8px 10px}.gengage-chat-product-details-fact dt,.gengage-chat-product-details-fact dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.gengage-chat-product-details-fact dt{color:var(--text-muted);font-size:11px;font-weight:700}.gengage-chat-product-details-fact dd{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:700}.gengage-chat-product-variants{margin-top:4px}.gengage-chat-product-variants-label{color:var(--text-primary);letter-spacing:normal;margin-bottom:8px;font-size:14px;font-weight:800}.gengage-chat-product-variants-list{gap:8px}.gengage-chat-product-variant-btn{border-radius:var(--radius-control);min-height:44px;color:var(--text-primary);gap:8px;padding:7px 10px;font-size:13px;font-weight:700}.gengage-chat-product-variant-btn--active{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--client-primary) 36%, transparent);color:var(--client-primary)}.gengage-chat-product-variant-btn--out{opacity:.48;cursor:not-allowed}.gengage-chat-product-variant-swatch{border:1px solid var(--border-default);background:var(--surface-card-muted);width:22px;height:22px;box-shadow:inset 0 0 0 2px var(--surface-card);border-radius:50%;flex:0 0 22px}.gengage-chat-product-variant-swatch--image{object-fit:cover;box-shadow:none}.gengage-chat-product-variant-label,.gengage-chat-product-variant-price{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gengage-chat-product-variant-price{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-product-details-actions{gap:10px;margin-top:6px}.gengage-chat-product-details-atc,.gengage-chat-product-details-cta{border-radius:var(--radius-control);min-height:44px}.gengage-chat-product-details-atc{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg)}.gengage-chat-product-details-atc:hover{background:var(--ds-button-primary-bg-hover);filter:none}.gengage-chat-product-details-cta.gds-btn-secondary{border-color:var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg)}.gengage-chat-product-details-cta.gds-btn-secondary:hover{background:var(--ds-button-secondary-bg-hover)}@media (width>=960px){.gengage-chat-product-details-panel{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;display:grid}.gengage-chat-product-details-media{position:sticky;top:0}.gengage-chat-product-detail-tabs{grid-column:1/-1}}.gengage-chat-root--mobile .gengage-chat-product-details-panel{box-shadow:none;gap:10px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:220px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price{font-size:24px}.gengage-chat-root--mobile .gengage-chat-product-details-facts{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-product-details-actions{grid-template-columns:1fr 1fr 44px;align-items:stretch;display:grid}.gengage-chat-root--mobile .gengage-chat-product-details-actions>.gengage-chat-product-details-share{width:44px;min-width:44px}.gengage-chat-root--mobile .gengage-chat-product-details-atc,.gengage-chat-root--mobile .gengage-chat-product-details-cta{width:100%;padding-inline:10px}.gengage-chat-product-grid-wrapper{flex-direction:column;gap:6px;display:flex}.gengage-chat-product-grid-wrapper--grouped{gap:12px}.gengage-chat-product-grid-sections{flex-direction:column;gap:20px;display:flex}.gengage-chat-product-grid-section{border-top:1px solid color-mix(in srgb, var(--border-default) 70%, transparent);flex-direction:column;gap:10px;padding:14px 0 18px;display:flex}.gengage-chat-product-grid-section:first-child{border-top:0;padding-top:4px}.gengage-chat-product-grid-section:last-child{padding-bottom:4px}.gengage-chat-product-grid-section-head{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:0 2px;display:flex}.gengage-chat-product-grid-section-title{letter-spacing:0;min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:15px;font-weight:700;line-height:1.25}.gengage-chat-product-grid-section-count{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card-soft);min-height:22px;color:var(--text-secondary);letter-spacing:0;white-space:nowrap;flex:none;justify-content:center;align-items:center;padding:1px 8px;font-family:inherit;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.gengage-chat-panel .gengage-chat-product-grid--section{padding-top:0;padding-bottom:2px}.gengage-chat-root--mobile .gengage-chat-product-grid-sections{gap:16px}.gengage-chat-root--mobile .gengage-chat-product-grid-section{gap:8px;padding:12px 0 14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-title{font-size:14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-count{min-height:20px;padding-inline:8px;font-size:10.5px}.gengage-chat-consulting-style-picker{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));background:linear-gradient(160deg, color-mix(in srgb, var(--surface-card) 80%, white), color-mix(in srgb, var(--surface-card-soft) 84%, white));border-radius:20px;padding:12px}.gengage-chat-consulting-style-picker-title{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:800}.gengage-chat-consulting-style-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-consulting-style-btn{border:1px solid var(--border-default);background:var(--surface-card);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:0;padding:6px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-consulting-style-btn:hover{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));transform:translateY(-1px)}.gengage-chat-consulting-style-btn--active{border-color:color-mix(in srgb, var(--client-primary) 40%, var(--border-default));box-shadow:0 0 0 2px color-mix(in srgb, var(--client-primary) 16%, transparent), var(--shadow-1)}.gengage-chat-consulting-style-btn--loading{border-style:dashed}.gengage-chat-consulting-style-btn--muted{opacity:.78}.gengage-chat-consulting-style-media{border-radius:12px;position:relative;overflow:hidden}.gengage-chat-consulting-style-image{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border-subtle);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%}.gengage-chat-consulting-style-caption{color:#fff;background:#0000008c;border-radius:12px;padding:8px 10px;font-size:15px;font-weight:800;line-height:1.2;position:absolute;bottom:10px;left:10px;right:10px}.gengage-chat-consulting-style-status{color:var(--text-primary);background:color-mix(in srgb, white 88%, var(--client-primary) 12%);border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;position:absolute;top:10px;right:10px}.gengage-chat-consulting-loading-panel{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:linear-gradient(180deg, var(--surface-card-soft), var(--surface-card));border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-consulting-loading-panel-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:800}.gengage-chat-consulting-loading-panel-copy{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.gengage-chat-consulting-loading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.gengage-chat-consulting-loading-card{border:1px solid var(--border-default);background:linear-gradient(90deg, color-mix(in srgb, var(--surface-card-soft) 94%, white) 20%, color-mix(in srgb, white 86%, var(--surface-card-soft) 14%) 50%, color-mix(in srgb, var(--surface-card-soft) 94%, white) 80%);background-size:220% 100%;border-radius:18px;min-height:240px;animation:1.2s linear infinite gengage-chat-consulting-loading-shimmer}@keyframes gengage-chat-consulting-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.gengage-chat-consulting-group{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:linear-gradient(180deg, var(--surface-card-soft), var(--surface-card));border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex}.gengage-chat-consulting-group-header{flex-direction:column;gap:4px;min-height:112px;display:flex}.gengage-chat-consulting-group-label{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:0;font-size:16px;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-reason{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-grid{grid-template-columns:repeat(var(--consulting-group-columns,4), minmax(0, 1fr));justify-content:stretch;align-items:stretch;gap:14px;margin-bottom:2px;display:grid}.gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none;height:100%}.gengage-chat-beauty-photo-step{padding:0 12px}.gengage-chat-beauty-photo-step-card{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card) 85%, white), var(--surface-card-soft));box-shadow:var(--shadow-1);border-radius:18px;gap:10px;padding:12px;display:flex}.gengage-chat-beauty-photo-step-icon{background:color-mix(in srgb, var(--client-primary) 16%, white);width:34px;height:34px;color:var(--client-primary);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:inline-flex}.gengage-chat-beauty-photo-step-content{flex:auto;min-width:0}.gengage-chat-beauty-photo-step-title{color:var(--text-primary);font-size:15px;font-weight:800}.gengage-chat-beauty-photo-step-desc{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.45}.gengage-chat-beauty-photo-step-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.gengage-chat-beauty-photo-step-upload{border-radius:999px;min-height:34px;padding-inline:14px;font-size:12px;font-weight:800}.gengage-chat-beauty-photo-step-skip{border-radius:999px;min-height:34px;padding-inline:12px;font-size:12px;font-weight:700}.gengage-chat-panel .gengage-chat-consulting-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gengage-chat-panel .gengage-chat-consulting-style-image{min-height:250px}.gengage-chat-panel .gengage-chat-consulting-style-caption{padding:10px 12px;font-size:16px}.gengage-chat-panel .gengage-chat-consulting-group{border-radius:18px;min-width:0;padding:14px}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:100%;margin-inline:0}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-img-wrapper{flex-shrink:1;align-self:stretch;min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-body{min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-name,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price-block{overflow-wrap:anywhere;word-break:break-word}.gengage-chat-root--mobile .gengage-chat-consulting-style-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-style-image{min-height:220px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid.gengage-chat-consulting-group-grid--single-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-consulting-loading-grid{grid-template-columns:1fr}.gengage-chat-product-grid-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:2px;display:flex}.gengage-chat-product-grid-head-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:18px;font-weight:700;line-height:1.2;overflow:hidden}.gengage-chat-product-grid-head-actions{flex-shrink:0;align-items:center;gap:6px;max-width:52%;display:flex}.gengage-chat-product-sort-toolbar{box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:0;display:flex}.gengage-chat-product-sort-toolbar--inline{flex-wrap:nowrap;justify-content:flex-end}.gengage-chat-product-sort-dropdown{z-index:5;flex:0 auto;width:auto;min-width:0;max-width:200px;position:relative}.gengage-chat-product-sort-toolbar:not(.gengage-chat-product-sort-toolbar--inline) .gengage-chat-product-sort-dropdown{flex:auto;max-width:min(200px,100%)}.gengage-chat-product-sort-dropdown--open{z-index:25}.gengage-chat-product-sort-trigger{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:100%;min-height:32px;color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.2;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.gengage-chat-product-sort-trigger:hover{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:var(--surface-card-soft)}.gengage-chat-product-sort-trigger:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger{border-color:color-mix(in srgb, var(--client-primary) 32%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-product-sort-trigger-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-product-sort-dropdown[data-sort-icon=related] .gengage-chat-product-sort-trigger-icon{color:var(--client-primary)}.gengage-chat-product-sort-trigger-icon svg{display:block}.gengage-chat-product-sort-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-product-sort-trigger-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s;display:flex}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger-chevron{transform:rotate(180deg)}.gengage-chat-product-sort-menu{width:max-content;min-width:100%;max-width:min(260px,100vw - 48px);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:auto}.gengage-chat-product-sort-option{border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background .12s;display:flex}.gengage-chat-product-sort-option:hover{background:var(--surface-card-muted)}.gengage-chat-product-sort-option--active{color:var(--client-primary);background:var(--client-primary-subtle);font-weight:600}.gengage-chat-product-sort-option-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-product-sort-option--active .gengage-chat-product-sort-option-icon,.gengage-chat-product-sort-option--active[data-sort-key=related] .gengage-chat-product-sort-option-icon{color:var(--client-primary)}.gengage-chat-product-sort-option-icon svg{display:block}.gengage-chat-product-sort-option-label{flex:auto;min-width:0}.gengage-chat-product-sort-option-check{width:22px;color:var(--client-primary);flex-shrink:0;justify-content:flex-end;display:flex}.gengage-chat-product-sort-option-check--hidden{visibility:hidden}.gengage-chat-product-sort-separator{background:var(--border-default);width:1px;margin:2px}.gengage-chat-comparison-toggle-btn{border:1px solid var(--border-default);border-radius:var(--radius-control,12px);background:var(--surface-card);min-height:32px;color:var(--text-primary);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gengage-chat-comparison-toggle-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-comparison-toggle-icon svg{display:block}.gengage-chat-comparison-toggle-btn:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, white);color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active{border-color:color-mix(in srgb, var(--client-primary) 26%, white);color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-comparison-toggle-btn--active .gengage-chat-comparison-toggle-icon{color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active:hover{background:var(--client-primary-hover);color:var(--client-on-primary);border-color:var(--client-primary-hover)}.gengage-chat-comparison-toggle-btn--active:hover .gengage-chat-comparison-toggle-icon{color:var(--client-on-primary)}.gengage-chat-comparison-select-wrapper{cursor:pointer;border-radius:var(--radius-control);transition:box-shadow .2s,transform .2s;position:relative}.gengage-chat-comparison-select-wrapper:hover{box-shadow:0 0 0 2px var(--client-focus-ring)}.gengage-chat-comparison-select-wrapper--selected,.gengage-chat-comparison-select-wrapper--selected:hover{box-shadow:none}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-select-wrapper{transition:none}}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card{pointer-events:none;transition:opacity .2s,transform .2s,filter .2s}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-img-actions,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-discount-badge,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-buy-footer,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-cta{opacity:0}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:.82}.gengage-chat-comparison-select-wrapper:hover>.gengage-chat-product-card,.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{opacity:1;transform:translateY(-1px)}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{box-shadow:0 0 0 2px color-mix(in srgb, var(--client-primary) 26%, white), var(--shadow-1);filter:saturate(1.02);border-color:#0000;outline:none}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:1}.gengage-chat-comparison-card-hint{display:none}.gengage-chat-comparison-checkbox{z-index:4;cursor:pointer;pointer-events:auto;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 94%, white);min-height:40px;color:var(--text-primary);box-shadow:var(--shadow-2);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:absolute;bottom:16px;left:16px;right:16px}.gengage-chat-comparison-checkbox[data-selected=true]{background:color-mix(in srgb, var(--client-primary) 10%, white);border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));color:var(--client-primary)}.gengage-chat-comparison-checkbox-icon{background:var(--surface-card-soft);color:currentColor;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.gengage-chat-comparison-checkbox[data-selected=true] .gengage-chat-comparison-checkbox-icon{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-comparison-checkbox-dot{background:color-mix(in srgb, currentColor 75%, white);border-radius:999px;width:8px;height:8px}.gengage-chat-comparison-checkbox-label{font-size:12px;font-weight:700;line-height:1.2}.gengage-chat-comparison-toggle-btn--hidden{opacity:0;pointer-events:none}@keyframes gengage-comparison-fade-in{0%{opacity:0}to{opacity:1}}.gengage-chat-comparison-toggle-btn--reveal{animation:.5s forwards gengage-comparison-fade-in}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-toggle-btn--reveal{opacity:1;animation:none}}.gengage-chat-comparison-floating-btn{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 92%, white);width:min(100%,520px);color:var(--text-primary);z-index:5;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin:16px auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px}.gengage-chat-comparison-dock-slot{display:none}.gengage-chat-root--mobile .gengage-chat-panel.gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot:not(:empty){left:0;right:0;bottom:calc(var(--gengage-chat-input-control-size,44px) + 8px + env(safe-area-inset-bottom,0px));z-index:30;box-sizing:border-box;pointer-events:none;max-width:100%;padding:0 10px;display:block;position:absolute}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot>*{pointer-events:auto}.gengage-chat-comparison-floating-summary{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.gengage-chat-comparison-floating-count{background:var(--client-primary-subtle);min-width:32px;height:32px;color:var(--client-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.gengage-chat-comparison-floating-copy{min-width:0}.gengage-chat-comparison-floating-title{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.2}.gengage-chat-comparison-floating-warning{color:var(--error);margin-top:4px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-action{flex:none;min-width:132px}.gengage-chat-comparison-floating-close{border-radius:14px;flex:none;width:40px;height:40px;padding:0}.gengage-chat-comparison-floating-action--disabled{opacity:.6}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-3);border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;margin:0;padding:10px;position:relative;bottom:auto}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-summary{align-items:center;gap:8px;min-height:26px;padding-right:34px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-count{flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-title{margin:0;font-size:13px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-warning{margin-top:2px;font-size:11px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-action{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 12px;font-size:13px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close{box-sizing:border-box;align-self:unset;z-index:10;touch-action:manipulation;border-radius:8px;flex:none;width:26px;min-width:26px;max-width:26px;height:26px;min-height:26px;max-height:26px;padding:0;line-height:0;position:absolute;top:9px;right:9px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close svg{width:11px;height:11px;display:block}.gengage-chat-panel-topbar{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--surface-card);z-index:3;border-bottom:none;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.gengage-chat-panel-topbar-title-wrap{flex:1 1 0;align-items:center;min-width:0;display:flex}.gengage-chat-panel-topbar-back,.gengage-chat-panel-topbar-forward{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;transition:background .15s,border-color .15s,opacity .15s;display:flex}.gengage-chat-panel-topbar-back[hidden],.gengage-chat-panel-topbar-forward[hidden]{display:none}.gengage-chat-panel-topbar-back:hover:not(:disabled),.gengage-chat-panel-topbar-forward:hover:not(:disabled){background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-panel-topbar-back:disabled,.gengage-chat-panel-topbar-forward:disabled{opacity:.3;cursor:default}.gengage-chat-panel-topbar-title{width:100%;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;text-align:left;letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.gengage-chat-panel-topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.gengage-chat-panel-topbar-actions:empty{display:none}.gengage-chat-panel-topbar-toolbar-host{justify-content:flex-end;align-items:center;width:100%;display:flex}.gengage-chat-panel-topbar-toolbar-host .gengage-chat-product-sort-toolbar{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.gengage-chat-panel-topbar-close{display:none}@keyframes gengage-typewriter-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-typewriter-block{animation:.15s both gengage-typewriter-fade-in;display:block}@media (prefers-reduced-motion:reduce){.gengage-chat-typewriter-block{animation:none}}.gengage-product-mention{color:var(--client-primary);cursor:pointer;border-bottom:1px dashed var(--client-primary);font-weight:500;text-decoration:none;transition:border-color .15s}.gengage-product-mention:hover{border-bottom-style:solid}@keyframes gengage-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.gengage-chat-panel-skeleton-block{animation:1.5s ease-in-out infinite gengage-skeleton-pulse}@media (prefers-reduced-motion:reduce){.gengage-chat-panel-skeleton-block{animation:none}}.gengage-chat-input-chips{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:6px;padding:4px 12px 2px;display:flex;overflow-x:auto}.gengage-chat-input-chips::-webkit-scrollbar{display:none}.gengage-chat-input-chip{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.gengage-chat-input-chip:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-icon{flex-shrink:0;width:14px;height:14px}.gengage-chat-input-chip-icon,.gengage-chat-pill-icon{align-items:center;margin-right:4px;display:inline-flex}.gengage-chat-product-card-img-wrapper,.gengage-chat-product-details-img-wrap{position:relative;overflow:hidden}.gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--_gengage-discount-color);color:var(--text-inverse);z-index:1;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.3;position:absolute;top:8px;left:8px}.gengage-chat-product-card-stock{border-radius:var(--radius-pill);width:fit-content;margin-top:2px;padding:2px 6px;font-size:11px;font-weight:600}.gengage-chat-product-card-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-card-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-find-similar-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:28px;height:28px;color:var(--text-primary);box-shadow:var(--shadow-1);cursor:pointer;z-index:2;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:opacity .2s,box-shadow .15s;display:inline-flex;position:relative}.gengage-chat-find-similar-pill:hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}@media (hover:hover) and (pointer:fine){.gengage-chat-find-similar-pill:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity .14s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.gengage-chat-find-similar-pill:hover:after,.gengage-chat-find-similar-pill:focus-visible:after{opacity:1}}.gengage-chat-find-similar-pill-icon{justify-content:center;align-items:center;display:flex}.gengage-chat-find-similar-pill-icon svg{display:block}.gengage-chat-find-similar-pill-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{transition:opacity .2s}@media (hover:hover) and (pointer:fine){.gengage-chat-product-card-img-wrapper:not(:hover) .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:not(:hover) .gengage-chat-product-card-img-actions{opacity:0;pointer-events:none}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:hover .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-shell) 88%, transparent);width:auto;height:auto;color:var(--text-inverse);box-shadow:none;opacity:0;pointer-events:none;padding:4px 10px;position:absolute;top:40px;right:8px}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-icon{display:none}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-text{clip:auto;white-space:nowrap;width:auto;height:auto;margin:0;position:static;overflow:visible}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-find-similar-pill,.gengage-chat-ai-toppick-media:hover .gengage-chat-find-similar-pill,.gengage-chat-product-details-img-wrap:hover .gengage-chat-find-similar-pill{opacity:1;pointer-events:auto}.gengage-chat-favorite-btn{background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-control);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);box-shadow:var(--shadow-1);z-index:3;justify-content:center;align-items:center;padding:0;transition:color .2s,box-shadow .15s;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-favorite-btn:hover{box-shadow:var(--shadow-2);color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}.gengage-chat-favorite-btn--active{color:var(--error)}.gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.gengage-chat-product-details-promo-badge{border-radius:var(--radius-pill);background:var(--gengage-chat-promo-bg,color-mix(in srgb, var(--success) 12%, white));color:var(--gengage-chat-promo-text,color-mix(in srgb, var(--success) 82%, var(--text-primary)));white-space:nowrap;box-sizing:border-box;min-height:20px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-block}.gengage-chat-panel-float{box-sizing:border-box;pointer-events:none;z-index:10;flex-shrink:0;align-self:stretch;width:100%;height:0;margin-top:auto;position:sticky;bottom:0;overflow:visible}.gengage-chat-choice-prompter{pointer-events:auto;background:var(--surface-card);border:1px solid var(--border-default);z-index:5;opacity:1;border-bottom:none;border-radius:16px 16px 0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:auto;max-width:none;margin-left:0;margin-right:0;padding:12px 20px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:-16px;left:-16px;right:-16px;transform:translateY(0);box-shadow:0 -2px 8px #00000014}.gengage-chat-panel--scrolled .gengage-chat-choice-prompter{pointer-events:auto;opacity:1;transform:translateY(0)}.gengage-chat-choice-prompter-heading{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:700}.gengage-chat-choice-prompter-suggestion{color:var(--text-secondary);margin-bottom:0;font-size:12px;line-height:1.35}.gengage-chat-choice-prompter-copy{min-width:0}.gengage-chat-choice-prompter-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:inline-flex}.gengage-chat-choice-prompter-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control);background:var(--ds-button-primary-bg);width:auto;min-width:180px;min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;padding:0 18px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.gengage-chat-choice-prompter-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-choice-prompter-dismiss{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card-soft) 92%, white);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.gengage-chat-choice-prompter-dismiss:hover{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white);background:var(--client-primary-subtle)}@media (prefers-reduced-motion:reduce){.gengage-chat-choice-prompter{animation:none}}.gengage-chat-categories{flex-direction:column;gap:8px;display:flex}.gengage-chat-categories-tabs{-webkit-overflow-scrolling:touch;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.gengage-chat-categories-tab{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-categories-tab-image{object-fit:cover;border:1px solid var(--border-subtle);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:28px;height:28px}.gengage-chat-categories-tab-text{min-width:0}.gengage-chat-categories-tab:hover{background:var(--surface-card-soft);border-color:var(--border-strong)}.gengage-chat-categories-tab--active{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default))}.gengage-chat-categories-panel{flex-direction:column;gap:12px;display:flex}.gengage-chat-categories-group-summary{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card));border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-categories-group-selection{border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);max-width:100%;color:var(--client-primary);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:6px 12px 6px 8px;display:inline-flex}.gengage-chat-categories-group-selection-image{object-fit:cover;border:1px solid color-mix(in srgb, white 82%, var(--border-subtle) 18%);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:30px;height:30px}.gengage-chat-categories-group-selection-title{min-width:0;color:inherit;font-size:13px;font-weight:800;line-height:1.25}.gengage-chat-categories-group-chips{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-categories-group-chip{border:1px solid var(--border-default);background:color-mix(in srgb, white 78%, var(--surface-card-soft));color:var(--text-secondary);border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-categories-group-chip--accent{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);color:var(--client-primary)}.gengage-chat-categories-group-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-categories-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;display:grid}.gengage-chat-categories-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}:is(.gengage-chat-categories .gengage-chat-product-card-img,.gengage-chat-consulting-group-grid .gengage-chat-product-card-img,.gengage-chat-product-grid-wrapper:has(.gengage-chat-consulting-style-picker) .gengage-chat-product-card-img){-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.gengage-chat-categories-filter-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-categories-filter-tag{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.gengage-chat-categories-filter-tag:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-grid-view-more{border:1px solid var(--ds-button-secondary-border);border-radius:var(--radius-control);background:var(--ds-button-secondary-bg);width:100%;color:var(--ds-button-secondary-fg);cursor:pointer;text-align:center;grid-column:1/-1;margin-top:8px;padding:10px;font-size:14px;font-weight:500;transition:background .15s;display:block}.gengage-chat-product-grid-view-more:hover{background:var(--ds-button-secondary-bg-hover)}.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0;display:grid;overflow-x:visible}.gengage-chat-product-grid--mobile .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-comparison--mobile{position:relative;overflow-x:clip}.gengage-chat-comparison--mobile .gengage-chat-comparison-table-wrapper{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.gengage-chat-comparison--mobile .gengage-chat-comparison-table{table-layout:fixed;min-width:480px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table th:first-child,.gengage-chat-comparison--mobile .gengage-chat-comparison-table .gengage-chat-comparison-label{background:var(--surface-card);z-index:1;box-shadow:2px 0 4px color-mix(in srgb, var(--surface-shell) 8%, transparent);position:sticky;left:0}.gengage-chat-comparison--mobile .gengage-chat-comparison-table thead th:first-child{box-sizing:border-box;width:22ch;min-width:0;max-width:22ch;padding:8px 6px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table td.gengage-chat-comparison-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;vertical-align:middle;width:22ch;min-width:0;max-width:22ch;overflow:hidden}.gengage-chat-product-details-similars-heading{color:var(--text-primary);margin:16px 0 8px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-product-details-similars{margin-top:8px}.gengage-chat-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-footer-link:focus-visible,.gengage-chat-send:focus-visible,.gengage-chat-action-btn:focus-visible,.gengage-chat-inline-question-btn:focus-visible,.gengage-chat-pill:focus-visible,.gengage-chat-input-chip:focus-visible,.gengage-chat-pills-arrow:focus-visible,.gengage-chat-error-retry:focus-visible,.gengage-chat-product-card-cta:focus-visible,.gengage-chat-product-details-cta:focus-visible,.gengage-chat-product-details-atc:focus-visible,.gengage-chat-product-detail-tab:focus-visible,.gengage-chat-panel-divider-toggle:focus-visible,.gengage-chat-panel-topbar-back:focus-visible,.gengage-chat-panel-topbar-forward:focus-visible,.gengage-chat-rollback-btn:focus-visible,.gengage-chat-ai-toppick-cta:focus-visible,.gengage-chat-comparison-toggle-btn:focus-visible,.gengage-chat-comparison-floating-btn:focus-visible,.gengage-chat-comparison-checkbox:focus-visible,.gengage-chat-product-sort-trigger:focus-visible,.gengage-chat-product-sort-option:focus-visible,.gengage-chat-product-variant-btn:focus-visible,.gengage-chat-product-gallery-thumb:focus-visible,.gengage-chat-find-similar-pill:focus-visible,.gengage-chat-favorite-btn:focus-visible,.gengage-chat-attach-btn:focus-visible,.gengage-chat-attach-menu-item:focus-visible,.gengage-chat-mic-btn:focus-visible,.gengage-chat-attachment-remove:focus-visible,.gengage-chat-choice-prompter-cta:focus-visible,.gengage-chat-choice-prompter-dismiss:focus-visible,.gengage-chat-categories-tab:focus-visible,.gengage-chat-categories-filter-tag:focus-visible,.gengage-chat-product-grid-view-more:focus-visible,.gengage-chat-product-details-share:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{box-sizing:border-box;pointer-events:auto;opacity:1;border-radius:14px;grid-template-columns:1fr;gap:10px;width:100%;max-width:100%;max-height:none;margin:0;padding:10px 12px;display:none;position:relative;bottom:auto;left:auto;right:auto;overflow:visible;transform:none}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-suggestion{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-cta{width:100%;min-width:0;min-height:44px;padding:0 14px}.gengage-chat-root--mobile .gengage-chat-product-sort-trigger,.gengage-chat-root--mobile .gengage-chat-product-sort-option,.gengage-chat-root--mobile .gengage-chat-comparison-toggle-btn{min-height:40px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-label,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-chevron,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-label{display:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown{flex:none;width:auto;max-width:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown--open{z-index:40}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger{justify-content:center;gap:0;width:auto;min-width:44px;padding:0 10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-menu{width:min(224px,100vw - 32px);min-width:196px;max-width:calc(100vw - 32px);top:calc(100% + 6px);left:auto;right:0}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option{min-height:44px;padding:10px 12px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option-label{white-space:normal;line-height:1.3}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-btn{justify-content:center;gap:0;width:44px;min-width:44px;padding:0}.gengage-chat-root--mobile .gengage-chat-input-chip{min-height:40px;padding:8px 12px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-dismiss{width:40px;height:40px}.gengage-chat-root--mobile .gengage-chat-panel-divider-toggle{min-height:44px}.gengage-chat-root--mobile .gengage-chat-product-card-cta,.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta,.gengage-chat-root--mobile .gengage-chat-product-grid-view-more{justify-content:center;align-items:center;min-height:44px;display:flex}.gengage-chat-root--mobile .gengage-chat-panel-topbar-back,.gengage-chat-root--mobile .gengage-chat-panel-topbar-forward,.gengage-chat-root--mobile .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel-topbar-close{display:none}@media (prefers-reduced-motion:reduce){.gengage-chat-consulting-loading-card{animation:none}}.gengage-chat-panel--has-scroll:after{content:"";background:linear-gradient(transparent, var(--surface-card-soft));pointer-events:none;height:40px;display:block;position:sticky;bottom:0}.gengage-chat-cart-toast{background:var(--success);color:var(--text-inverse);border-radius:var(--radius-pill);box-shadow:var(--shadow-3);pointer-events:none;opacity:0;z-index:10;white-space:nowrap;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:72px;left:50%;transform:translate(-50%)translateY(8px)}.gengage-chat-cart-toast--neutral{background:var(--surface-shell);color:var(--text-inverse)}.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}', Mo = /* @__PURE__ */ new Set([
|
|
6251
6189
|
"launchSingleProduct",
|
|
6252
6190
|
"launchProductList",
|
|
6253
6191
|
"launchHomepage"
|
|
6254
|
-
]), Yt = /* @__PURE__ */ new Set(["PanelRestoreCard"]),
|
|
6255
|
-
function
|
|
6192
|
+
]), Yt = /* @__PURE__ */ new Set(["PanelRestoreCard"]), No = /* @__PURE__ */ new Set(["ComparisonTable", "ProductDetailsPanel"]);
|
|
6193
|
+
function Bo(t) {
|
|
6256
6194
|
const e = t?.type;
|
|
6257
6195
|
if (e) {
|
|
6258
|
-
if (
|
|
6196
|
+
if (No.has(e)) return e;
|
|
6259
6197
|
if (e === "ProductGrid")
|
|
6260
6198
|
return t.props?.similarsAppend === !0 ? void 0 : e;
|
|
6261
6199
|
}
|
|
6262
6200
|
}
|
|
6263
|
-
function
|
|
6201
|
+
function zo(t) {
|
|
6264
6202
|
if (!t.trim()) return !1;
|
|
6265
6203
|
const e = document.createElement("template");
|
|
6266
6204
|
return e.innerHTML = ve(t), (e.content.textContent ?? "").trim().length > 0;
|
|
@@ -6274,7 +6212,7 @@ function lt(t) {
|
|
|
6274
6212
|
function gt(t) {
|
|
6275
6213
|
return t?.type === "ProductGrid" && t.props?.similarsAppend === !0;
|
|
6276
6214
|
}
|
|
6277
|
-
var
|
|
6215
|
+
var Ro = class Me extends Ya {
|
|
6278
6216
|
constructor(...e) {
|
|
6279
6217
|
super(...e), this._shadow = null, this._rootEl = null, this._backdropEl = null, this._launcher = null, this._floatingLauncher = null, this._inlineLauncher = null, this._drawer = null, this._bridge = null, this._drawerVisible = !1, this._pillLauncherApply = null, this._hostScrollLockActive = !1, this._hostOverflowRestore = null, this._hostScrollLockViewport = null, this._hostScrollPinning = !1, this._preventHostDocumentTouchMove = (a) => {
|
|
6280
6218
|
this._hostScrollLockActive && (this._hostScrollEventShouldReachChatScroller(a) || a.preventDefault());
|
|
@@ -6284,7 +6222,7 @@ var Do = class Me extends Ya {
|
|
|
6284
6222
|
if (!this._hostScrollLockActive || !this._hostScrollLockViewport || this._hostScrollPinning || this._isMobileViewport && window.visualViewport && window.visualViewport.height < window.innerHeight) return;
|
|
6285
6223
|
const a = this._hostScrollLockViewport;
|
|
6286
6224
|
window.scrollX === a.x && window.scrollY === a.y || (this._hostScrollPinning = !0, window.scrollTo(a.x, a.y), this._hostScrollPinning = !1);
|
|
6287
|
-
}, 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._lastAppliedKeyboardInset = 0, this._syncVisualVh = null, this._viewedProductSkus = /* @__PURE__ */ new Set(), this._panelAiSpecByThread = /* @__PURE__ */ new Map(), this._choicePrompterEl = null, this._openState = "full", this._mobileBreakpoint = 768, this._isMobileViewport = !1, this._gaPrevMainPaneExpanded = !1, this._pdpLaunched = !1, this._plpLaunched = !1, this._homepageLaunched = !1, this._entryContextPrimed = !1, this._contextPrimingInFlight = !1, this._queuedUserMessages = [], this._productContextUnavailableSku = null, this._i18n = Re, 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._currentInlineProductSummaryRecord = null, this._session = null, this._historyStorage = null, this._activeHistorySessionId = null, this._presentation = new
|
|
6225
|
+
}, 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._lastAppliedKeyboardInset = 0, this._syncVisualVh = null, this._viewedProductSkus = /* @__PURE__ */ new Set(), this._panelAiSpecByThread = /* @__PURE__ */ new Map(), this._choicePrompterEl = null, this._openState = "full", this._mobileBreakpoint = 768, this._isMobileViewport = !1, this._gaPrevMainPaneExpanded = !1, this._pdpLaunched = !1, this._plpLaunched = !1, this._homepageLaunched = !1, this._entryContextPrimed = !1, this._contextPrimingInFlight = !1, this._queuedUserMessages = [], this._productContextUnavailableSku = null, this._i18n = Re, 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._currentInlineProductSummaryRecord = null, this._session = null, this._historyStorage = null, this._activeHistorySessionId = null, this._presentation = new vo(), this._presentationScrollTimerIds = /* @__PURE__ */ new Set(), this._eventCallbacks = /* @__PURE__ */ new Map(), this._pendingAddToCartKeys = /* @__PURE__ */ new Set(), this._lastSentAction = null, this._consecutiveErrorCount = 0, this._lastErrorMessage = "", this._launcherAnchorCleanup = null, this._modeController = new Un(), this._syncLauncherAnchor = null;
|
|
6288
6226
|
}
|
|
6289
6227
|
static {
|
|
6290
6228
|
this._MAX_COMPARISON_SELECTION = 5;
|
|
@@ -6311,7 +6249,7 @@ var Do = class Me extends Ya {
|
|
|
6311
6249
|
}
|
|
6312
6250
|
this._shadow = this.root.attachShadow({ mode: "open" });
|
|
6313
6251
|
const a = document.createElement("style");
|
|
6314
|
-
a.textContent =
|
|
6252
|
+
a.textContent = Io, this._shadow.appendChild(a);
|
|
6315
6253
|
const n = this.root, r = (u, d) => {
|
|
6316
6254
|
d && Zt(d) && n.style.setProperty(u, d);
|
|
6317
6255
|
};
|
|
@@ -6319,7 +6257,7 @@ var Do = class Me extends Ya {
|
|
|
6319
6257
|
for (const [u, d] of Object.entries(e.theme)) u.startsWith("--") && typeof d == "string" && r(u, d);
|
|
6320
6258
|
this._applyDiscountedPriceColorVar(e.productPriceUi?.discountedPriceColor);
|
|
6321
6259
|
const i = document.createElement("div");
|
|
6322
|
-
i.className = "gengage-chat-root", i.lang =
|
|
6260
|
+
i.className = "gengage-chat-root", i.lang = Oe(e.locale), this._rootEl = i, this._shadow.appendChild(i);
|
|
6323
6261
|
const o = e.variant ?? "floating";
|
|
6324
6262
|
if (o === "inline" && i.classList.add("gengage-chat--inline"), o !== "inline") {
|
|
6325
6263
|
const u = document.createElement("div");
|
|
@@ -6329,7 +6267,7 @@ var Do = class Me extends Ya {
|
|
|
6329
6267
|
}
|
|
6330
6268
|
if (o === "floating") {
|
|
6331
6269
|
if (e.floatingLauncher)
|
|
6332
|
-
this._floatingLauncher =
|
|
6270
|
+
this._floatingLauncher = Ti(e.floatingLauncher, {
|
|
6333
6271
|
onSend: (u) => {
|
|
6334
6272
|
this.open({ initialMessage: u }), this._floatingLauncher?.showOpenChatButton();
|
|
6335
6273
|
},
|
|
@@ -6340,13 +6278,13 @@ var Do = class Me extends Ya {
|
|
|
6340
6278
|
onClick: () => this.open(),
|
|
6341
6279
|
ariaLabel: this._i18n.openButton
|
|
6342
6280
|
};
|
|
6343
|
-
e.launcherImageUrl !== void 0 ? u.imageUrl = e.launcherImageUrl : e.launcherSvg !== void 0 && (u.svgMarkup = e.launcherSvg), e.mobileLauncherImageUrl !== void 0 && (u.mobileImageUrl = e.mobileLauncherImageUrl), e.hideMobileLauncher !== void 0 && (u.hideMobile = e.hideMobileLauncher), e.mobileBreakpoint !== void 0 && (u.mobileBreakpoint = e.mobileBreakpoint), e.launcherTooltip !== void 0 && (u.tooltip = e.launcherTooltip), this._launcher =
|
|
6281
|
+
e.launcherImageUrl !== void 0 ? u.imageUrl = e.launcherImageUrl : e.launcherSvg !== void 0 && (u.svgMarkup = e.launcherSvg), e.mobileLauncherImageUrl !== void 0 && (u.mobileImageUrl = e.mobileLauncherImageUrl), e.hideMobileLauncher !== void 0 && (u.hideMobile = e.hideMobileLauncher), e.mobileBreakpoint !== void 0 && (u.mobileBreakpoint = e.mobileBreakpoint), e.launcherTooltip !== void 0 && (u.tooltip = e.launcherTooltip), this._launcher = Ei(u), i.appendChild(this._launcher.container);
|
|
6344
6282
|
}
|
|
6345
6283
|
this._setupLauncherAnchor(e), e.inlineLauncher && this._setupInlineLauncher(e);
|
|
6346
6284
|
}
|
|
6347
6285
|
o === "overlay" && i.classList.add("gengage-chat--overlay");
|
|
6348
6286
|
const s = document.createElement("div");
|
|
6349
|
-
i.appendChild(s), this._drawer = new
|
|
6287
|
+
i.appendChild(s), this._drawer = new Bn(s, {
|
|
6350
6288
|
i18n: this._i18n,
|
|
6351
6289
|
onSend: (u, d) => this._sendMessage(u, d),
|
|
6352
6290
|
onClose: () => this.close(),
|
|
@@ -6416,10 +6354,10 @@ var Do = class Me extends Ya {
|
|
|
6416
6354
|
shouldBlockSoftAutoScroll: () => this._presentation.shouldBlockStreamAutoScroll(),
|
|
6417
6355
|
onReleasePresentationFocus: () => this._releasePresentationFocus()
|
|
6418
6356
|
}
|
|
6419
|
-
}), this._applyUiHints(), this._extendedModeManager = new
|
|
6357
|
+
}), this._applyUiHints(), this._extendedModeManager = new ao({
|
|
6420
6358
|
onChange: (u) => this._panel?.notifyExtension(u),
|
|
6421
6359
|
productDetailsInPanel: (e.isDemoWebsite ?? !1) && (e.productDetailsExtended ?? !1)
|
|
6422
|
-
}), this._panel = new
|
|
6360
|
+
}), this._panel = new no({
|
|
6423
6361
|
drawer: () => this._drawer,
|
|
6424
6362
|
shadow: () => this._shadow,
|
|
6425
6363
|
currentThreadId: () => this._currentThreadId,
|
|
@@ -6431,9 +6369,9 @@ var Do = class Me extends Ya {
|
|
|
6431
6369
|
const c = this._drawer.restorePanelState(e.accountId), l = e.panelMode ?? "auto";
|
|
6432
6370
|
l === "collapsed" ? this._drawer.setPanelCollapsed(!0) : l === "expanded" && this._drawer.setForceExpanded();
|
|
6433
6371
|
const p = sessionStorage.getItem("gengage_restore_session_id"), g = sessionStorage.getItem("gengage_restore_sku"), h = sessionStorage.getItem("gengage_restore_history_id"), m = !!(p && g);
|
|
6434
|
-
m && (sessionStorage.removeItem("gengage_restore_session_id"), sessionStorage.removeItem("gengage_restore_sku")), h && sessionStorage.removeItem("gengage_restore_history_id"), this._historyStorage = new
|
|
6372
|
+
m && (sessionStorage.removeItem("gengage_restore_session_id"), sessionStorage.removeItem("gengage_restore_sku")), h && sessionStorage.removeItem("gengage_restore_history_id"), this._historyStorage = new bo(this.config.accountId, this.config.session?.userId ?? "");
|
|
6435
6373
|
try {
|
|
6436
|
-
const u = new
|
|
6374
|
+
const u = new eo();
|
|
6437
6375
|
await u.open(), this._session = new Wt(u);
|
|
6438
6376
|
const d = h ? this._historyStorage.loadSession(h) : null;
|
|
6439
6377
|
d ? (this._activeHistorySessionId = d.id, await this._restoreFromHistoryRecord(d)) : await this._restoreFromIndexedDB(m);
|
|
@@ -6443,21 +6381,21 @@ var Do = class Me extends Ya {
|
|
|
6443
6381
|
u && (this._activeHistorySessionId = u.id, await this._restoreFromHistoryRecord(u));
|
|
6444
6382
|
}
|
|
6445
6383
|
this._registerPublicAPI(), e.mobileInitialState !== void 0 && (this._openState = e.mobileInitialState), this._mobileBreakpoint = e.mobileBreakpoint ?? 768, this._syncViewportState();
|
|
6446
|
-
const
|
|
6447
|
-
if (window.addEventListener("resize",
|
|
6384
|
+
const y = () => this._syncViewportState();
|
|
6385
|
+
if (window.addEventListener("resize", y, { passive: !0 }), this.addCleanup(() => window.removeEventListener("resize", y)), window.visualViewport) {
|
|
6448
6386
|
const d = () => {
|
|
6449
6387
|
if (!this._drawerVisible || !this._isMobileViewport) return;
|
|
6450
6388
|
const _ = this._drawer?.getElement();
|
|
6451
6389
|
if (!_) return;
|
|
6452
|
-
const
|
|
6453
|
-
L !== this._lastAppliedKeyboardInset && (this._lastAppliedKeyboardInset = L, _.style.setProperty("--gengage-chat-keyboard-inset", `${L}px`)), this._openState === "full" && (_.style.setProperty("--gengage-chat-visual-vh", `${Math.round(
|
|
6390
|
+
const x = window.visualViewport, b = Math.max(0, Math.round(window.innerHeight - (x.height + x.offsetTop))), A = b > 90, L = this._openState === "full" && A ? b : 0;
|
|
6391
|
+
L !== this._lastAppliedKeyboardInset && (this._lastAppliedKeyboardInset = L, _.style.setProperty("--gengage-chat-keyboard-inset", `${L}px`)), this._openState === "full" && (_.style.setProperty("--gengage-chat-visual-vh", `${Math.round(x.height)}px`), _.style.setProperty("--gengage-chat-visual-top", `${Math.round(x.offsetTop)}px`));
|
|
6454
6392
|
};
|
|
6455
6393
|
this._syncVisualVh = () => {
|
|
6456
6394
|
if (!this._isMobileViewport || this._openState !== "full") return;
|
|
6457
6395
|
const _ = this._drawer?.getElement();
|
|
6458
6396
|
if (!_ || !window.visualViewport) return;
|
|
6459
|
-
const
|
|
6460
|
-
_.style.setProperty("--gengage-chat-visual-vh", `${Math.round(
|
|
6397
|
+
const x = window.visualViewport;
|
|
6398
|
+
_.style.setProperty("--gengage-chat-visual-vh", `${Math.round(x.height)}px`), _.style.setProperty("--gengage-chat-visual-top", `${Math.round(x.offsetTop)}px`);
|
|
6461
6399
|
}, window.visualViewport.addEventListener("resize", d), window.visualViewport.addEventListener("scroll", d), this.addCleanup(() => {
|
|
6462
6400
|
window.visualViewport?.removeEventListener("resize", d), window.visualViewport?.removeEventListener("scroll", d);
|
|
6463
6401
|
});
|
|
@@ -6559,7 +6497,7 @@ var Do = class Me extends Ya {
|
|
|
6559
6497
|
!o() || !g || h || (h = requestAnimationFrame(() => {
|
|
6560
6498
|
h = 0, o() && g && l();
|
|
6561
6499
|
}));
|
|
6562
|
-
},
|
|
6500
|
+
}, y = new ResizeObserver(() => {
|
|
6563
6501
|
(!o() || g) && l();
|
|
6564
6502
|
});
|
|
6565
6503
|
let v = null, u = null;
|
|
@@ -6568,13 +6506,13 @@ var Do = class Me extends Ya {
|
|
|
6568
6506
|
return !L || !!document.querySelector(L);
|
|
6569
6507
|
}, _ = () => {
|
|
6570
6508
|
!o() || d() || (u?.disconnect(), u = new MutationObserver(() => {
|
|
6571
|
-
d() && (u?.disconnect(), u = null,
|
|
6509
|
+
d() && (u?.disconnect(), u = null, x());
|
|
6572
6510
|
}), u.observe(document.body, {
|
|
6573
6511
|
childList: !0,
|
|
6574
6512
|
subtree: !0
|
|
6575
6513
|
}));
|
|
6576
|
-
},
|
|
6577
|
-
|
|
6514
|
+
}, x = () => {
|
|
6515
|
+
y.disconnect(), v?.disconnect(), v = null, g = !1;
|
|
6578
6516
|
const L = i();
|
|
6579
6517
|
if (!L) return;
|
|
6580
6518
|
if (!L.selector) {
|
|
@@ -6582,25 +6520,25 @@ var Do = class Me extends Ya {
|
|
|
6582
6520
|
return;
|
|
6583
6521
|
}
|
|
6584
6522
|
const E = document.querySelector(L.selector);
|
|
6585
|
-
E && (
|
|
6523
|
+
E && (y.observe(E), o() ? (v = new IntersectionObserver((T) => {
|
|
6586
6524
|
for (const N of T) N.isIntersecting ? (g = !0, l()) : (g = !1, p(), _());
|
|
6587
6525
|
}, { threshold: 0 }), v.observe(E)) : l());
|
|
6588
6526
|
};
|
|
6589
|
-
|
|
6527
|
+
x();
|
|
6590
6528
|
let b = 0;
|
|
6591
6529
|
const A = () => {
|
|
6592
6530
|
b || (b = requestAnimationFrame(() => {
|
|
6593
|
-
b = 0, g = !1, p(), u?.disconnect(), u = null,
|
|
6531
|
+
b = 0, g = !1, p(), u?.disconnect(), u = null, x(), _(), o() || l();
|
|
6594
6532
|
}));
|
|
6595
6533
|
};
|
|
6596
6534
|
window.addEventListener("resize", A, { passive: !0 }), window.addEventListener("scroll", m, { passive: !0 }), window.visualViewport?.addEventListener("scroll", m, { passive: !0 }), this._syncLauncherAnchor = () => {
|
|
6597
|
-
g = !1, p(), u?.disconnect(), u = null,
|
|
6535
|
+
g = !1, p(), u?.disconnect(), u = null, x(), _();
|
|
6598
6536
|
}, o() ? _() : (l(), [
|
|
6599
6537
|
100,
|
|
6600
6538
|
400,
|
|
6601
6539
|
1e3
|
|
6602
6540
|
].forEach((L) => window.setTimeout(l, L))), this._launcherAnchorCleanup = () => {
|
|
6603
|
-
|
|
6541
|
+
y.disconnect(), v?.disconnect(), u?.disconnect(), window.removeEventListener("resize", A), window.removeEventListener("scroll", m), window.visualViewport?.removeEventListener("scroll", m), b && cancelAnimationFrame(b), h && cancelAnimationFrame(h);
|
|
6604
6542
|
};
|
|
6605
6543
|
}
|
|
6606
6544
|
syncLauncherAnchor() {
|
|
@@ -6611,7 +6549,7 @@ var Do = class Me extends Ya {
|
|
|
6611
6549
|
}
|
|
6612
6550
|
_setupInlineLauncher(e) {
|
|
6613
6551
|
const a = e.inlineLauncher;
|
|
6614
|
-
a && (this._inlineLauncher =
|
|
6552
|
+
a && (this._inlineLauncher = Ri(a, { onClick: () => this.open() }, {
|
|
6615
6553
|
shadowRoot: this._shadow,
|
|
6616
6554
|
getPageType: () => this.config.pageContext?.pageType
|
|
6617
6555
|
}), this._inlineLauncher.sync(this.config.pageContext?.pageType), [
|
|
@@ -6732,7 +6670,7 @@ var Do = class Me extends Ya {
|
|
|
6732
6670
|
if (!this._drawer || !this._presentation.shown) return;
|
|
6733
6671
|
const e = this._orderedThreadIds();
|
|
6734
6672
|
if (e.length === 0) return;
|
|
6735
|
-
const a =
|
|
6673
|
+
const a = xo(e, this._presentation);
|
|
6736
6674
|
if (!a) return;
|
|
6737
6675
|
const n = `${a}:assistant`;
|
|
6738
6676
|
this._presentation.lastAutoAnchoredGroupId !== n && (this._presentation.userInteracting && !this._presentation.pinnedToBottom || this._drawer.scrollThreadIntoView(a, "smooth") && this._presentation.markGroupAutoAnchored(n));
|
|
@@ -7080,7 +7018,7 @@ var Do = class Me extends Ya {
|
|
|
7080
7018
|
}
|
|
7081
7019
|
if (this._maybeHandleDirectAddToCartCommand(e)) return;
|
|
7082
7020
|
}
|
|
7083
|
-
this._contextPrimingInFlight && (this._abortAllActiveRequests(), this._contextPrimingInFlight = !1, this._queuedUserMessages = []), this._ensureMobileFullSheetForPanel(), Ma(), this._messages.some((r) => r.role === "user") ||
|
|
7021
|
+
this._contextPrimingInFlight && (this._abortAllActiveRequests(), this._contextPrimingInFlight = !1, this._queuedUserMessages = []), this._ensureMobileFullSheetForPanel(), Ma(), this._messages.some((r) => r.role === "user") || Oa(), ze("chat", "sendMessage", {
|
|
7084
7022
|
mode: this._assistantMode,
|
|
7085
7023
|
hasAttachment: a !== void 0,
|
|
7086
7024
|
textLength: e.length
|
|
@@ -7137,7 +7075,7 @@ var Do = class Me extends Ya {
|
|
|
7137
7075
|
};
|
|
7138
7076
|
r(!0);
|
|
7139
7077
|
const i = _t();
|
|
7140
|
-
this._currentThreadId = i, this._lastThreadId = i, this._panel && !
|
|
7078
|
+
this._currentThreadId = i, this._lastThreadId = i, this._panel && !Mo.has(e.type) && (this._panel.lastActionType = e.type);
|
|
7141
7079
|
const o = a?.preservePanel === !0, s = a?.silent === !0 && a?.isContextPrime === !0, c = s && e.type === "launchSingleProduct";
|
|
7142
7080
|
let l;
|
|
7143
7081
|
if (o || (this._activeRequestThreadId = i), !a?.silent && !o && this._drawer?.setPresentationFocus(i), !a?.silent) {
|
|
@@ -7150,7 +7088,7 @@ var Do = class Me extends Ya {
|
|
|
7150
7088
|
}
|
|
7151
7089
|
const p = !a?.silent && this._assistantMode === "shopping" && this._hasUnavailableProductContext() && (e.type === "user_message" || e.type === "inputText");
|
|
7152
7090
|
let g = this._currentPanelSource, h = !1;
|
|
7153
|
-
const m = e.type === "user_message" || e.type === "inputText",
|
|
7091
|
+
const m = e.type === "user_message" || e.type === "inputText", y = () => {
|
|
7154
7092
|
h || a?.preservePanel || (g = this._currentPanelSource, h = !0);
|
|
7155
7093
|
}, v = () => {
|
|
7156
7094
|
if (this._drawer?.isPanelLoading()) {
|
|
@@ -7172,11 +7110,11 @@ var Do = class Me extends Ya {
|
|
|
7172
7110
|
...this.config.injectorAdapter ? { injectorAdapter: this.config.injectorAdapter } : {}
|
|
7173
7111
|
};
|
|
7174
7112
|
a?.attachment !== void 0 && (_.attachment = a.attachment);
|
|
7175
|
-
const
|
|
7113
|
+
const x = this._getVisibleMessages().filter((f) => !f.frontendOnly && f !== d && (f.content || f.role === "assistant")).slice(-50).map((f) => ({
|
|
7176
7114
|
role: f.role === "user" ? "user" : "model",
|
|
7177
7115
|
content: f.content ?? ""
|
|
7178
7116
|
})), b = {
|
|
7179
|
-
outputLanguage:
|
|
7117
|
+
outputLanguage: Ao(this.config.locale),
|
|
7180
7118
|
parentUrl: window.location.href,
|
|
7181
7119
|
windowWidth: String(window.innerWidth),
|
|
7182
7120
|
windowHeight: String(window.innerHeight),
|
|
@@ -7203,17 +7141,17 @@ var Do = class Me extends Ya {
|
|
|
7203
7141
|
session_id: this.config.session?.sessionId ?? "",
|
|
7204
7142
|
correlation_id: this.config.session?.sessionId ?? "",
|
|
7205
7143
|
type: A.type,
|
|
7206
|
-
locale:
|
|
7144
|
+
locale: Oe(this.config.locale),
|
|
7207
7145
|
meta: b,
|
|
7208
7146
|
context: {
|
|
7209
7147
|
...this._lastBackendContext ?? {},
|
|
7210
|
-
messages:
|
|
7148
|
+
messages: x,
|
|
7211
7149
|
session_id: this.config.session?.sessionId ?? ""
|
|
7212
7150
|
}
|
|
7213
7151
|
};
|
|
7214
7152
|
this.config.session?.userId !== void 0 && (L.user_id = this.config.session.userId), this.config.session?.viewId !== void 0 && (L.view_id = this.config.session.viewId), A.payload !== void 0 && (L.payload = A.payload), !p && this.config.pageContext?.sku !== void 0 && (L.sku = this.config.pageContext.sku), !p && this.config.pageContext?.pageType !== void 0 && (L.page_type = this.config.pageContext.pageType);
|
|
7215
7153
|
let E = !1, T = !1, N = !1, F = !1, X = !1, C = !1;
|
|
7216
|
-
const R =
|
|
7154
|
+
const R = On();
|
|
7217
7155
|
let D = null, z = null;
|
|
7218
7156
|
const k = () => {
|
|
7219
7157
|
if (this._drawer && !F) {
|
|
@@ -7223,7 +7161,7 @@ var Do = class Me extends Ya {
|
|
|
7223
7161
|
}
|
|
7224
7162
|
X ? this._drawer.setPanelAiZoneState("hidden") : this._drawer.setPanelAiZoneState("analyzing", { analyzingLabel: this._i18n.aiAnalysisAnalyzingLabel });
|
|
7225
7163
|
}
|
|
7226
|
-
},
|
|
7164
|
+
}, O = (f) => {
|
|
7227
7165
|
if (!D || !this._drawer) return;
|
|
7228
7166
|
const S = this._buildRenderContext();
|
|
7229
7167
|
S.isStreaming = f;
|
|
@@ -7231,11 +7169,11 @@ var Do = class Me extends Ya {
|
|
|
7231
7169
|
F = !0, this._drawer.setPanelAiZoneState("results", { resultEl: P }), D = null;
|
|
7232
7170
|
}, B = (f, S, P) => {
|
|
7233
7171
|
if (f === "ProductGrid" || f === "CategoriesContainer") {
|
|
7234
|
-
N = !0,
|
|
7172
|
+
N = !0, O(P), k();
|
|
7235
7173
|
return;
|
|
7236
7174
|
}
|
|
7237
7175
|
S !== "appendSimilars" && S !== "append" && (N = !1, F = !1, D = null, this._drawer?.setPanelAiZoneState("hidden"));
|
|
7238
|
-
}, q = (f) => (f === "ProductGrid" || f === "CategoriesContainer") && (N || F || D !== null),
|
|
7176
|
+
}, q = (f) => (f === "ProductGrid" || f === "CategoriesContainer") && (N || F || D !== null), U = () => {
|
|
7239
7177
|
C || (C = !0, this._drawer?.removeTypingIndicator(), r(!1), this._bridge?.send("loadingMessage", { text: null }));
|
|
7240
7178
|
}, ne = (f, S, P) => {
|
|
7241
7179
|
if (!this._drawer || !this._panel) return;
|
|
@@ -7244,7 +7182,7 @@ var Do = class Me extends Ya {
|
|
|
7244
7182
|
const I = ft($);
|
|
7245
7183
|
if (I.isConsulting) {
|
|
7246
7184
|
const j = this._drawer.getPanelContentElement();
|
|
7247
|
-
if (j &&
|
|
7185
|
+
if (j && Ci(j, I, S)) {
|
|
7248
7186
|
this._comparisonSelectMode = !1, this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, this._drawer.setComparisonDockContent(null), this._currentPanelSource = {
|
|
7249
7187
|
kind: "spec",
|
|
7250
7188
|
spec: f
|
|
@@ -7276,28 +7214,28 @@ var Do = class Me extends Ya {
|
|
|
7276
7214
|
if (S) {
|
|
7277
7215
|
const te = this.config.accountId;
|
|
7278
7216
|
if (!Kt(te)) {
|
|
7279
|
-
const se =
|
|
7217
|
+
const se = Lo($, j);
|
|
7280
7218
|
se && this._drawer?.showKvkkBanner(se), ct(te);
|
|
7281
7219
|
}
|
|
7282
7220
|
}
|
|
7283
|
-
$ =
|
|
7221
|
+
$ = Po($, j), u = $;
|
|
7284
7222
|
}
|
|
7285
|
-
|
|
7223
|
+
zo($) && U();
|
|
7286
7224
|
const Q = this._shadow?.querySelector(`[data-message-id="${d.id}"] .gengage-chat-bubble-text`);
|
|
7287
7225
|
if (Q ? Q.innerHTML = ve($) : (d.content = $, d.role === "assistant" && d.threadId && !this._threadsWithFirstBot.has(d.threadId) && (this._threadsWithFirstBot.add(d.threadId), this._drawer.markFirstBotMessage(d.id)), this._drawer.addMessage(d)), S)
|
|
7288
|
-
if (d.content = $, d.status = "done", yt(),
|
|
7226
|
+
if (d.content = $, d.status = "done", yt(), qn(d))
|
|
7289
7227
|
this._drawer?.updateBotMessage(d.id, $, "photo_analysis", d.photoAnalysis), d.threadId && this._focusPresentationThread(d.threadId, "auto");
|
|
7290
7228
|
else {
|
|
7291
7229
|
const te = this._shadow?.querySelector(`[data-message-id="${d.id}"] .gengage-chat-bubble-text`);
|
|
7292
7230
|
if (te) {
|
|
7293
7231
|
this._activeTypewriter?.cancel();
|
|
7294
7232
|
const se = P?.productMentions ? this._enrichProductMentionsWithUrls(P.productMentions) : void 0;
|
|
7295
|
-
this._activeTypewriter =
|
|
7233
|
+
this._activeTypewriter = qi({
|
|
7296
7234
|
container: te,
|
|
7297
7235
|
html: ve($),
|
|
7298
7236
|
onTick: () => this._drawer?.scrollToBottomIfNeeded(),
|
|
7299
7237
|
onComplete: () => {
|
|
7300
|
-
this._activeTypewriter = null, se && se.length > 0 && te &&
|
|
7238
|
+
this._activeTypewriter = null, se && se.length > 0 && te && $i({
|
|
7301
7239
|
container: te,
|
|
7302
7240
|
mentions: se,
|
|
7303
7241
|
onProductClick: (re) => {
|
|
@@ -7326,7 +7264,7 @@ var Do = class Me extends Ya {
|
|
|
7326
7264
|
if (!o && i !== this._activeRequestThreadId || S !== "chat") return;
|
|
7327
7265
|
$ && (this._clearAssistantPanelLikeStreamClearPanel(), E = !1, z = null);
|
|
7328
7266
|
const I = f.elements[f.root], j = I?.type ?? "unknown";
|
|
7329
|
-
if (
|
|
7267
|
+
if (jn(j, I?.props ?? {}, R, {
|
|
7330
7268
|
drawer: this._drawer,
|
|
7331
7269
|
ensureRendered: () => this._ensureAssistantMessageRendered(d),
|
|
7332
7270
|
cancelTypewriter: () => {
|
|
@@ -7352,16 +7290,16 @@ var Do = class Me extends Ya {
|
|
|
7352
7290
|
const w = se === "panel" && this._panel ? this._panel.toPanelSpec(f) : f;
|
|
7353
7291
|
if (se === "panel" && this._panel && !te && j === "ProductGrid" && I) {
|
|
7354
7292
|
const G = ft(I);
|
|
7355
|
-
if (G.isConsulting && !
|
|
7293
|
+
if (G.isConsulting && !ki(G)) {
|
|
7356
7294
|
z = f;
|
|
7357
7295
|
return;
|
|
7358
7296
|
}
|
|
7359
7297
|
G.isConsulting && (z = null);
|
|
7360
7298
|
}
|
|
7361
|
-
if (
|
|
7299
|
+
if (Bo(I) && U(), se === "panel" && this._panel && !te) {
|
|
7362
7300
|
const G = !T;
|
|
7363
7301
|
T = !0;
|
|
7364
|
-
const J = I?.props?.replacePanel === !0, ie = I?.props?.rankingState, Z = J || ie === "pending" || ie === "final" ? "replace" :
|
|
7302
|
+
const J = I?.props?.replacePanel === !0, ie = I?.props?.rankingState, Z = J || ie === "pending" || ie === "final" ? "replace" : ro({
|
|
7365
7303
|
componentType: j,
|
|
7366
7304
|
similarsAppend: I?.props?.similarsAppend === !0,
|
|
7367
7305
|
currentPanelType: this._panel.currentType,
|
|
@@ -7422,7 +7360,7 @@ var Do = class Me extends Ya {
|
|
|
7422
7360
|
G.length > 0 && this._bridge?.send("previewImages", { images: G });
|
|
7423
7361
|
}
|
|
7424
7362
|
const V = I?.children?.length ?? 0;
|
|
7425
|
-
if (j === "ProductGrid" && se === "panel" && !te && V > 1 && !this._isMobileViewport && !this._modeController.isChoicePrompterHidden && !this._comparisonSelectMode && !
|
|
7363
|
+
if (j === "ProductGrid" && se === "panel" && !te && V > 1 && !this._isMobileViewport && !this._modeController.isChoicePrompterHidden && !this._comparisonSelectMode && !Zi(this._currentThreadId ?? "") && (this._clearChoicePrompter(), this._choicePrompterEl = Yi({
|
|
7426
7364
|
heading: this._i18n.choicePrompterHeading,
|
|
7427
7365
|
suggestion: this._i18n.choicePrompterSuggestion,
|
|
7428
7366
|
ctaLabel: this._i18n.choicePrompterCta,
|
|
@@ -7438,7 +7376,7 @@ var Do = class Me extends Ya {
|
|
|
7438
7376
|
const G = I?.props?.buttons;
|
|
7439
7377
|
if (G && G.length > 0 && !M) {
|
|
7440
7378
|
const J = [], ie = [];
|
|
7441
|
-
for (const Z of G) if (
|
|
7379
|
+
for (const Z of G) if (Wi(Z)) {
|
|
7442
7380
|
const le = {
|
|
7443
7381
|
label: Z.label,
|
|
7444
7382
|
action: Z.action
|
|
@@ -7487,7 +7425,7 @@ var Do = class Me extends Ya {
|
|
|
7487
7425
|
}
|
|
7488
7426
|
if (f.meta.panelLoading) {
|
|
7489
7427
|
const S = typeof f.meta.panelPendingType == "string" ? f.meta.panelPendingType : void 0;
|
|
7490
|
-
this.config.productDetailsExtended !== !0 && (S === "productDetails" || S === "productDetailsSimilars") || (E = !0, T = !1,
|
|
7428
|
+
this.config.productDetailsExtended !== !0 && (S === "productDetails" || S === "productDetailsSimilars") || (E = !0, T = !1, y(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(S), this._isMobileViewport && S === "productList" && this._ensureMobilePanelOverlayVisible(), S && this._panel?.updateTopBarForLoading(S));
|
|
7491
7429
|
}
|
|
7492
7430
|
if (f.meta.voice) {
|
|
7493
7431
|
const S = new CustomEvent("gengage:chat:voice", {
|
|
@@ -7497,13 +7435,13 @@ var Do = class Me extends Ya {
|
|
|
7497
7435
|
}), P = window.dispatchEvent(S);
|
|
7498
7436
|
if (za(), P) {
|
|
7499
7437
|
const $ = f.meta.voice;
|
|
7500
|
-
$.audio_base64 && (this._activeTtsHandle?.stop(), this._activeTtsHandle =
|
|
7438
|
+
$.audio_base64 && (this._activeTtsHandle?.stop(), this._activeTtsHandle = Fi($.audio_base64, $.content_type ?? "audio/ogg"));
|
|
7501
7439
|
}
|
|
7502
7440
|
}
|
|
7503
7441
|
if ((f.meta.redirectTarget || f.meta.redirect) && (_e("gengage:chat:redirect", {
|
|
7504
7442
|
target: f.meta.redirectTarget ?? null,
|
|
7505
7443
|
payload: f.meta.redirect ?? null
|
|
7506
|
-
}), ze("redirect", "redirect dispatched", { target: f.meta.redirectTarget ?? null }), this._handleRedirectMetadata(f.meta.redirect)), f.meta.
|
|
7444
|
+
}), ze("redirect", "redirect dispatched", { target: f.meta.redirectTarget ?? null }), this._handleRedirectMetadata(f.meta.redirect)), f.meta.loading) {
|
|
7507
7445
|
const S = Array.isArray(f.meta.thinkingMessages) ? f.meta.thinkingMessages.filter(($) => typeof $ == "string") : [], P = typeof f.meta.loadingText == "string" ? f.meta.loadingText : void 0;
|
|
7508
7446
|
if (S.length > 0) {
|
|
7509
7447
|
const $ = P && this._modeController.shouldCondenseThinking() ? [...S.slice(0, 2), P] : S;
|
|
@@ -7511,15 +7449,12 @@ var Do = class Me extends Ya {
|
|
|
7511
7449
|
}
|
|
7512
7450
|
typeof P == "string" && P.length > 0 && (this._drawer?.addThinkingStep(P), C || this._bridge?.send("loadingMessage", { text: P })), C && !X && this._drawer?.resumeTypingIndicator();
|
|
7513
7451
|
}
|
|
7514
|
-
|
|
7515
|
-
type: f.meta.formType,
|
|
7516
|
-
data: f.meta.formPayload
|
|
7517
|
-
}), f.meta.launcherContent && this._bridge?.send("launcherContent", f.meta.launcherContent), _e("gengage:chat:metadata", { payload: f.meta });
|
|
7452
|
+
_e("gengage:chat:metadata", { payload: f.meta });
|
|
7518
7453
|
}
|
|
7519
7454
|
},
|
|
7520
7455
|
onError: (f) => {
|
|
7521
7456
|
if (K && this._abortControllers.delete(K), !o && i !== this._activeRequestThreadId) return;
|
|
7522
|
-
X = !0, this._activeTypewriter?.cancel(), this._activeTypewriter = null, k(), D = null, z = null, r(!1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), this._drawer?.clearInputAreaChips(),
|
|
7457
|
+
X = !0, this._activeTypewriter?.cancel(), this._activeTypewriter = null, k(), D = null, z = null, r(!1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), this._drawer?.clearInputAreaChips(), Vn(R, {
|
|
7523
7458
|
drawer: this._drawer,
|
|
7524
7459
|
ensureRendered: () => {
|
|
7525
7460
|
},
|
|
@@ -7553,7 +7488,7 @@ var Do = class Me extends Ya {
|
|
|
7553
7488
|
j(), Q = !0, this._drawer?.showErrorWithRecovery(this._i18n.accountInactiveMessage, Y);
|
|
7554
7489
|
return;
|
|
7555
7490
|
}
|
|
7556
|
-
if (
|
|
7491
|
+
if (Co(f, w)) {
|
|
7557
7492
|
j(), Q = !0, this._drawer?.showErrorWithRecovery(w, Y);
|
|
7558
7493
|
return;
|
|
7559
7494
|
}
|
|
@@ -7586,7 +7521,7 @@ var Do = class Me extends Ya {
|
|
|
7586
7521
|
const te = j?.type ?? "ProductGrid";
|
|
7587
7522
|
ne(Q, I, te), W(te, j, "replace", !1), T = !0;
|
|
7588
7523
|
}
|
|
7589
|
-
z = null, D &&
|
|
7524
|
+
z = null, D && O(!1), k(), !o && i === this._activeRequestThreadId && (this._activeRequestThreadId = null), this._consecutiveErrorCount = 0, this._lastErrorMessage = "", r(!1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), $n(R, {
|
|
7590
7525
|
drawer: this._drawer,
|
|
7591
7526
|
ensureRendered: () => {
|
|
7592
7527
|
},
|
|
@@ -7887,7 +7822,7 @@ var Do = class Me extends Ya {
|
|
|
7887
7822
|
}
|
|
7888
7823
|
_formatHistoryTimestamp(e) {
|
|
7889
7824
|
try {
|
|
7890
|
-
return new Intl.DateTimeFormat(
|
|
7825
|
+
return new Intl.DateTimeFormat(Oe(this.config.locale), {
|
|
7891
7826
|
month: "short",
|
|
7892
7827
|
day: "numeric",
|
|
7893
7828
|
hour: "2-digit",
|
|
@@ -7961,8 +7896,8 @@ var Do = class Me extends Ya {
|
|
|
7961
7896
|
const h = document.createElement("p");
|
|
7962
7897
|
h.className = "gengage-chat-history-item-preview", h.textContent = this._resolveHistoryPreviewText(o), c.appendChild(h), s.appendChild(c);
|
|
7963
7898
|
const m = document.createElement("button");
|
|
7964
|
-
m.type = "button", m.className = "gengage-chat-history-delete", m.setAttribute("aria-label", `${this._i18n.historyDeleteLabel}: ${o.title}`), m.title = this._i18n.historyDeleteLabel, m.innerHTML = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6h18"/><path d="M8 6V4h8v2"/><path d="M19 6l-1 14H6L5 6"/><path d="M10 11v6"/><path d="M14 11v6"/></svg>', m.addEventListener("click", (
|
|
7965
|
-
|
|
7899
|
+
m.type = "button", m.className = "gengage-chat-history-delete", m.setAttribute("aria-label", `${this._i18n.historyDeleteLabel}: ${o.title}`), m.title = this._i18n.historyDeleteLabel, m.innerHTML = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6h18"/><path d="M8 6V4h8v2"/><path d="M19 6l-1 14H6L5 6"/><path d="M10 11v6"/><path d="M14 11v6"/></svg>', m.addEventListener("click", (y) => {
|
|
7900
|
+
y.preventDefault(), y.stopPropagation(), window.confirm(this._i18n.historyDeleteConfirmMessage) && this._deleteHistorySession(o.id);
|
|
7966
7901
|
}), s.appendChild(m), i.appendChild(s);
|
|
7967
7902
|
}
|
|
7968
7903
|
return e.appendChild(i), e;
|
|
@@ -8200,7 +8135,7 @@ var Do = class Me extends Ya {
|
|
|
8200
8135
|
}
|
|
8201
8136
|
_toggleComparisonSku(e) {
|
|
8202
8137
|
if (e === "")
|
|
8203
|
-
this._comparisonSelectMode = !this._comparisonSelectMode, this._comparisonSelectionWarning = null, this._comparisonSelectMode && (
|
|
8138
|
+
this._comparisonSelectMode = !this._comparisonSelectMode, this._comparisonSelectionWarning = null, this._comparisonSelectMode && (Xi(this._currentThreadId ?? ""), this._clearChoicePrompter()), this._comparisonSelectMode || (this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, Da());
|
|
8204
8139
|
else if (this._comparisonSelectedSkus.indexOf(e) >= 0)
|
|
8205
8140
|
this._comparisonSelectedSkus = this._comparisonSelectedSkus.filter((a) => a !== e), this._comparisonSelectionWarning = null;
|
|
8206
8141
|
else {
|
|
@@ -8210,7 +8145,7 @@ var Do = class Me extends Ya {
|
|
|
8210
8145
|
});
|
|
8211
8146
|
return;
|
|
8212
8147
|
}
|
|
8213
|
-
this._comparisonSelectedSkus = [...this._comparisonSelectedSkus, e], this._comparisonSelectionWarning = null,
|
|
8148
|
+
this._comparisonSelectedSkus = [...this._comparisonSelectedSkus, e], this._comparisonSelectionWarning = null, Ua(e);
|
|
8214
8149
|
}
|
|
8215
8150
|
this._comparisonRefreshRafId !== null && cancelAnimationFrame(this._comparisonRefreshRafId), this._comparisonRefreshRafId = requestAnimationFrame(() => {
|
|
8216
8151
|
this._comparisonRefreshRafId = null, this._refreshComparisonUI();
|
|
@@ -8237,10 +8172,10 @@ var Do = class Me extends Ya {
|
|
|
8237
8172
|
if (i.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")) {
|
|
8238
8173
|
const h = i.parentElement, m = this._comparisonSelectedSkus.includes(i.dataset.sku);
|
|
8239
8174
|
h.classList.toggle("gengage-chat-comparison-select-wrapper--selected", m);
|
|
8240
|
-
const
|
|
8241
|
-
if (
|
|
8242
|
-
|
|
8243
|
-
const v =
|
|
8175
|
+
const y = h.querySelector(".gengage-chat-comparison-checkbox");
|
|
8176
|
+
if (y) {
|
|
8177
|
+
y.dataset.selected = m ? "true" : "false", y.setAttribute("aria-pressed", m ? "true" : "false");
|
|
8178
|
+
const v = y.querySelector(".gengage-chat-comparison-checkbox-icon"), u = y.querySelector(".gengage-chat-comparison-checkbox-label");
|
|
8244
8179
|
v && (v.innerHTML = m ? '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>' : '<span class="gengage-chat-comparison-checkbox-dot"></span>'), u && (u.textContent = m ? this._i18n.comparisonSelectedLabel ?? "Selected" : this._i18n.comparisonSelectLabel ?? "Select to compare");
|
|
8245
8180
|
}
|
|
8246
8181
|
continue;
|
|
@@ -8373,7 +8308,7 @@ var Do = class Me extends Ya {
|
|
|
8373
8308
|
}
|
|
8374
8309
|
_buildRenderContext() {
|
|
8375
8310
|
const e = {
|
|
8376
|
-
locale:
|
|
8311
|
+
locale: Oe(this.config.locale),
|
|
8377
8312
|
onAction: (a) => {
|
|
8378
8313
|
if (a.type === "frontend_restore_panel_message") {
|
|
8379
8314
|
this._restorePanelFromFrontendMessage(a.payload);
|
|
@@ -8738,7 +8673,7 @@ var Do = class Me extends Ya {
|
|
|
8738
8673
|
};
|
|
8739
8674
|
}
|
|
8740
8675
|
_resolveUISpecRegistry() {
|
|
8741
|
-
return Ta(
|
|
8676
|
+
return Ta(zr(), this.config.renderer?.registry);
|
|
8742
8677
|
}
|
|
8743
8678
|
_renderUISpec(e, a) {
|
|
8744
8679
|
const n = e.elements[e.root];
|
|
@@ -8746,7 +8681,7 @@ var Do = class Me extends Ya {
|
|
|
8746
8681
|
const c = me(n.props), l = me(c?.product) ?? c;
|
|
8747
8682
|
l && (this._currentInlineProductSummaryRecord = l);
|
|
8748
8683
|
}
|
|
8749
|
-
const r = this._resolveUISpecRegistry(), i = this.config.renderer?.unknownRenderer ?? da, o = (c, l) =>
|
|
8684
|
+
const r = this._resolveUISpecRegistry(), i = this.config.renderer?.unknownRenderer ?? da, o = (c, l) => Rr(c, l, r, i), s = this.config.renderer?.renderUISpec;
|
|
8750
8685
|
return s ? s(e, a, {
|
|
8751
8686
|
registry: r,
|
|
8752
8687
|
unknownRenderer: i,
|
|
@@ -8754,20 +8689,20 @@ var Do = class Me extends Ya {
|
|
|
8754
8689
|
}) : o(e, a);
|
|
8755
8690
|
}
|
|
8756
8691
|
};
|
|
8757
|
-
function
|
|
8758
|
-
return new
|
|
8692
|
+
function Vo() {
|
|
8693
|
+
return new Ro();
|
|
8759
8694
|
}
|
|
8760
8695
|
export {
|
|
8761
|
-
|
|
8696
|
+
Ri as a,
|
|
8762
8697
|
da as c,
|
|
8763
|
-
|
|
8698
|
+
$o as d,
|
|
8764
8699
|
bn as f,
|
|
8765
|
-
|
|
8766
|
-
|
|
8767
|
-
|
|
8768
|
-
|
|
8700
|
+
vo as i,
|
|
8701
|
+
Rr as l,
|
|
8702
|
+
Vo as n,
|
|
8703
|
+
Ti as o,
|
|
8769
8704
|
gt as r,
|
|
8770
|
-
|
|
8771
|
-
|
|
8705
|
+
zr as s,
|
|
8706
|
+
Ro as t,
|
|
8772
8707
|
dt as u
|
|
8773
8708
|
};
|