@gengage/assistant-fe 0.4.5 → 0.4.7
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/README.md +22 -2
- package/dist/api-paths-DR5bPNhi.js +1213 -0
- package/dist/assistant-fe.css +1 -1
- package/dist/chat/index.d.ts +1 -374
- package/dist/chat/runtime.d.ts +374 -0
- package/dist/chat-BRKK63lt.js +303 -0
- package/dist/chat-runtime.js +13 -0
- package/dist/chat.iife.js +8 -8
- package/dist/chat.js +11 -10
- package/dist/common/config-constants.d.ts +1 -0
- package/dist/common/config-schema.d.ts +0 -1
- package/dist/common/overlay.d.ts +8 -4
- package/dist/common/protocol-adapter.d.ts +1 -1
- package/dist/common/safe-html.d.ts +1 -1
- package/dist/common-c-awF96O.js +491 -0
- package/dist/common.js +78 -76
- package/dist/{connection-warning-n88bjkqL.js → connection-warning-ecZqpczd.js} +1 -1
- package/dist/context-DGz5F81j.js +532 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +73 -68
- package/dist/locale-CfqNifrU.js +7 -0
- package/dist/native-webview-C_PmKnzm.js +273 -0
- package/dist/native.iife.js +28 -91
- package/dist/native.js +1 -1
- package/dist/overlay-DJ1ZRMfI.js +212 -0
- package/dist/overlay.d.ts +4 -0
- package/dist/overlay.js +10 -0
- package/dist/pill-launcher-DSEeJT9h.js +364 -0
- package/dist/qna/index.d.ts +1 -61
- package/dist/qna/runtime.d.ts +62 -0
- package/dist/qna/types.d.ts +14 -0
- package/dist/qna-BNvttR6s.js +40 -0
- package/dist/qna-runtime.js +8 -0
- package/dist/qna.css +1 -1
- package/dist/qna.iife.js +21 -21
- package/dist/qna.js +6 -5
- package/dist/{simrel-K2TGFi1r.js → runtime-BsZZ8zTg.js} +245 -293
- package/dist/{chat-B1lLKIxj.js → runtime-DNbjpTCh.js} +1643 -2297
- package/dist/runtime-SKDvc0Xc.js +660 -0
- package/dist/schemas-CLo8wCjs.js +3207 -0
- package/dist/simbut/index.d.ts +3 -1
- package/dist/simbut/types.d.ts +11 -0
- package/dist/simbut-Bw3vBFtW.js +109 -0
- package/dist/simbut.css +1 -1
- package/dist/simbut.iife.js +10 -10
- package/dist/simbut.js +1 -1
- package/dist/simrel/index.d.ts +3 -59
- package/dist/simrel/renderers/default.d.ts +40 -0
- package/dist/simrel/runtime.d.ts +59 -0
- package/dist/simrel-DJZ983BF.js +513 -0
- package/dist/simrel-runtime.js +8 -0
- package/dist/simrel.css +3 -0
- package/dist/simrel.iife.js +38 -38
- package/dist/simrel.js +8 -6
- package/dist/widget-base-2-B1Ch5I.js +578 -0
- package/package.json +22 -1
- package/dist/common-C5e2gLuG.js +0 -387
- package/dist/locale-MM0U5eeR.js +0 -1109
- package/dist/native-webview-niMtkiHX.js +0 -586
- package/dist/qna-C5Ok3wd0.js +0 -663
- package/dist/schemas-JpRGzRQT.js +0 -4419
- package/dist/simbut-Cb5RfaAp.js +0 -79
- /package/dist/{price-formatter-CR6VT5z4.js → price-formatter-xI3g9Cd4.js} +0 -0
|
@@ -0,0 +1,513 @@
|
|
|
1
|
+
import { A, j as S } from "./context-DGz5F81j.js";
|
|
2
|
+
import { n as $, t as _ } from "./price-formatter-xI3g9Cd4.js";
|
|
3
|
+
import { a as C, c as f, n as q, o as h, t as k, u as H } from "./schemas-CLo8wCjs.js";
|
|
4
|
+
import { o as j } from "./runtime-BsZZ8zTg.js";
|
|
5
|
+
var V = {
|
|
6
|
+
images: [
|
|
7
|
+
"images",
|
|
8
|
+
"extras.images",
|
|
9
|
+
"imageUrl"
|
|
10
|
+
],
|
|
11
|
+
subtitle: [
|
|
12
|
+
"categoryNames",
|
|
13
|
+
"category_names",
|
|
14
|
+
"extras.categoryNames",
|
|
15
|
+
"extras.category_names",
|
|
16
|
+
"description"
|
|
17
|
+
],
|
|
18
|
+
promotions: ["promotions", "extras.promotions"],
|
|
19
|
+
warranties: ["warranties", "extras.warranties"],
|
|
20
|
+
productInfoUrl: [
|
|
21
|
+
"productInfoFormUrl",
|
|
22
|
+
"extras.productInfoFormUrl",
|
|
23
|
+
"documents.0.url",
|
|
24
|
+
"extras.documents.0.url"
|
|
25
|
+
],
|
|
26
|
+
discountReason: [
|
|
27
|
+
"discountReason",
|
|
28
|
+
"discount_reason",
|
|
29
|
+
"extras.discountReason",
|
|
30
|
+
"extras.discount_reason"
|
|
31
|
+
],
|
|
32
|
+
specialPrice: ["isSpecialPrice", "extras.isSpecialPrice"],
|
|
33
|
+
customBadgeFacets: [
|
|
34
|
+
"customBadgeFacets",
|
|
35
|
+
"custom_badge_facets",
|
|
36
|
+
"extras.customBadgeFacets",
|
|
37
|
+
"extras.custom_badge_facets",
|
|
38
|
+
"facetHits",
|
|
39
|
+
"facet_hits",
|
|
40
|
+
"extras.facetHits",
|
|
41
|
+
"extras.facet_hits"
|
|
42
|
+
],
|
|
43
|
+
customBadgeText: [
|
|
44
|
+
"customBadgeText",
|
|
45
|
+
"custom_badge_text",
|
|
46
|
+
"customBadge",
|
|
47
|
+
"custom_badge",
|
|
48
|
+
"customLabel",
|
|
49
|
+
"custom_label",
|
|
50
|
+
"bottomLabel",
|
|
51
|
+
"bottom_label",
|
|
52
|
+
"cornerBadge",
|
|
53
|
+
"corner_badge",
|
|
54
|
+
"extras.customBadgeText",
|
|
55
|
+
"extras.custom_badge_text",
|
|
56
|
+
"extras.customBadge",
|
|
57
|
+
"extras.custom_badge",
|
|
58
|
+
"extras.customLabel",
|
|
59
|
+
"extras.custom_label",
|
|
60
|
+
"extras.bottomLabel",
|
|
61
|
+
"extras.bottom_label",
|
|
62
|
+
"extras.cornerBadge",
|
|
63
|
+
"extras.corner_badge"
|
|
64
|
+
],
|
|
65
|
+
customBadgeImageUrl: [
|
|
66
|
+
"customBadgeImageUrl",
|
|
67
|
+
"custom_badge_image_url",
|
|
68
|
+
"customLabelImageUrl",
|
|
69
|
+
"custom_label_image_url",
|
|
70
|
+
"bottomLabelImageUrl",
|
|
71
|
+
"bottom_label_image_url",
|
|
72
|
+
"cornerBadgeImageUrl",
|
|
73
|
+
"corner_badge_image_url",
|
|
74
|
+
"extras.customBadgeImageUrl",
|
|
75
|
+
"extras.custom_badge_image_url",
|
|
76
|
+
"extras.customLabelImageUrl",
|
|
77
|
+
"extras.custom_label_image_url",
|
|
78
|
+
"extras.bottomLabelImageUrl",
|
|
79
|
+
"extras.bottom_label_image_url",
|
|
80
|
+
"extras.cornerBadgeImageUrl",
|
|
81
|
+
"extras.corner_badge_image_url"
|
|
82
|
+
]
|
|
83
|
+
};
|
|
84
|
+
function E(e) {
|
|
85
|
+
return !e || typeof e != "object" || Array.isArray(e) ? null : e;
|
|
86
|
+
}
|
|
87
|
+
function p(e) {
|
|
88
|
+
if (typeof e != "string") return;
|
|
89
|
+
const t = e.trim();
|
|
90
|
+
return t.length > 0 ? t : void 0;
|
|
91
|
+
}
|
|
92
|
+
function F(e) {
|
|
93
|
+
if (Array.isArray(e)) return e.map((r) => p(r)).filter((r) => !!r);
|
|
94
|
+
const t = p(e);
|
|
95
|
+
return t ? [t] : [];
|
|
96
|
+
}
|
|
97
|
+
function T(e) {
|
|
98
|
+
if (typeof e == "number" && Number.isFinite(e)) return e;
|
|
99
|
+
if (typeof e == "string") {
|
|
100
|
+
const t = Number.parseFloat(e);
|
|
101
|
+
if (Number.isFinite(t)) return t;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function O(e) {
|
|
105
|
+
if (typeof e == "boolean") return e;
|
|
106
|
+
if (typeof e == "number" && Number.isFinite(e)) {
|
|
107
|
+
if (e === 1) return !0;
|
|
108
|
+
if (e === 0) return !1;
|
|
109
|
+
}
|
|
110
|
+
if (typeof e == "string") {
|
|
111
|
+
const t = e.trim().toLowerCase();
|
|
112
|
+
if (t === "true") return !0;
|
|
113
|
+
if (t === "false") return !1;
|
|
114
|
+
if (t === "1") return !0;
|
|
115
|
+
if (t === "0") return !1;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function U(...e) {
|
|
119
|
+
for (const t of e) {
|
|
120
|
+
const r = p(t);
|
|
121
|
+
if (r) return r;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function D(e) {
|
|
125
|
+
const t = E(e);
|
|
126
|
+
if (!t) return null;
|
|
127
|
+
const r = p(t.sku), a = p(t.name), n = p(t.url);
|
|
128
|
+
if (!r || !a || !n) return null;
|
|
129
|
+
const o = {
|
|
130
|
+
sku: r,
|
|
131
|
+
name: a,
|
|
132
|
+
url: n
|
|
133
|
+
};
|
|
134
|
+
for (const [i, l] of Object.entries(t)) l !== void 0 && (o[i] = l);
|
|
135
|
+
return o;
|
|
136
|
+
}
|
|
137
|
+
function z(e) {
|
|
138
|
+
const t = E(e);
|
|
139
|
+
if (!t) return null;
|
|
140
|
+
const r = p(t.name);
|
|
141
|
+
if (!r) return null;
|
|
142
|
+
const a = [];
|
|
143
|
+
if (Array.isArray(t.products)) for (const i of t.products) {
|
|
144
|
+
const l = D(i);
|
|
145
|
+
l && a.push(l);
|
|
146
|
+
}
|
|
147
|
+
const n = {
|
|
148
|
+
name: r,
|
|
149
|
+
products: a
|
|
150
|
+
}, o = p(t.highlight);
|
|
151
|
+
return o && (n.highlight = o), n;
|
|
152
|
+
}
|
|
153
|
+
function w(e, t) {
|
|
154
|
+
const r = typeof t == "string" ? t.split(".") : [...t];
|
|
155
|
+
let a = e;
|
|
156
|
+
for (const n of r) {
|
|
157
|
+
if (a == null) return;
|
|
158
|
+
if (Array.isArray(a)) {
|
|
159
|
+
const i = Number.parseInt(n, 10);
|
|
160
|
+
if (!Number.isInteger(i)) return;
|
|
161
|
+
a = a[i];
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
const o = E(a);
|
|
165
|
+
if (!o) return;
|
|
166
|
+
a = o[n];
|
|
167
|
+
}
|
|
168
|
+
return a;
|
|
169
|
+
}
|
|
170
|
+
function Q(e, t) {
|
|
171
|
+
for (const r of t) {
|
|
172
|
+
const a = w(e, r);
|
|
173
|
+
if (a != null) return a;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function L(e, t) {
|
|
177
|
+
for (const r of t) {
|
|
178
|
+
const a = F(w(e, r));
|
|
179
|
+
if (a.length > 0) return a;
|
|
180
|
+
}
|
|
181
|
+
return [];
|
|
182
|
+
}
|
|
183
|
+
function y(e, t) {
|
|
184
|
+
for (const r of t) {
|
|
185
|
+
const a = w(e, r), n = p(a);
|
|
186
|
+
if (n) return n;
|
|
187
|
+
const o = F(a);
|
|
188
|
+
if (o.length > 0) return o[0];
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function W(e, t) {
|
|
192
|
+
for (const r of t) {
|
|
193
|
+
const a = E(w(e, r));
|
|
194
|
+
if (a) return a;
|
|
195
|
+
}
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
function R(e, t) {
|
|
199
|
+
return {
|
|
200
|
+
labels: {
|
|
201
|
+
customBadgeAlt: e.labels?.customBadgeAlt ?? "Product badge",
|
|
202
|
+
imageDot: e.labels?.imageDot ?? ((r) => `Show product image ${r + 1}`),
|
|
203
|
+
previousPromotion: e.labels?.previousPromotion ?? "Previous promotion",
|
|
204
|
+
nextPromotion: e.labels?.nextPromotion ?? "Next promotion"
|
|
205
|
+
},
|
|
206
|
+
ctaLabel: e.labels?.cta ?? t.i18n.ctaLabel,
|
|
207
|
+
productInfoLabel: e.labels?.productInfo,
|
|
208
|
+
reviewLabel: e.labels?.review ?? ((r) => `${r} reviews`),
|
|
209
|
+
specialPriceBadgeAlt: e.labels?.specialPriceBadgeAlt ?? "",
|
|
210
|
+
fields: {
|
|
211
|
+
...V,
|
|
212
|
+
...e.fields
|
|
213
|
+
},
|
|
214
|
+
media: e.media ?? {},
|
|
215
|
+
warrantyPromotionPattern: e.warrantyPromotionPattern ?? /warranty/i,
|
|
216
|
+
specialPricePattern: e.specialPricePattern ?? /special/i,
|
|
217
|
+
pricing: e.pricing ?? t.pricing
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
function X(e, t, r) {
|
|
221
|
+
return r.media.imageUrlTransform?.(e, t) ?? e;
|
|
222
|
+
}
|
|
223
|
+
function J(e, t) {
|
|
224
|
+
const r = e.trim(), a = t.trim();
|
|
225
|
+
if (!r || !a) return r;
|
|
226
|
+
const n = r.toLocaleLowerCase().indexOf(a.toLocaleLowerCase());
|
|
227
|
+
return n === -1 ? r : `${r.slice(0, n).trim()} ${r.slice(n + a.length).trim()}`.replace(/\s{2,}/g, " ").replace(/(\s[-|/,:]){2,}/g, "$1").replace(/^\s*[-|/,:]\s*/, "").replace(/\s*[-|/,:]\s*$/, "").trim() || r;
|
|
228
|
+
}
|
|
229
|
+
function K(e, t) {
|
|
230
|
+
const r = y(e, t.fields.customBadgeImageUrl);
|
|
231
|
+
if (r) return {
|
|
232
|
+
imageUrl: r,
|
|
233
|
+
labelText: null
|
|
234
|
+
};
|
|
235
|
+
const a = y(e, t.fields.customBadgeText);
|
|
236
|
+
if (a) return {
|
|
237
|
+
imageUrl: t.media.customBadgeImageUrl?.(e, a) ?? null,
|
|
238
|
+
labelText: a
|
|
239
|
+
};
|
|
240
|
+
const n = W(e, t.fields.customBadgeFacets);
|
|
241
|
+
if (!n) return {
|
|
242
|
+
imageUrl: null,
|
|
243
|
+
labelText: null
|
|
244
|
+
};
|
|
245
|
+
const o = U(n["Custom Badge Image"], n["Custom Label Image"], n["Bottom Label Image"], n["Corner Badge Image"], n.custom_badge_image, n.custom_label_image, n.bottom_label_image, n.corner_badge_image, n.customBadgeImage, n.customLabelImage, n.bottomLabelImage, n.cornerBadgeImage);
|
|
246
|
+
if (o) return {
|
|
247
|
+
imageUrl: o,
|
|
248
|
+
labelText: null
|
|
249
|
+
};
|
|
250
|
+
const i = U(n["Custom Badge"], n["Custom Label"], n["Bottom Label"], n["Corner Badge"], n.custom_badge, n.custom_label, n.bottom_label, n.corner_badge, n.customBadge, n.customLabel, n.bottomLabel, n.cornerBadge);
|
|
251
|
+
return i ? {
|
|
252
|
+
imageUrl: t.media.customBadgeImageUrl?.(e, i) ?? null,
|
|
253
|
+
labelText: i
|
|
254
|
+
} : {
|
|
255
|
+
imageUrl: null,
|
|
256
|
+
labelText: null
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
function x(e, t, r) {
|
|
260
|
+
const a = document.createElement(e);
|
|
261
|
+
return a.className = t, a.textContent = r, a;
|
|
262
|
+
}
|
|
263
|
+
function Y(e, t, r) {
|
|
264
|
+
const a = document.createElement("div");
|
|
265
|
+
a.className = "gengage-simrel-default-card-image";
|
|
266
|
+
let n = null;
|
|
267
|
+
return r.length > 0 && (n = document.createElement("img"), n.src = r[0], n.alt = t, n.loading = "lazy", $(n), a.appendChild(n)), r.length > 1 && n && (a.addEventListener("mousemove", (o) => {
|
|
268
|
+
const i = a.getBoundingClientRect(), l = Math.min(Math.floor((o.clientX - i.left) / i.width * r.length), r.length - 1);
|
|
269
|
+
n?.dataset.hoverIdx !== String(l) && (n.dataset.hoverIdx = String(l), n.src = r[l], e.querySelectorAll(".gengage-simrel-default-card-image-dot").forEach((c, s) => c.classList.toggle("is-active", s === l)));
|
|
270
|
+
}), a.addEventListener("mouseleave", () => {
|
|
271
|
+
n && (delete n.dataset.hoverIdx, n.src = r[0], e.querySelectorAll(".gengage-simrel-default-card-image-dot").forEach((o, i) => o.classList.toggle("is-active", i === 0)));
|
|
272
|
+
})), a;
|
|
273
|
+
}
|
|
274
|
+
function Z(e, t) {
|
|
275
|
+
if (!e.imageUrl && !e.labelText) return null;
|
|
276
|
+
const r = document.createElement("div");
|
|
277
|
+
if (r.className = "gengage-simrel-default-card-custom-badge", e.imageUrl && A(e.imageUrl)) {
|
|
278
|
+
const a = document.createElement("img");
|
|
279
|
+
return a.src = e.imageUrl, a.className = "gengage-simrel-default-card-custom-badge-icon", a.alt = t, e.labelText && a.addEventListener("error", () => {
|
|
280
|
+
r.innerHTML = "", r.appendChild(x("span", "gengage-simrel-default-card-custom-badge-text", e.labelText));
|
|
281
|
+
}, { once: !0 }), r.appendChild(a), r;
|
|
282
|
+
}
|
|
283
|
+
return e.labelText && r.appendChild(x("span", "gengage-simrel-default-card-custom-badge-text", e.labelText)), r;
|
|
284
|
+
}
|
|
285
|
+
function ee(e, t, r) {
|
|
286
|
+
if (e.length <= 1 || !t) return null;
|
|
287
|
+
const a = document.createElement("div");
|
|
288
|
+
return a.className = "gengage-simrel-default-card-image-dots", e.forEach((n, o) => {
|
|
289
|
+
const i = document.createElement("button");
|
|
290
|
+
i.className = `gengage-simrel-default-card-image-dot${o === 0 ? " is-active" : ""}`, i.type = "button", i.setAttribute("aria-label", r.labels.imageDot(o)), i.addEventListener("click", (l) => {
|
|
291
|
+
l.preventDefault(), l.stopPropagation(), t.dataset.hoverIdx = String(o), t.style.opacity = "0", window.setTimeout(() => {
|
|
292
|
+
t.src = n, t.style.opacity = "1";
|
|
293
|
+
}, 50), a.querySelectorAll(".gengage-simrel-default-card-image-dot").forEach((c, s) => c.classList.toggle("is-active", s === o));
|
|
294
|
+
}), a.appendChild(i);
|
|
295
|
+
}), a;
|
|
296
|
+
}
|
|
297
|
+
function te(e, t, r, a) {
|
|
298
|
+
const n = e.reviewCount ?? 0, o = e.rating ?? 0, i = document.createElement("div");
|
|
299
|
+
i.className = "gengage-simrel-default-card-rating", n <= 0 && !r.productInfoLabel && i.classList.add("is-placeholder");
|
|
300
|
+
const l = document.createElement("div");
|
|
301
|
+
l.className = "gengage-simrel-default-card-rating-left";
|
|
302
|
+
const c = document.createElement("div");
|
|
303
|
+
c.className = "gengage-simrel-default-card-stars";
|
|
304
|
+
const s = Math.max(0, Math.min(5, Math.round(o)));
|
|
305
|
+
for (let m = 1; m <= 5; m += 1) {
|
|
306
|
+
const u = document.createElement("span");
|
|
307
|
+
u.className = `gengage-simrel-default-card-star${m <= s ? " is-filled" : ""}`, u.textContent = "★", c.appendChild(u);
|
|
308
|
+
}
|
|
309
|
+
l.appendChild(c);
|
|
310
|
+
const d = document.createElement("button");
|
|
311
|
+
if (d.className = "gengage-simrel-default-card-review-link", d.type = "button", d.textContent = r.reviewLabel(n), d.addEventListener("click", (m) => {
|
|
312
|
+
m.preventDefault(), m.stopPropagation(), a(e);
|
|
313
|
+
}), l.appendChild(d), i.appendChild(l), r.productInfoLabel) {
|
|
314
|
+
const m = document.createElement(t && S(t) ? "a" : "span");
|
|
315
|
+
m.className = "gengage-simrel-default-card-product-info-link", m.textContent = r.productInfoLabel, m instanceof HTMLAnchorElement && (m.href = t, m.target = "_blank", m.rel = "noopener noreferrer", m.addEventListener("click", (u) => u.stopPropagation())), i.appendChild(m);
|
|
316
|
+
}
|
|
317
|
+
return i;
|
|
318
|
+
}
|
|
319
|
+
function re(e) {
|
|
320
|
+
const t = document.createElement("div");
|
|
321
|
+
t.className = "gengage-simrel-default-card-warranty-row";
|
|
322
|
+
const r = e.length > 0 ? e : [""];
|
|
323
|
+
for (const a of r) {
|
|
324
|
+
const n = document.createElement("div");
|
|
325
|
+
n.className = `gengage-simrel-default-card-warranty-badge${a ? "" : " is-placeholder"}`, a || n.setAttribute("aria-hidden", "true"), n.textContent = a, t.appendChild(n);
|
|
326
|
+
}
|
|
327
|
+
return t;
|
|
328
|
+
}
|
|
329
|
+
function ae(e, t) {
|
|
330
|
+
const r = document.createElement("div");
|
|
331
|
+
r.className = "gengage-simrel-default-card-feature-slot";
|
|
332
|
+
const a = document.createElement("div");
|
|
333
|
+
if (a.className = "gengage-simrel-default-card-feature-swiper", e.length === 0 && a.classList.add("is-placeholder"), a.dataset.current = "0", e.length > 0) {
|
|
334
|
+
if (t.media.promotionIconUrl && S(t.media.promotionIconUrl)) {
|
|
335
|
+
const i = document.createElement("img");
|
|
336
|
+
i.src = t.media.promotionIconUrl, i.className = "gengage-simrel-default-card-feature-icon", i.alt = "", a.appendChild(i);
|
|
337
|
+
}
|
|
338
|
+
const n = document.createElement("div");
|
|
339
|
+
n.className = "gengage-simrel-default-card-feature-content";
|
|
340
|
+
const o = x("span", "gengage-simrel-default-card-feature-text", e[0]);
|
|
341
|
+
if (n.appendChild(o), a.appendChild(n), e.length > 1) {
|
|
342
|
+
const i = document.createElement("div");
|
|
343
|
+
i.className = "gengage-simrel-default-card-feature-arrows";
|
|
344
|
+
const l = (d, m) => {
|
|
345
|
+
const u = m === "next" ? "slide-out-left" : "slide-out-right", v = m === "next" ? "prepare-from-right" : "prepare-from-left";
|
|
346
|
+
o.classList.add(u), window.setTimeout(() => {
|
|
347
|
+
o.classList.remove(u), o.classList.add(v), o.textContent = e[d] ?? "", a.dataset.current = String(d), requestAnimationFrame(() => requestAnimationFrame(() => o.classList.remove(v)));
|
|
348
|
+
}, 250);
|
|
349
|
+
}, c = document.createElement("button");
|
|
350
|
+
c.className = "gengage-simrel-default-card-feature-prev", c.type = "button", c.textContent = "‹", c.setAttribute("aria-label", t.labels.previousPromotion), c.addEventListener("click", (d) => {
|
|
351
|
+
d.preventDefault(), d.stopPropagation(), l((Number.parseInt(a.dataset.current ?? "0", 10) - 1 + e.length) % e.length, "prev");
|
|
352
|
+
});
|
|
353
|
+
const s = document.createElement("button");
|
|
354
|
+
s.className = "gengage-simrel-default-card-feature-next", s.type = "button", s.textContent = "›", s.setAttribute("aria-label", t.labels.nextPromotion), s.addEventListener("click", (d) => {
|
|
355
|
+
d.preventDefault(), d.stopPropagation(), l((Number.parseInt(a.dataset.current ?? "0", 10) + 1) % e.length, "next");
|
|
356
|
+
}), i.appendChild(c), i.appendChild(s), a.appendChild(i);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
return r.appendChild(a), r;
|
|
360
|
+
}
|
|
361
|
+
function ne(e, t, r, a) {
|
|
362
|
+
const n = T(e.originalPrice), o = T(e.price), i = o !== void 0 && n !== void 0 && o > 0 && n > 0 && o < n, l = document.createElement("div");
|
|
363
|
+
l.className = "gengage-simrel-default-card-price-action";
|
|
364
|
+
const c = document.createElement("div");
|
|
365
|
+
if (c.className = "gengage-simrel-default-card-price", i) {
|
|
366
|
+
c.appendChild(x("span", "gengage-simrel-default-card-price-old", _(String(n), r.pricing)));
|
|
367
|
+
const s = document.createElement("div");
|
|
368
|
+
if (s.className = "gengage-simrel-default-card-price-current-row", s.appendChild(x("span", "gengage-simrel-default-card-price-current", _(String(o), r.pricing))), t && r.media.specialPriceBadgeUrl && A(r.media.specialPriceBadgeUrl)) {
|
|
369
|
+
const d = document.createElement("img");
|
|
370
|
+
d.src = r.media.specialPriceBadgeUrl, d.className = "gengage-simrel-default-card-special-price-badge", d.alt = r.specialPriceBadgeAlt, s.appendChild(d);
|
|
371
|
+
}
|
|
372
|
+
c.appendChild(s);
|
|
373
|
+
} else {
|
|
374
|
+
const s = n ?? o;
|
|
375
|
+
c.appendChild(x("span", "gengage-simrel-default-card-price-current", s !== void 0 ? _(String(s), r.pricing) : ""));
|
|
376
|
+
}
|
|
377
|
+
if (l.appendChild(c), r.ctaLabel) {
|
|
378
|
+
const s = document.createElement("button");
|
|
379
|
+
s.className = "gengage-simrel-default-card-cta", s.dataset.gengagePart = "simrel-product-card-cta", s.type = "button", s.dataset.sku = e.sku, s.textContent = r.ctaLabel, s.addEventListener("click", (d) => {
|
|
380
|
+
d.preventDefault(), d.stopPropagation(), a(e);
|
|
381
|
+
}), l.appendChild(s);
|
|
382
|
+
}
|
|
383
|
+
return l;
|
|
384
|
+
}
|
|
385
|
+
function M(e) {
|
|
386
|
+
const { product: t, config: r } = e, a = L(t, r.fields.images).map((g) => X(g, t, r)).filter(A), n = L(t, r.fields.promotions), o = n.filter((g) => r.warrantyPromotionPattern.test(g)), i = n.filter((g) => !r.warrantyPromotionPattern.test(g)), l = y(t, r.fields.subtitle) ?? "", c = y(t, r.fields.discountReason) ?? "", s = O(Q(t, r.fields.specialPrice)) === !0 || r.specialPricePattern.test(c), d = t.brand ?? "", m = J(d && t.name.startsWith(`${d} `) ? t.name.slice(d.length + 1) : t.name, l), u = document.createElement("article");
|
|
387
|
+
u.className = "gengage-simrel-default-card gengage-simrel-default-scope gengage-simrel-card gds-card gds-product-card gds-card-interactive", u.dataset.gengagePart = "simrel-product-card", u.setAttribute("role", "listitem"), u.setAttribute("tabindex", "0"), u.setAttribute("aria-label", m), u.dataset.sku = t.sku, u.dataset.index = String(e.index);
|
|
388
|
+
const v = Y(u, m, a);
|
|
389
|
+
u.appendChild(v);
|
|
390
|
+
const G = v.querySelector("img"), P = document.createElement("div");
|
|
391
|
+
P.className = "gengage-simrel-default-card-meta-row";
|
|
392
|
+
const N = Z(K(t, r), r.labels.customBadgeAlt);
|
|
393
|
+
N && P.appendChild(N);
|
|
394
|
+
const I = ee(a, G, r);
|
|
395
|
+
I && P.appendChild(I), u.appendChild(P);
|
|
396
|
+
const b = document.createElement("div");
|
|
397
|
+
return b.className = "gengage-simrel-default-card-info", b.dataset.gengagePart = "simrel-product-card-body", b.appendChild(x("h3", "gengage-simrel-default-card-title", m)), l && b.appendChild(x("p", "gengage-simrel-default-card-subtitle", l)), b.appendChild(te(t, y(t, r.fields.productInfoUrl), r, e.context.onClick)), b.appendChild(re([...L(t, r.fields.warranties), ...o])), b.appendChild(ae(i, r)), u.appendChild(b), u.appendChild(ne(t, s, r, e.context.onClick)), u.addEventListener("click", (g) => {
|
|
398
|
+
(g.target instanceof HTMLElement ? g.target : null)?.closest("button, a") || e.context.onClick(t);
|
|
399
|
+
}), u.addEventListener("keydown", (g) => {
|
|
400
|
+
if (g.key !== "Enter" && g.key !== " ") return;
|
|
401
|
+
const B = g.target instanceof HTMLElement ? g.target : null;
|
|
402
|
+
B && B !== u || (g.preventDefault(), e.context.onClick(t));
|
|
403
|
+
}), u;
|
|
404
|
+
}
|
|
405
|
+
function oe(e, t) {
|
|
406
|
+
const r = D(e.element.props?.product ?? e.element.props);
|
|
407
|
+
if (!r) return null;
|
|
408
|
+
const a = e.element.props?.index;
|
|
409
|
+
return M({
|
|
410
|
+
product: r,
|
|
411
|
+
index: typeof a == "number" && Number.isFinite(a) ? a : 0,
|
|
412
|
+
context: e.context,
|
|
413
|
+
config: R(t, e.context)
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
function ie(e) {
|
|
417
|
+
const t = document.createElement("div");
|
|
418
|
+
t.className = "gengage-simrel-grid gengage-simrel-default-grid gengage-simrel-default-scope", t.setAttribute("role", "list");
|
|
419
|
+
const r = e.element.props?.columns;
|
|
420
|
+
let a;
|
|
421
|
+
typeof r == "number" && Number.isFinite(r) && r > 0 ? a = Math.floor(r) : typeof e.context.gridColumns == "number" && Number.isFinite(e.context.gridColumns) && e.context.gridColumns > 0 && (a = Math.floor(e.context.gridColumns)), a !== void 0 && t.style.setProperty("--gengage-simrel-columns", String(a));
|
|
422
|
+
for (const n of e.element.children ?? []) {
|
|
423
|
+
const o = e.renderElement(n);
|
|
424
|
+
o && t.appendChild(o);
|
|
425
|
+
}
|
|
426
|
+
if (t.children.length === 0) {
|
|
427
|
+
const n = document.createElement("div");
|
|
428
|
+
n.className = "gengage-simrel-empty", n.textContent = e.context.i18n.emptyStateMessage, t.appendChild(n);
|
|
429
|
+
}
|
|
430
|
+
return t;
|
|
431
|
+
}
|
|
432
|
+
function le(e, t) {
|
|
433
|
+
const r = e.element.props?.groups;
|
|
434
|
+
if (!Array.isArray(r)) return null;
|
|
435
|
+
const a = r.map(z).filter((c) => !!c), n = e.element.props?.columns, o = R(t, e.context), i = (c, s) => M({
|
|
436
|
+
product: c,
|
|
437
|
+
index: s,
|
|
438
|
+
context: e.context,
|
|
439
|
+
config: o
|
|
440
|
+
}), l = j({
|
|
441
|
+
groups: a,
|
|
442
|
+
onClick: e.context.onClick,
|
|
443
|
+
onAddToCart: e.context.onAddToCart,
|
|
444
|
+
renderCardElement: i,
|
|
445
|
+
i18n: e.context.i18n,
|
|
446
|
+
...e.context.discountType !== void 0 ? { discountType: e.context.discountType } : {},
|
|
447
|
+
...e.context.onGroupingActivate !== void 0 ? { onGroupingActivate: e.context.onGroupingActivate } : {},
|
|
448
|
+
...typeof n == "number" && Number.isFinite(n) && n > 0 ? { columns: Math.floor(n) } : e.context.gridColumns !== void 0 ? { columns: e.context.gridColumns } : {}
|
|
449
|
+
});
|
|
450
|
+
return l.classList.add("gengage-simrel-default-groups", "gengage-simrel-default-scope"), l;
|
|
451
|
+
}
|
|
452
|
+
function xe(e = {}) {
|
|
453
|
+
return { registry: {
|
|
454
|
+
ProductGrid: (t) => ie(t),
|
|
455
|
+
ProductCard: (t) => oe(t, e),
|
|
456
|
+
GroupTabs: (t) => le(t, e)
|
|
457
|
+
} };
|
|
458
|
+
}
|
|
459
|
+
var se = h({
|
|
460
|
+
sku: f(),
|
|
461
|
+
name: f(),
|
|
462
|
+
imageUrl: f().url().optional(),
|
|
463
|
+
price: f().optional(),
|
|
464
|
+
originalPrice: f().optional(),
|
|
465
|
+
discountPercent: C().optional(),
|
|
466
|
+
url: f().url(),
|
|
467
|
+
brand: f().optional(),
|
|
468
|
+
rating: C().min(0).max(5).optional(),
|
|
469
|
+
reviewCount: C().int().nonnegative().optional()
|
|
470
|
+
}), ce = h({
|
|
471
|
+
layout: k(["grid", "carousel"]).optional(),
|
|
472
|
+
columns: C().int().positive().optional()
|
|
473
|
+
}), de = h({
|
|
474
|
+
product: se,
|
|
475
|
+
index: C().int().nonnegative(),
|
|
476
|
+
discountType: k(["strike-through", "badge"]).optional()
|
|
477
|
+
}), ue = h({
|
|
478
|
+
sku: f(),
|
|
479
|
+
label: f().optional(),
|
|
480
|
+
cartCode: f()
|
|
481
|
+
}), me = h({ actions: q(h({
|
|
482
|
+
label: f(),
|
|
483
|
+
action: h({
|
|
484
|
+
title: f(),
|
|
485
|
+
type: f(),
|
|
486
|
+
payload: H().optional()
|
|
487
|
+
})
|
|
488
|
+
})) }), ge = h({ message: f().optional() }), ve = { components: {
|
|
489
|
+
ProductGrid: {
|
|
490
|
+
schema: ce,
|
|
491
|
+
description: "Outer grid or carousel container for similar products."
|
|
492
|
+
},
|
|
493
|
+
ProductCard: {
|
|
494
|
+
schema: de,
|
|
495
|
+
description: "A single product card with image, title, price, and actions."
|
|
496
|
+
},
|
|
497
|
+
AddToCartButton: {
|
|
498
|
+
schema: ue,
|
|
499
|
+
description: "Add-to-cart CTA rendered inside or below a product card."
|
|
500
|
+
},
|
|
501
|
+
QuickActions: {
|
|
502
|
+
schema: me,
|
|
503
|
+
description: "A row of quick-action buttons below product info."
|
|
504
|
+
},
|
|
505
|
+
EmptyState: {
|
|
506
|
+
schema: ge,
|
|
507
|
+
description: "Empty state shown when no similar products are available."
|
|
508
|
+
}
|
|
509
|
+
} };
|
|
510
|
+
export {
|
|
511
|
+
xe as n,
|
|
512
|
+
ve as t
|
|
513
|
+
};
|
package/dist/simrel.css
CHANGED
|
@@ -1 +1,4 @@
|
|
|
1
1
|
:where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:8px 14px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;font-size:13px;line-height:1.5}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}.gengage-simrel-container{font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px);color:var(--text-primary);--_gengage-border-color:var(--border-default);--_gengage-discount-color:var(--gengage-discount-color,var(--client-primary));--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-surface-base:var(--surface-card);--_gengage-surface-muted:var(--surface-card-muted);--_gengage-surface-secondary:var(--surface-card-soft);--_gengage-rating-color:var(--rating);--_gengage-scrollbar-thumb:var(--ds-progress-scrollbar-thumb)}.gengage-simrel-uispec>*{animation:.2s cubic-bezier(.2,.72,.2,1) both gengage-simrel-enter}@keyframes gengage-simrel-enter{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.gengage-simrel-grid{grid-template-columns:repeat(var(--gengage-simrel-columns,4), minmax(0, 1fr));gap:12px;padding:8px 0 72px;display:grid;overflow-x:visible}.gengage-simrel-grid>*{min-width:0}.gengage-simrel-grid .gengage-simrel-empty{grid-column:1/-1}.gengage-simrel-card{border:1px solid var(--_gengage-border-color);border-radius:var(--gengage-simrel-card-radius,var(--ds-card-radius));background:var(--ds-card-bg);cursor:pointer;box-shadow:var(--ds-card-shadow);flex-direction:column;width:100%;min-width:0;max-width:none;transition:box-shadow .2s,transform .1s;display:flex;position:relative;overflow:hidden}.gengage-simrel-card:hover{box-shadow:var(--ds-card-shadow-hover);transform:translateY(-2px)}.gengage-simrel-card-image{background:var(--_gengage-surface-base);position:relative;overflow:hidden}.gengage-simrel-card-image img{object-fit:contain;box-sizing:border-box;width:100%;height:120px;padding:8px;display:block}.gengage-simrel-badge{background:var(--_gengage-discount-color);color:var(--client-on-primary);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;position:absolute;top:8px;left:8px}.gengage-simrel-card-info{text-align:center;flex-direction:column;gap:4px;padding:8px 10px 10px;display:flex}.gengage-simrel-card-brand{color:var(--_gengage-text-secondary);font-size:10px}.gengage-simrel-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;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-simrel-card-rating{color:var(--_gengage-rating-color);font-size:12px}.gengage-simrel-card-rating .gengage-star-half{display:inline-block;position:relative}.gengage-simrel-card-rating .gengage-star-half>span{width:.5em;position:absolute;top:0;left:0;overflow:hidden}.gengage-simrel-card-review-count{color:var(--_gengage-text-secondary)}.gengage-simrel-card-price{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 4px;padding-top:4px;display:flex}.gengage-simrel-card-price-original{color:var(--_gengage-text-secondary);font-size:12px;font-weight:400;text-decoration:line-through}.gengage-simrel-card-price-current{color:var(--_gengage-text-primary);font-size:16px;font-weight:800}.gengage-simrel-card-cta{text-align:center;border:none;border-top:1px solid var(--_gengage-surface-muted);width:100%;color:var(--client-primary);letter-spacing:.01em;cursor:pointer;background:0 0;border-radius:0;margin-top:auto;padding:8px 10px;font-family:inherit;font-size:12px;font-weight:700;transition:color .15s,background .15s;display:block}.gengage-simrel-card-cta:hover{color:var(--client-primary-hover);background:var(--surface-card-soft)}.gengage-simrel-atc{border:1px solid var(--_gengage-border-color);border-radius:var(--radius-control,12px)}.gengage-simrel-atc-button{border:1.5px solid var(--client-primary);border-radius:var(--radius-control,12px);background:var(--surface-card);width:calc(100% - 20px);min-height:44px;color:var(--client-primary);letter-spacing:.01em;justify-content:center;align-items:center;margin:0 10px 10px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.gengage-simrel-atc-button:hover{background:var(--surface-card-soft);color:var(--client-primary-hover)}.gengage-simrel-card .gengage-simrel-atc{border-top:1px solid var(--_gengage-border-color);background:0 0;border-bottom:none;border-left:none;border-right:none;border-radius:0;justify-content:center;align-items:center;width:100%;margin:0;display:flex}.gengage-simrel-card-oos{text-align:center;border-top:1px solid var(--_gengage-surface-muted);width:100%;color:var(--_gengage-text-secondary);letter-spacing:.01em;padding:8px 10px;font-size:12px;font-weight:600}.gengage-simrel-card--out-of-stock{opacity:.55}.gengage-simrel-card--out-of-stock .gengage-simrel-card-image img{filter:grayscale(40%)}.gengage-simrel-quick-actions{flex-wrap:wrap;gap:8px;padding:6px 12px 12px;display:flex}.gengage-simrel-quick-action{border:1px solid var(--_gengage-border-color);background:var(--_gengage-surface-muted);color:var(--_gengage-text-primary);cursor:pointer;border-radius:999px;min-height:40px;padding:8px 10px;font-size:12px;font-weight:600;transition:transform .12s,box-shadow .12s,border-color .12s}.gengage-simrel-quick-action:hover{border-color:var(--client-primary);color:var(--client-primary);box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-simrel-empty{text-align:center;width:100%;color:var(--_gengage-text-secondary);padding:40px 20px}.gengage-simrel-error{text-align:center;color:var(--_gengage-text-secondary);padding:24px 16px;font-size:13px;line-height:1.5}.gengage-simrel-retry{border:1px solid var(--_gengage-border-color);background:var(--_gengage-surface-base);cursor:pointer;color:var(--_gengage-text-primary);border-radius:6px;margin-top:8px;padding:6px 16px;font-size:13px;transition:background .15s;display:inline-block}.gengage-simrel-retry:hover{background:var(--_gengage-surface-secondary)}.gengage-simrel-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--_gengage-scrollbar-thumb) transparent;border-bottom:none;gap:10px;margin-bottom:0;padding-left:0;padding-right:24px;transition:padding .15s;display:flex;overflow-x:auto}.gengage-simrel-tabs.gengage-simrel-tabs--peek-right{padding-right:6px}.gengage-simrel-tabs.gengage-simrel-tabs--peek-left{padding-left:6px}.gengage-simrel-tabs::-webkit-scrollbar{height:3px}.gengage-simrel-tabs::-webkit-scrollbar-thumb{background:var(--_gengage-scrollbar-thumb);border-radius:3px}.gengage-simrel-tab{border:1px solid var(--_gengage-border-color);background:var(--_gengage-surface-muted);min-height:40px;color:var(--_gengage-text-secondary);opacity:1;font-size:inherit;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-1);border-radius:999px;margin-bottom:0;padding:8px 14px;font-family:inherit;transition:color .2s,border-color .2s,background .2s,box-shadow .2s}.gengage-simrel-tab:hover{color:var(--client-primary);border-color:var(--client-primary);background:var(--_gengage-surface-secondary)}.gengage-simrel-tab--active{color:var(--client-primary);border-color:var(--client-primary);background:var(--_gengage-surface-secondary);box-shadow:var(--shadow-2);font-weight:600}.gengage-simrel-tabs-wrapper{border-bottom:1px solid var(--_gengage-border-color);align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex;position:relative}.gengage-simrel-tabs-wrapper .gengage-simrel-tabs{flex:1;min-width:0}.gengage-simrel-tabs-arrow{background:var(--_gengage-surface-base);width:28px;height:40px;color:var(--_gengage-text-secondary);cursor:pointer;border:none;border-radius:4px;flex:none;justify-content:center;align-self:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex}.gengage-simrel-tabs-arrow:hover{color:var(--client-primary);background:var(--_gengage-surface-secondary)}.gengage-simrel-tabs-arrow--left{margin-right:4px}.gengage-simrel-tabs-arrow--right{margin-left:4px}.gengage-simrel-loading{justify-content:center;padding:40px;display:flex}.gengage-simrel-spinner{border:3px solid var(--_gengage-border-color);border-top-color:var(--client-primary);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite gengage-simrel-spin}@keyframes gengage-simrel-spin{to{transform:rotate(360deg)}}@media (width<=768px){.gengage-simrel-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x mandatory;gap:10px;padding-top:8px;display:flex;overflow-x:auto}.gengage-simrel-grid::-webkit-scrollbar{display:none}.gengage-simrel-grid>*{scroll-snap-align:center;min-width:unset;flex:none}.gengage-simrel-card{width:200px;min-width:200px;max-width:200px}.gengage-simrel-grid .gengage-simrel-empty{flex:1 0 100%;min-width:100%}.gengage-simrel-card-image img{height:140px}.gengage-simrel-card-cta,.gengage-simrel-quick-action,.gengage-simrel-tab{min-height:44px}.gengage-simrel-card{border:1px solid var(--_gengage-border-color)}.gengage-simrel-card-price-current{font-size:14px}}.gengage-simrel-card:focus-visible,.gengage-simrel-tab:focus-visible,.gengage-simrel-quick-action:focus-visible,.gengage-simrel-atc-button:focus-visible{outline:2px solid var(--client-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.gengage-simrel-uispec>*,.gengage-simrel-card,.gengage-simrel-card-image img,.gengage-simrel-quick-action,.gengage-simrel-spinner,.gengage-simrel-tabs-arrow{transition:none!important;animation:none!important;transform:none!important}}
|
|
2
|
+
|
|
3
|
+
:where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:8px 14px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;font-size:13px;line-height:1.5}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}.gengage-simrel-default-scope{--gengage-simrel-card-accent-resolved:var(--gengage-simrel-card-accent,var(--color-client-primary,var(--client-primary-color,#2563eb)));--gengage-simrel-card-font-family-resolved:var(--gengage-simrel-card-font-family,var(--gengage-font-family,inherit));--gengage-font-size:.875rem}.gengage-simrel-default-grid,.gengage-simrel-default-groups{margin:var(--gengage-simrel-card-container-margin,24px 0 40px)}.gengage-simrel-default-groups .gengage-simrel-tabs-wrapper{margin-bottom:14px}.gengage-simrel-default-groups .gengage-simrel-tabs{background:#f7f7f7;border:1px solid #ececec;border-radius:999px;gap:8px;padding:4px}.gengage-simrel-default-groups .gengage-simrel-tab{background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 14px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}.gengage-simrel-default-groups .gengage-simrel-tab:hover{background:#fff}.gengage-simrel-default-groups .gengage-simrel-tab:hover,.gengage-simrel-default-groups .gengage-simrel-tab--active{border-color:var(--gengage-simrel-card-accent-resolved);color:var(--gengage-simrel-card-accent-resolved)}.gengage-simrel-default-groups .gengage-simrel-tab--active{background:#fff;box-shadow:0 2px 8px #11182714}.gengage-simrel-default-scope .gengage-simrel-spinner{border-top-color:var(--gengage-simrel-card-accent-resolved)}.gengage-simrel-default-card:focus-visible,.gengage-simrel-default-groups .gengage-simrel-tab:focus-visible{outline-color:var(--gengage-simrel-card-accent-resolved)}.gengage-simrel-default-grid,.gengage-simrel-default-groups .gengage-simrel-grid{grid-template-columns:repeat(var(--gengage-simrel-columns,4), minmax(0, 1fr));gap:16px;margin:0 -8px 16px;display:grid;overflow-x:visible}.gengage-simrel-default-grid>*,.gengage-simrel-default-groups .gengage-simrel-grid>*{min-width:0}.gengage-simrel-default-card{color:#222;width:100%;min-width:0;font-family:var(--gengage-simrel-card-font-family-resolved);cursor:pointer;box-shadow:none;background:#f6f6f6;border:none;border-radius:5px;flex-direction:column;transition:box-shadow .16s,transform .12s;display:flex;position:relative;overflow:hidden}.gengage-simrel-default-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px #11182714}.gengage-simrel-default-card-image{background:#f6f6f6;width:100%;height:260px;position:relative;overflow:hidden}.gengage-simrel-default-card-image>img{box-sizing:border-box;object-fit:contain;width:100%;height:100%;padding:8px;transition:opacity 50ms;position:absolute;inset:0}.gengage-simrel-default-card-meta-row{background:#f6f6f6;justify-content:center;align-items:center;min-height:32px;margin-top:8px;padding:8px 12px;display:flex;position:relative}.gengage-simrel-default-card-custom-badge{align-items:center;display:flex;position:absolute;left:12px}.gengage-simrel-default-card-custom-badge-icon{object-fit:contain;width:auto;height:24px}.gengage-simrel-default-card-custom-badge-text{color:#2e6f23;background:#ebf6e8;border:1px solid #3a7f2f;border-radius:4px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.gengage-simrel-default-card-image-dots{align-items:center;gap:8px;display:flex}.gengage-simrel-default-card-image-dot{cursor:pointer;background:#ccc;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background-color .16s,transform .16s}.gengage-simrel-default-card-image-dot.is-active{background:#222}.gengage-simrel-default-card-info{font-family:var(--gengage-simrel-card-font-family-resolved);background:#f6f6f6;flex-direction:column;flex:1;gap:2px;padding:16px;display:flex;position:relative}.gengage-simrel-default-card-title{color:#222;font-family:var(--gengage-simrel-card-font-family-resolved);letter-spacing:0;margin:0;font-size:16px;font-weight:900;line-height:1.3}.gengage-simrel-default-card-subtitle{color:#222;font-family:var(--gengage-simrel-card-font-family-resolved);letter-spacing:0;margin:0;font-size:14px;font-weight:400;line-height:1.4}.gengage-simrel-default-card-rating{justify-content:space-between;align-items:center;min-height:22px;margin-top:6px;display:flex}.gengage-simrel-default-card-rating.is-placeholder{visibility:hidden}.gengage-simrel-default-card-rating-left{align-items:center;gap:8px;min-width:0;display:flex}.gengage-simrel-default-card-stars{gap:2px;display:flex}.gengage-simrel-default-card-star{color:#ddd;font-size:12px;line-height:1}.gengage-simrel-default-card-star.is-filled{color:#222}.gengage-simrel-default-card-review-link,.gengage-simrel-default-card-product-info-link{color:#222;font-family:var(--gengage-simrel-card-font-family-resolved);white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.gengage-simrel-default-card-review-link{font-size:13px}.gengage-simrel-default-card-product-info-link:hover,.gengage-simrel-default-card-review-link:hover{color:#000}.gengage-simrel-default-card-warranty-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:26px;margin-top:6px;display:flex}.gengage-simrel-default-card-warranty-badge{min-width:86px;height:26px;color:var(--gengage-simrel-card-accent-resolved);background:#fff;border-radius:5px;justify-content:center;align-items:center;padding:3px 6px;font-size:8px;font-weight:600;display:inline-flex}.gengage-simrel-default-card-warranty-badge.is-placeholder{visibility:hidden}.gengage-simrel-default-card-feature-slot{min-height:40px}.gengage-simrel-default-card-feature-swiper{box-sizing:border-box;width:max-content;max-width:100%;height:40px;font-family:var(--gengage-simrel-card-font-family-resolved);background:#fff;border:1px solid #d1d1d1;border-radius:5px;align-self:flex-start;align-items:center;gap:10px;margin-top:6px;padding:0 8px;display:inline-flex}.gengage-simrel-default-card-feature-swiper.is-placeholder{visibility:hidden}.gengage-simrel-default-card-feature-icon{object-fit:contain;flex-shrink:0;width:18px;height:18px}.gengage-simrel-default-card-feature-content{flex:0 auto;min-width:0;overflow:hidden}.gengage-simrel-default-card-feature-text{color:#222;font-family:var(--gengage-simrel-card-font-family-resolved);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;transition:transform .25s ease-out,opacity .25s ease-out;display:block;overflow:hidden}.gengage-simrel-default-card-feature-text.slide-out-left{opacity:0;transform:translate(-100%)}.gengage-simrel-default-card-feature-text.slide-out-right{opacity:0;transform:translate(100%)}.gengage-simrel-default-card-feature-text.prepare-from-right{opacity:0;transition:none;transform:translate(100%)}.gengage-simrel-default-card-feature-text.prepare-from-left{opacity:0;transition:none;transform:translate(-100%)}.gengage-simrel-default-card-feature-arrows{flex-shrink:0;align-items:center;margin-left:auto;margin-right:-4px;display:flex}.gengage-simrel-default-card-feature-prev,.gengage-simrel-default-card-feature-next{color:#666;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:18px;transition:color .2s;display:flex}.gengage-simrel-default-card-feature-prev:hover,.gengage-simrel-default-card-feature-next:hover{color:#222}.gengage-simrel-default-card-price-action{background:#e5e5e5;border-radius:0 0 5px 5px;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:16px;display:flex}.gengage-simrel-default-card-price{min-width:0;font-family:var(--gengage-simrel-card-font-family-resolved);flex-direction:column;flex:1;align-items:flex-start;gap:2px;display:flex}.gengage-simrel-default-card-price-old,.gengage-simrel-default-card-price-current{color:#222;font-family:var(--gengage-simrel-card-font-family-resolved);font-size:14px;font-weight:900;line-height:1}.gengage-simrel-default-card-price-old{text-decoration:line-through}.gengage-simrel-default-card-price-current-row{align-items:center;gap:8px;display:flex}.gengage-simrel-default-card-special-price-badge{object-fit:contain;flex-shrink:0;width:auto;height:14px}.gengage-simrel-default-card-cta{border:1px solid var(--gengage-simrel-card-accent-resolved);color:#222;height:36px;font-family:var(--gengage-simrel-card-font-family-resolved);letter-spacing:0;white-space:nowrap;cursor:pointer;background:0 0;border-radius:18px;flex-shrink:0;padding:0 30px;font-size:12px;font-weight:900;transition:background-color .2s,color .2s}.gengage-simrel-default-card-cta:hover{background:var(--gengage-simrel-card-accent-resolved);color:#fff}.gengage-simrel-default-card-cta:focus-visible,.gengage-simrel-default-card-image-dot:focus-visible,.gengage-simrel-default-card-feature-prev:focus-visible,.gengage-simrel-default-card-feature-next:focus-visible,.gengage-simrel-default-card-review-link:focus-visible{outline:2px solid var(--gengage-simrel-card-accent-resolved);outline-offset:2px}.gengage-simrel-default-compact .gengage-simrel-default-card-price-current,.gengage-simrel-default-compact .gengage-simrel-default-card-price-old{font-size:10px}.gengage-simrel-default-compact .gengage-simrel-default-card-cta{height:24px;padding:0 10px;font-size:10px}.gengage-simrel-default-compact .gengage-simrel-default-grid,.gengage-simrel-default-compact .gengage-simrel-default-groups .gengage-simrel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1024px){.gengage-simrel-default-grid,.gengage-simrel-default-groups .gengage-simrel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.gengage-simrel-default-grid,.gengage-simrel-default-groups .gengage-simrel-grid{scroll-snap-type:x mandatory;gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.gengage-simrel-default-card{scroll-snap-align:start;flex-shrink:0;width:220px;min-width:220px;max-width:220px}.gengage-simrel-default-card-image{height:160px}.gengage-simrel-default-card-info{min-height:unset;padding:12px}.gengage-simrel-default-card-title{font-size:16px}.gengage-simrel-default-card-subtitle{font-size:13px}.gengage-simrel-default-card-price-action{padding:12px}.gengage-simrel-default-card-cta{height:36px;padding:0 24px;font-size:13px}}@media (prefers-reduced-motion:reduce){.gengage-simrel-default-card,.gengage-simrel-default-card-feature-text,.gengage-simrel-default-card-cta,.gengage-simrel-default-card-image-dot,.gengage-simrel-default-groups .gengage-simrel-tab{transition:none!important;transform:none!important}}
|
|
4
|
+
/*$vite$:1*/
|