@primestyleai/tryon 5.5.19 → 5.5.21

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.
@@ -3363,10 +3363,20 @@ const STYLES = `
3363
3363
  MultiSectionMobile (.ps-msr-*) — mobile multi-section results
3364
3364
  screen. Eyebrow + product hero + match badge + section list + CTA.
3365
3365
  ════════════════════════════════════════════════════════════════ */
3366
+ /* Layout: header (modal-level) → flex column root → scroll content
3367
+ (flex: 1, overflow-y: auto) → fixed bottom bar (flex-shrink: 0).
3368
+ This is more reliable than position: sticky inside an
3369
+ overflow:auto flex column, which was floating mid-screen. */
3366
3370
  .ps-msr-root {
3367
3371
  display: flex; flex-direction: column;
3368
- gap: 14px; padding: 4px 4px 100px;
3369
- /* No flex:1 let content size naturally so the modal can scroll */
3372
+ height: 100%; min-height: 0;
3373
+ margin: 0 -16px;
3374
+ }
3375
+ .ps-msr-scroll {
3376
+ flex: 1; min-height: 0;
3377
+ overflow-y: auto; -webkit-overflow-scrolling: touch;
3378
+ display: flex; flex-direction: column;
3379
+ gap: 14px; padding: 8px 16px 24px;
3370
3380
  }
3371
3381
  .ps-msr-eyebrow {
3372
3382
  font-size: 10px; font-weight: 600;
@@ -3470,16 +3480,13 @@ const STYLES = `
3470
3480
  letter-spacing: -0.01em;
3471
3481
  }
3472
3482
 
3473
- /* Bottom CTA: sticky to the modal bottom so it's always accessible
3474
- while the cards above scroll. */
3483
+ /* Fixed bottom action bar always visible, content scrolls above it */
3475
3484
  .ps-msr-bottom {
3476
- position: sticky; bottom: 0;
3477
- margin: 14px -16px 0;
3478
- padding: 14px 16px;
3479
- padding-bottom: calc(14px + env(safe-area-inset-bottom));
3485
+ flex-shrink: 0;
3480
3486
  background: var(--ps-bg-primary);
3481
3487
  border-top: 1px solid var(--ps-border-subtle);
3482
- z-index: 2;
3488
+ padding: 14px 16px;
3489
+ padding-bottom: calc(14px + env(safe-area-inset-bottom));
3483
3490
  }
3484
3491
  .ps-msr-tryon-cta {
3485
3492
  display: flex; align-items: center; justify-content: center; gap: 8px;
@@ -3496,6 +3503,184 @@ const STYLES = `
3496
3503
  .ps-msr-tryon-cta:disabled { opacity: 0.4; cursor: not-allowed; }
3497
3504
  .ps-msr-tryon-cta svg { flex-shrink: 0; }
3498
3505
 
3506
+ /* ════════════════════════════════════════════════════════════════
3507
+ MobileSectionDetail (.ps-msd-*) — section detail view on mobile.
3508
+ Big product image, big size value, match%, MEASUREMENT BLUEPRINT
3509
+ rows with PERFECT FIT badges, TRY ANOTHER SIZE picker.
3510
+ Self-scrolling — content can be long.
3511
+ ════════════════════════════════════════════════════════════════ */
3512
+ .ps-msd-root {
3513
+ display: flex; flex-direction: column;
3514
+ gap: 14px; padding: 4px 4px 60px;
3515
+ height: 100%; min-height: 0;
3516
+ overflow-y: auto; -webkit-overflow-scrolling: touch;
3517
+ }
3518
+ .ps-msd-back {
3519
+ background: none; border: none;
3520
+ color: var(--ps-text-secondary);
3521
+ font-family: inherit; font-size: 12px; font-weight: 500;
3522
+ padding: 6px 0; margin-bottom: 4px;
3523
+ cursor: pointer; align-self: flex-start;
3524
+ display: flex; align-items: center; gap: 6px;
3525
+ transition: color 0.15s;
3526
+ }
3527
+ .ps-msd-back:hover { color: var(--ps-text-primary); }
3528
+ .ps-msd-back-arrow { font-size: 16px; line-height: 1; }
3529
+
3530
+ /* Big product image */
3531
+ .ps-msd-image {
3532
+ width: 100%; height: 240px;
3533
+ border-radius: 12px; overflow: hidden;
3534
+ background: var(--ps-bg-secondary);
3535
+ display: flex; align-items: center; justify-content: center;
3536
+ flex-shrink: 0;
3537
+ }
3538
+ .ps-msd-image-img {
3539
+ max-width: 100%; max-height: 100%;
3540
+ width: auto; height: 100%;
3541
+ object-fit: contain; display: block;
3542
+ }
3543
+
3544
+ /* Header: section name + big size + match */
3545
+ .ps-msd-header {
3546
+ display: flex; flex-direction: column; align-items: center;
3547
+ gap: 6px; padding: 14px 0 18px;
3548
+ border-bottom: 1px solid var(--ps-border-subtle);
3549
+ }
3550
+ .ps-msd-section-name {
3551
+ font-size: 11px; font-weight: 700;
3552
+ letter-spacing: 0.14em; text-transform: uppercase;
3553
+ color: var(--ps-text-muted);
3554
+ }
3555
+ .ps-msd-size-row {
3556
+ display: flex; align-items: baseline; gap: 8px;
3557
+ }
3558
+ .ps-msd-size-num {
3559
+ font-size: 64px; font-weight: 700;
3560
+ color: var(--ps-text-primary);
3561
+ line-height: 1; letter-spacing: -0.02em;
3562
+ font-feature-settings: "tnum" 1;
3563
+ }
3564
+ .ps-msd-size-len {
3565
+ font-size: 16px; font-weight: 500;
3566
+ color: var(--ps-text-secondary);
3567
+ }
3568
+ .ps-msd-match {
3569
+ display: flex; align-items: baseline; gap: 5px;
3570
+ }
3571
+ .ps-msd-match-pct {
3572
+ font-size: 13px; font-weight: 700;
3573
+ color: var(--ps-accent);
3574
+ font-feature-settings: "tnum" 1;
3575
+ }
3576
+ .ps-msd-match-label {
3577
+ font-size: 10px; font-weight: 600;
3578
+ letter-spacing: 0.12em; text-transform: uppercase;
3579
+ color: var(--ps-text-muted);
3580
+ }
3581
+
3582
+ /* MEASUREMENT BLUEPRINT */
3583
+ .ps-msd-blueprint {
3584
+ display: flex; flex-direction: column; gap: 8px;
3585
+ padding-top: 16px;
3586
+ }
3587
+ .ps-msd-blueprint-title {
3588
+ font-size: 11px; font-weight: 700;
3589
+ letter-spacing: 0.16em; text-transform: uppercase;
3590
+ color: var(--ps-text-muted);
3591
+ text-align: center; margin-bottom: 4px;
3592
+ }
3593
+ /* Measurement rows: label + inline values, badge on the right.
3594
+ No table structure — clean and minimal like the reference. */
3595
+ .ps-msd-rows {
3596
+ display: flex; flex-direction: column;
3597
+ }
3598
+ .ps-msd-row {
3599
+ display: flex; align-items: center; justify-content: space-between;
3600
+ padding: 18px 4px;
3601
+ border-bottom: 1px solid var(--ps-border-subtle);
3602
+ gap: 12px;
3603
+ }
3604
+ .ps-msd-row:last-child { border-bottom: none; }
3605
+ .ps-msd-row-info {
3606
+ display: flex; flex-direction: column; gap: 6px;
3607
+ flex: 1; min-width: 0;
3608
+ }
3609
+ .ps-msd-row-label {
3610
+ font-size: 10px; font-weight: 700;
3611
+ letter-spacing: 0.12em; text-transform: uppercase;
3612
+ color: var(--ps-text-muted);
3613
+ }
3614
+ .ps-msd-row-values {
3615
+ display: flex; align-items: baseline; gap: 8px;
3616
+ color: var(--ps-text-primary);
3617
+ font-feature-settings: "tnum" 1;
3618
+ }
3619
+ .ps-msd-row-you {
3620
+ font-size: 17px; font-weight: 700;
3621
+ color: var(--ps-text-primary);
3622
+ }
3623
+ .ps-msd-row-sep {
3624
+ font-size: 16px; font-weight: 400;
3625
+ color: var(--ps-border-color);
3626
+ }
3627
+ .ps-msd-row-spec {
3628
+ font-size: 16px; font-weight: 500;
3629
+ color: var(--ps-text-secondary);
3630
+ }
3631
+ .ps-msd-row-badge {
3632
+ font-size: 9px; font-weight: 700;
3633
+ letter-spacing: 0.12em; text-transform: uppercase;
3634
+ padding: 5px 10px; border-radius: 999px;
3635
+ flex-shrink: 0; white-space: nowrap;
3636
+ }
3637
+ .ps-msd-row-badge.ps-good {
3638
+ background: rgba(33, 84, 239, 0.1);
3639
+ color: var(--ps-accent);
3640
+ }
3641
+ .ps-msd-row-badge.ps-tight {
3642
+ background: rgba(220, 38, 38, 0.1);
3643
+ color: #dc2626;
3644
+ }
3645
+ .ps-msd-row-badge.ps-loose {
3646
+ background: rgba(217, 119, 6, 0.1);
3647
+ color: #d97706;
3648
+ }
3649
+
3650
+ /* TRY ANOTHER SIZE picker */
3651
+ .ps-msd-sizes {
3652
+ display: flex; flex-direction: column; gap: 10px;
3653
+ padding-top: 18px;
3654
+ }
3655
+ .ps-msd-sizes-label {
3656
+ font-size: 11px; font-weight: 700;
3657
+ letter-spacing: 0.14em; text-transform: uppercase;
3658
+ color: var(--ps-text-muted);
3659
+ text-align: center;
3660
+ }
3661
+ .ps-msd-sizes-pills {
3662
+ display: flex; flex-wrap: wrap; gap: 8px;
3663
+ justify-content: center;
3664
+ }
3665
+ .ps-msd-size-pill {
3666
+ min-width: 48px;
3667
+ padding: 10px 16px;
3668
+ background: transparent;
3669
+ border: 1.5px solid var(--ps-border-color);
3670
+ border-radius: 8px;
3671
+ font-family: inherit; font-size: 13px; font-weight: 600;
3672
+ color: var(--ps-text-primary);
3673
+ cursor: pointer;
3674
+ transition: all 0.15s;
3675
+ }
3676
+ .ps-msd-size-pill:hover {
3677
+ border-color: var(--ps-accent);
3678
+ }
3679
+ .ps-msd-size-pill.ps-active {
3680
+ background: var(--ps-accent); color: #FFFFFF;
3681
+ border-color: var(--ps-accent);
3682
+ }
3683
+
3499
3684
  /* Bottom action area — Next button + tab bar grouped together,
3500
3685
  pushed to the bottom of the modal body by .ps-bpm-spacer above. */
3501
3686
  .ps-bpm-bottom {
@@ -4729,58 +4914,60 @@ function MultiSectionMobile({
4729
4914
  return 72;
4730
4915
  }, [sizingResult]);
4731
4916
  return /* @__PURE__ */ jsxs("div", { className: "ps-msr-root", children: [
4732
- /* @__PURE__ */ jsx("div", { className: "ps-msr-eyebrow", children: t("Sizing Profile") }),
4733
- /* @__PURE__ */ jsxs("div", { className: "ps-msr-product", children: [
4734
- /* @__PURE__ */ jsxs("div", { className: "ps-msr-product-img-wrap", children: [
4735
- /* @__PURE__ */ jsx("img", { src: productImage, alt: productTitle, className: "ps-msr-product-img" }),
4736
- /* @__PURE__ */ jsx("button", { type: "button", className: "ps-msr-bookmark", "aria-label": t("Save"), children: /* @__PURE__ */ jsx(BookmarkIcon, {}) })
4737
- ] }),
4738
- /* @__PURE__ */ jsx("h2", { className: "ps-msr-product-name", children: productTitle })
4739
- ] }),
4740
- /* @__PURE__ */ jsx("div", { className: "ps-msr-match-row", children: /* @__PURE__ */ jsxs("div", { className: "ps-msr-match", children: [
4741
- /* @__PURE__ */ jsxs("div", { className: "ps-msr-match-circle", children: [
4742
- /* @__PURE__ */ jsxs("svg", { className: "ps-msr-match-ring", viewBox: "0 0 44 44", children: [
4743
- /* @__PURE__ */ jsx("circle", { cx: "22", cy: "22", r: "20", fill: "none", stroke: "var(--ps-border-color)", strokeWidth: "3" }),
4744
- /* @__PURE__ */ jsx(
4745
- "circle",
4746
- {
4747
- cx: "22",
4748
- cy: "22",
4749
- r: "20",
4750
- fill: "none",
4751
- stroke: "var(--ps-accent)",
4752
- strokeWidth: "3",
4753
- strokeLinecap: "round",
4754
- strokeDasharray: `${matchPct / 100 * 125.66} 125.66`,
4755
- transform: "rotate(-90 22 22)"
4756
- }
4757
- )
4917
+ /* @__PURE__ */ jsxs("div", { className: "ps-msr-scroll", children: [
4918
+ /* @__PURE__ */ jsx("div", { className: "ps-msr-eyebrow", children: t("Sizing Profile") }),
4919
+ /* @__PURE__ */ jsxs("div", { className: "ps-msr-product", children: [
4920
+ /* @__PURE__ */ jsxs("div", { className: "ps-msr-product-img-wrap", children: [
4921
+ /* @__PURE__ */ jsx("img", { src: productImage, alt: productTitle, className: "ps-msr-product-img" }),
4922
+ /* @__PURE__ */ jsx("button", { type: "button", className: "ps-msr-bookmark", "aria-label": t("Save"), children: /* @__PURE__ */ jsx(BookmarkIcon, {}) })
4758
4923
  ] }),
4759
- /* @__PURE__ */ jsxs("span", { className: "ps-msr-match-pct", children: [
4760
- matchPct,
4761
- "%"
4762
- ] })
4924
+ /* @__PURE__ */ jsx("h2", { className: "ps-msr-product-name", children: productTitle })
4763
4925
  ] }),
4764
- /* @__PURE__ */ jsx("span", { className: "ps-msr-match-label", children: t("FIT MATCH") })
4765
- ] }) }),
4766
- /* @__PURE__ */ jsx("div", { className: "ps-msr-sections", children: sectionEntries.map(({ name, secResult }) => {
4767
- const cleanName = name.replace(/\s*[—–-]\s*.*/g, "");
4768
- const sec = secResult;
4769
- const sizeValue = sec.size || secResult.recommendedSize;
4770
- return /* @__PURE__ */ jsxs(
4771
- "button",
4772
- {
4773
- type: "button",
4774
- className: "ps-msr-section-card",
4775
- onClick: () => onSelectSection(name),
4776
- children: [
4777
- /* @__PURE__ */ jsx("span", { className: "ps-msr-section-name", children: cleanName.toUpperCase() }),
4778
- /* @__PURE__ */ jsx("span", { className: "ps-msr-section-size", children: sizeValue })
4779
- ]
4780
- },
4781
- name
4782
- );
4783
- }) }),
4926
+ /* @__PURE__ */ jsx("div", { className: "ps-msr-match-row", children: /* @__PURE__ */ jsxs("div", { className: "ps-msr-match", children: [
4927
+ /* @__PURE__ */ jsxs("div", { className: "ps-msr-match-circle", children: [
4928
+ /* @__PURE__ */ jsxs("svg", { className: "ps-msr-match-ring", viewBox: "0 0 44 44", children: [
4929
+ /* @__PURE__ */ jsx("circle", { cx: "22", cy: "22", r: "20", fill: "none", stroke: "var(--ps-border-color)", strokeWidth: "3" }),
4930
+ /* @__PURE__ */ jsx(
4931
+ "circle",
4932
+ {
4933
+ cx: "22",
4934
+ cy: "22",
4935
+ r: "20",
4936
+ fill: "none",
4937
+ stroke: "var(--ps-accent)",
4938
+ strokeWidth: "3",
4939
+ strokeLinecap: "round",
4940
+ strokeDasharray: `${matchPct / 100 * 125.66} 125.66`,
4941
+ transform: "rotate(-90 22 22)"
4942
+ }
4943
+ )
4944
+ ] }),
4945
+ /* @__PURE__ */ jsxs("span", { className: "ps-msr-match-pct", children: [
4946
+ matchPct,
4947
+ "%"
4948
+ ] })
4949
+ ] }),
4950
+ /* @__PURE__ */ jsx("span", { className: "ps-msr-match-label", children: t("FIT MATCH") })
4951
+ ] }) }),
4952
+ /* @__PURE__ */ jsx("div", { className: "ps-msr-sections", children: sectionEntries.map(({ name, secResult }) => {
4953
+ const cleanName = name.replace(/\s*[—–-]\s*.*/g, "");
4954
+ const sec = secResult;
4955
+ const sizeValue = sec.size || secResult.recommendedSize;
4956
+ return /* @__PURE__ */ jsxs(
4957
+ "button",
4958
+ {
4959
+ type: "button",
4960
+ className: "ps-msr-section-card",
4961
+ onClick: () => onSelectSection(name),
4962
+ children: [
4963
+ /* @__PURE__ */ jsx("span", { className: "ps-msr-section-name", children: cleanName.toUpperCase() }),
4964
+ /* @__PURE__ */ jsx("span", { className: "ps-msr-section-size", children: sizeValue })
4965
+ ]
4966
+ },
4967
+ name
4968
+ );
4969
+ }) })
4970
+ ] }),
4784
4971
  /* @__PURE__ */ jsx("div", { className: "ps-msr-bottom", children: /* @__PURE__ */ jsxs(
4785
4972
  "button",
4786
4973
  {
@@ -5006,7 +5193,10 @@ function SectionDetailView({
5006
5193
  unitLbl,
5007
5194
  lengthEntry,
5008
5195
  onBack,
5009
- t
5196
+ t,
5197
+ productImage,
5198
+ productTitle,
5199
+ isMobile: isMobileProp
5010
5200
  }) {
5011
5201
  const recSize = sectionResult?.recommendedSize || "";
5012
5202
  const [selectedSize, setSelectedSize] = useState(null);
@@ -5163,6 +5353,85 @@ function SectionDetailView({
5163
5353
  const backendAvailableLengths = secAny?.availableLengths || [];
5164
5354
  const finalDisplayLength = selectedLength || backendLength;
5165
5355
  const finalAllSizes = backendAvailableSizes.length > 0 ? backendAvailableSizes : allSizes;
5356
+ if (isMobileProp) {
5357
+ const cleanSectionName = sectionName.replace(/\s*[—–-]\s*.*/g, "");
5358
+ const fitBadgeLabel = (fit) => fit === "good" ? t("PERFECT FIT") : fit.includes("a-bit-tight") ? t("SLIGHTLY TIGHT") : fit.includes("a-bit-loose") ? t("SLIGHTLY LOOSE") : fit.includes("tight") ? t("TIGHT") : fit.includes("loose") ? t("LOOSE") : t("FIT");
5359
+ return /* @__PURE__ */ jsxs("div", { className: "ps-msd-root", children: [
5360
+ /* @__PURE__ */ jsxs("button", { type: "button", className: "ps-msd-back", onClick: onBack, children: [
5361
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-back-arrow", children: "←" }),
5362
+ " ",
5363
+ t("Back to sections")
5364
+ ] }),
5365
+ productImage && /* @__PURE__ */ jsx("div", { className: "ps-msd-image", children: /* @__PURE__ */ jsx("img", { src: productImage, alt: productTitle || "", className: "ps-msd-image-img" }) }),
5366
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-header", children: [
5367
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-section-name", children: cleanSectionName.toUpperCase() }),
5368
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-size-row", children: [
5369
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-size-num", children: backendSize }),
5370
+ finalDisplayLength && /* @__PURE__ */ jsx("span", { className: "ps-msd-size-len", children: finalDisplayLength })
5371
+ ] }),
5372
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-match", children: [
5373
+ /* @__PURE__ */ jsxs("span", { className: "ps-msd-match-pct", children: [
5374
+ matchPercent,
5375
+ "%"
5376
+ ] }),
5377
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-match-label", children: t("FIT MATCH") })
5378
+ ] })
5379
+ ] }),
5380
+ fitRows.length > 0 && /* @__PURE__ */ jsxs("div", { className: "ps-msd-blueprint", children: [
5381
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-blueprint-title", children: t("MEASUREMENT BLUEPRINT") }),
5382
+ /* @__PURE__ */ jsx("div", { className: "ps-msd-rows", children: fitRows.map((row, i) => {
5383
+ const fitClass = row.fit === "good" ? "ps-good" : row.fit.includes("tight") ? "ps-tight" : "ps-loose";
5384
+ return /* @__PURE__ */ jsxs("div", { className: "ps-msd-row", children: [
5385
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-row-info", children: [
5386
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-row-label", children: row.area.toUpperCase() }),
5387
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-row-values", children: [
5388
+ /* @__PURE__ */ jsxs("span", { className: "ps-msd-row-you", children: [
5389
+ row.userNum,
5390
+ " ",
5391
+ unitLbl
5392
+ ] }),
5393
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-row-sep", children: "/" }),
5394
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-row-spec", children: row.chartLabel })
5395
+ ] })
5396
+ ] }),
5397
+ /* @__PURE__ */ jsx("span", { className: `ps-msd-row-badge ${fitClass}`, children: row.isLength ? lengthFitLabelFn(row.fit, t) : fitBadgeLabel(row.fit) })
5398
+ ] }, i);
5399
+ }) })
5400
+ ] }),
5401
+ finalAllSizes.length > 1 && /* @__PURE__ */ jsxs("div", { className: "ps-msd-sizes", children: [
5402
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-sizes-label", children: t("TRY ANOTHER SIZE") }),
5403
+ /* @__PURE__ */ jsx("div", { className: "ps-msd-sizes-pills", children: finalAllSizes.map((s) => {
5404
+ const isActive = s === displaySize;
5405
+ return /* @__PURE__ */ jsx(
5406
+ "button",
5407
+ {
5408
+ type: "button",
5409
+ className: `ps-msd-size-pill${isActive ? " ps-active" : ""}`,
5410
+ onClick: () => setSelectedSize(s === recSize ? null : s),
5411
+ children: s
5412
+ },
5413
+ s
5414
+ );
5415
+ }) })
5416
+ ] }),
5417
+ (backendAvailableLengths.length > 0 || lengthSizes.length > 0) && /* @__PURE__ */ jsxs("div", { className: "ps-msd-sizes", children: [
5418
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-sizes-label", children: t("LENGTH ADJUSTMENT") }),
5419
+ /* @__PURE__ */ jsx("div", { className: "ps-msd-sizes-pills", children: (backendAvailableLengths.length > 0 ? backendAvailableLengths : lengthSizes).map((s) => {
5420
+ const isActive = finalDisplayLength === s;
5421
+ return /* @__PURE__ */ jsx(
5422
+ "button",
5423
+ {
5424
+ type: "button",
5425
+ className: `ps-msd-size-pill${isActive ? " ps-active" : ""}`,
5426
+ onClick: () => setSelectedLength(s === backendLength ? null : s),
5427
+ children: s
5428
+ },
5429
+ s
5430
+ );
5431
+ }) })
5432
+ ] })
5433
+ ] });
5434
+ }
5166
5435
  return /* @__PURE__ */ jsxs("div", { className: "ps-tryon-sec-detail", style: { padding: "1.5vw", display: "flex", flexDirection: "column", height: "100%", background: "#F8F9FA" }, children: [
5167
5436
  /* @__PURE__ */ jsxs("div", { style: { flex: 1 }, children: [
5168
5437
  /* @__PURE__ */ jsx("span", { style: { fontSize: "0.75vw", fontWeight: 700, color: "var(--ps-accent)", textTransform: "uppercase", letterSpacing: "0.12em" }, children: isRecommended ? t("Recommended Size") : t("Not Recommended") }),
@@ -5581,10 +5850,28 @@ function SizeResultView({
5581
5850
  ] }),
5582
5851
  (allDone || sizingResult && !isSnapProcessing) && /* @__PURE__ */ jsxs(Fragment, { children: [
5583
5852
  isMultiSection ? activeSection ? (
5584
- /* ── Detail view for a single section — v2 layout ── */
5853
+ /* ── Detail view for a single section ── */
5585
5854
  (() => {
5586
5855
  const entry = sectionEntries.find((e) => e.name === activeSection);
5587
5856
  if (!entry) return null;
5857
+ if (isMobile) {
5858
+ return /* @__PURE__ */ jsx(
5859
+ SectionDetailView,
5860
+ {
5861
+ sectionName: entry.name,
5862
+ section: entry.section,
5863
+ sectionResult: entry.secResult,
5864
+ userMeasurements: entry.userMeasurements,
5865
+ unitLbl,
5866
+ lengthEntry: findLengthForSection(entry.name, lengthEntries),
5867
+ onBack: () => setActiveSection(null),
5868
+ productImage: resultImageUrl || productImage,
5869
+ productTitle,
5870
+ isMobile: true,
5871
+ t
5872
+ }
5873
+ );
5874
+ }
5588
5875
  return /* @__PURE__ */ jsxs("div", { className: "ps-tryon-v2", children: [
5589
5876
  /* @__PURE__ */ jsx("div", { className: "ps-tryon-v2-bg", children: /* @__PURE__ */ jsx("img", { src: resultImageUrl || productImage, alt: productTitle, className: "ps-tryon-v2-bg-img" }) }),
5590
5877
  /* @__PURE__ */ jsx("div", { className: "ps-tryon-v2-panel", children: /* @__PURE__ */ jsx(