@primestyleai/tryon 5.10.189 → 5.10.191

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.
@@ -275,7 +275,7 @@ var scheduler_production_min = {};
275
275
  * This source code is licensed under the MIT license found in the
276
276
  * LICENSE file in the root directory of this source tree.
277
277
  */
278
- (function(exports) {
278
+ (function(exports$1) {
279
279
  function f2(a, b) {
280
280
  var c = a.length;
281
281
  a.push(b);
@@ -308,12 +308,12 @@ var scheduler_production_min = {};
308
308
  }
309
309
  if ("object" === typeof performance && "function" === typeof performance.now) {
310
310
  var l2 = performance;
311
- exports.unstable_now = function() {
311
+ exports$1.unstable_now = function() {
312
312
  return l2.now();
313
313
  };
314
314
  } else {
315
315
  var p2 = Date, q2 = p2.now();
316
- exports.unstable_now = function() {
316
+ exports$1.unstable_now = function() {
317
317
  return p2.now() - q2;
318
318
  };
319
319
  }
@@ -349,7 +349,7 @@ var scheduler_production_min = {};
349
349
  v2.callback = null;
350
350
  y2 = v2.priorityLevel;
351
351
  var e = d(v2.expirationTime <= b);
352
- b = exports.unstable_now();
352
+ b = exports$1.unstable_now();
353
353
  "function" === typeof e ? v2.callback = e : v2 === h(r2) && k2(r2);
354
354
  G2(b);
355
355
  } else k2(r2);
@@ -368,11 +368,11 @@ var scheduler_production_min = {};
368
368
  }
369
369
  var N2 = false, O2 = null, L2 = -1, P2 = 5, Q2 = -1;
370
370
  function M2() {
371
- return exports.unstable_now() - Q2 < P2 ? false : true;
371
+ return exports$1.unstable_now() - Q2 < P2 ? false : true;
372
372
  }
373
373
  function R2() {
374
374
  if (null !== O2) {
375
- var a = exports.unstable_now();
375
+ var a = exports$1.unstable_now();
376
376
  Q2 = a;
377
377
  var b = true;
378
378
  try {
@@ -401,31 +401,31 @@ var scheduler_production_min = {};
401
401
  }
402
402
  function K2(a, b) {
403
403
  L2 = D2(function() {
404
- a(exports.unstable_now());
404
+ a(exports$1.unstable_now());
405
405
  }, b);
406
406
  }
407
- exports.unstable_IdlePriority = 5;
408
- exports.unstable_ImmediatePriority = 1;
409
- exports.unstable_LowPriority = 4;
410
- exports.unstable_NormalPriority = 3;
411
- exports.unstable_Profiling = null;
412
- exports.unstable_UserBlockingPriority = 2;
413
- exports.unstable_cancelCallback = function(a) {
407
+ exports$1.unstable_IdlePriority = 5;
408
+ exports$1.unstable_ImmediatePriority = 1;
409
+ exports$1.unstable_LowPriority = 4;
410
+ exports$1.unstable_NormalPriority = 3;
411
+ exports$1.unstable_Profiling = null;
412
+ exports$1.unstable_UserBlockingPriority = 2;
413
+ exports$1.unstable_cancelCallback = function(a) {
414
414
  a.callback = null;
415
415
  };
416
- exports.unstable_continueExecution = function() {
416
+ exports$1.unstable_continueExecution = function() {
417
417
  A2 || z2 || (A2 = true, I2(J2));
418
418
  };
419
- exports.unstable_forceFrameRate = function(a) {
419
+ exports$1.unstable_forceFrameRate = function(a) {
420
420
  0 > a || 125 < a ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : P2 = 0 < a ? Math.floor(1e3 / a) : 5;
421
421
  };
422
- exports.unstable_getCurrentPriorityLevel = function() {
422
+ exports$1.unstable_getCurrentPriorityLevel = function() {
423
423
  return y2;
424
424
  };
425
- exports.unstable_getFirstCallbackNode = function() {
425
+ exports$1.unstable_getFirstCallbackNode = function() {
426
426
  return h(r2);
427
427
  };
428
- exports.unstable_next = function(a) {
428
+ exports$1.unstable_next = function(a) {
429
429
  switch (y2) {
430
430
  case 1:
431
431
  case 2:
@@ -443,11 +443,11 @@ var scheduler_production_min = {};
443
443
  y2 = c;
444
444
  }
445
445
  };
446
- exports.unstable_pauseExecution = function() {
446
+ exports$1.unstable_pauseExecution = function() {
447
447
  };
448
- exports.unstable_requestPaint = function() {
448
+ exports$1.unstable_requestPaint = function() {
449
449
  };
450
- exports.unstable_runWithPriority = function(a, b) {
450
+ exports$1.unstable_runWithPriority = function(a, b) {
451
451
  switch (a) {
452
452
  case 1:
453
453
  case 2:
@@ -466,8 +466,8 @@ var scheduler_production_min = {};
466
466
  y2 = c;
467
467
  }
468
468
  };
469
- exports.unstable_scheduleCallback = function(a, b, c) {
470
- var d = exports.unstable_now();
469
+ exports$1.unstable_scheduleCallback = function(a, b, c) {
470
+ var d = exports$1.unstable_now();
471
471
  "object" === typeof c && null !== c ? (c = c.delay, c = "number" === typeof c && 0 < c ? d + c : d) : c = d;
472
472
  switch (a) {
473
473
  case 1:
@@ -490,8 +490,8 @@ var scheduler_production_min = {};
490
490
  c > d ? (a.sortIndex = c, f2(t2, a), null === h(r2) && a === h(t2) && (B2 ? (E2(L2), L2 = -1) : B2 = true, K2(H2, c - d))) : (a.sortIndex = e, f2(r2, a), A2 || z2 || (A2 = true, I2(J2)));
491
491
  return a;
492
492
  };
493
- exports.unstable_shouldYield = M2;
494
- exports.unstable_wrapCallback = function(a) {
493
+ exports$1.unstable_shouldYield = M2;
494
+ exports$1.unstable_wrapCallback = function(a) {
495
495
  var b = y2;
496
496
  return function() {
497
497
  var c = y2;
@@ -10522,6 +10522,14 @@ function saveProfiles(profiles) {
10522
10522
  function getActiveProfileId() {
10523
10523
  return lsGet(ACTIVE_PROFILE_KEY, null);
10524
10524
  }
10525
+ function isActiveProfileExplicitlyCleared() {
10526
+ if (typeof window === "undefined") return false;
10527
+ try {
10528
+ return localStorage.getItem(LS_PREFIX + ACTIVE_PROFILE_KEY) === "null";
10529
+ } catch {
10530
+ return false;
10531
+ }
10532
+ }
10525
10533
  function setActiveProfileId(id2) {
10526
10534
  lsSet(ACTIVE_PROFILE_KEY, id2);
10527
10535
  emitStorageChange("active-profile");
@@ -11154,6 +11162,10 @@ async function recommendForProduct(input) {
11154
11162
  log("no signed-in profile session — returning null");
11155
11163
  return null;
11156
11164
  }
11165
+ if (!input.profile && isActiveProfileExplicitlyCleared()) {
11166
+ log("active profile explicitly cleared locally — returning null");
11167
+ return null;
11168
+ }
11157
11169
  let remoteProfiles = [];
11158
11170
  let activeProfileId = null;
11159
11171
  try {
@@ -12394,6 +12406,9 @@ const STYLES = `
12394
12406
  gap: 0.8vw; margin-bottom: 0.55vw;
12395
12407
  }
12396
12408
  .ps-tryon-v2-result-copy { min-width: 0; flex: 1 1 auto; }
12409
+ .ps-single-result-copy {
12410
+ margin: 0 0 clamp(24px, 1.8vw, 34px);
12411
+ }
12397
12412
  .ps-tryon-v2-profile-head {
12398
12413
  flex: 0 0 min(18vw, 48%);
12399
12414
  min-width: 15vw;
@@ -12718,11 +12733,16 @@ const STYLES = `
12718
12733
  }
12719
12734
  .ps-tryon-sr-card-v2.ps-full { flex: 1 1 100%; max-width: 100%; min-height: 5vw; padding: clamp(14px, 0.82vw, 18px); }
12720
12735
  .ps-tryon-sr-card-v2.ps-summary-card {
12721
- align-items: stretch;
12736
+ align-items: center;
12722
12737
  justify-content: center;
12723
- text-align: left;
12724
- min-height: clamp(112px, 7.4vw, 132px);
12725
- padding: clamp(18px, 1.12vw, 24px) clamp(20px, 1.3vw, 28px);
12738
+ text-align: center;
12739
+ min-height: clamp(154px, 10.4vw, 184px);
12740
+ padding: clamp(16px, 1vw, 22px) clamp(18px, 1.18vw, 26px);
12741
+ background: #FFFFFF;
12742
+ box-shadow: none;
12743
+ }
12744
+ .ps-tryon-sr-card-v2.ps-summary-card::after {
12745
+ display: none;
12726
12746
  }
12727
12747
  .ps-tryon-sr-card-v2:hover {
12728
12748
  border-color: var(--ps-accent);
@@ -12735,18 +12755,16 @@ const STYLES = `
12735
12755
  }
12736
12756
  .ps-summary-card-layout {
12737
12757
  width: 100%;
12738
- display: grid;
12739
- grid-template-columns: minmax(0, 1fr) auto;
12740
- grid-template-areas: "copy action";
12758
+ display: flex;
12759
+ flex-direction: column;
12760
+ justify-content: center;
12741
12761
  align-items: center;
12742
- column-gap: clamp(18px, 1.25vw, 28px);
12743
- row-gap: 0;
12762
+ gap: clamp(6px, 0.36vw, 10px);
12744
12763
  }
12745
12764
  .ps-summary-card-copy {
12746
- grid-area: copy;
12747
12765
  display: flex;
12748
12766
  flex-direction: column;
12749
- align-items: flex-start;
12767
+ align-items: center;
12750
12768
  justify-content: center;
12751
12769
  min-width: 0;
12752
12770
  gap: clamp(8px, 0.48vw, 12px);
@@ -12766,10 +12784,17 @@ const STYLES = `
12766
12784
  min-width: 0;
12767
12785
  }
12768
12786
  .ps-summary-card-layout .ps-tryon-sr-card-v2-open-pill {
12769
- grid-area: action;
12770
12787
  margin-top: 0;
12771
12788
  white-space: nowrap;
12772
12789
  }
12790
+ .ps-tryon-sr-card-outside-label {
12791
+ margin: 0 0 clamp(8px, 0.5vw, 11px);
12792
+ font-size: clamp(10px, 0.62vw, 12px);
12793
+ font-weight: 780;
12794
+ color: rgba(15,23,42,0.56);
12795
+ letter-spacing: 0.13em;
12796
+ text-transform: uppercase;
12797
+ }
12773
12798
  .ps-tryon-sr-card-v2-summary-title {
12774
12799
  font-size: clamp(11px, 0.66vw, 12px);
12775
12800
  font-weight: 760;
@@ -12780,7 +12805,7 @@ const STYLES = `
12780
12805
  margin-bottom: clamp(2px, 0.08vw, 4px);
12781
12806
  }
12782
12807
  .ps-summary-card-layout .ps-tryon-sr-card-v2-summary-title {
12783
- margin-bottom: 0;
12808
+ margin-bottom: clamp(1px, 0.08vw, 3px);
12784
12809
  white-space: nowrap;
12785
12810
  color: rgba(15,23,42,0.58);
12786
12811
  font-size: clamp(11px, 0.66vw, 12px);
@@ -12819,10 +12844,9 @@ const STYLES = `
12819
12844
  }
12820
12845
  .ps-tryon-sr-card-v2.ps-full .ps-tryon-sr-card-v2-value { font-size: clamp(30px, 2vw, 36px); }
12821
12846
  .ps-summary-card-layout .ps-tryon-sr-card-v2-value {
12822
- flex: 0 1 auto;
12823
- font-size: clamp(38px, 2.55vw, 48px);
12847
+ font-size: clamp(34px, 2.2vw, 42px);
12824
12848
  min-width: 0;
12825
- text-align: left;
12849
+ text-align: center;
12826
12850
  }
12827
12851
  /* Long combined labels ("MISSY 12 / Standard", "PLUS 16W / Extra Length")
12828
12852
  overflow the card at 2vw. Drop to ~1.3vw whenever the label is more
@@ -12852,7 +12876,7 @@ const STYLES = `
12852
12876
  }
12853
12877
  .ps-summary-card-layout .ps-tryon-sr-card-v2-rec-pill {
12854
12878
  align-self: center;
12855
- margin-top: 0;
12879
+ margin-top: clamp(1px, 0.1vw, 3px);
12856
12880
  white-space: nowrap;
12857
12881
  background: #fff;
12858
12882
  }
@@ -12907,27 +12931,22 @@ const STYLES = `
12907
12931
  }
12908
12932
  @media (max-width: 768px) {
12909
12933
  .ps-tryon-sr-card-v2.ps-summary-card {
12910
- min-height: 104px;
12934
+ min-height: 108px;
12911
12935
  padding: 16px;
12912
12936
  }
12913
12937
  .ps-summary-card-layout {
12914
- grid-template-columns: minmax(0, 1fr);
12915
- grid-template-areas:
12916
- "copy"
12917
- "action";
12918
- row-gap: 12px;
12919
- align-items: stretch;
12938
+ gap: 8px;
12939
+ align-items: center;
12920
12940
  }
12921
12941
  .ps-summary-card-layout .ps-tryon-sr-card-v2-main {
12922
12942
  width: 100%;
12923
- justify-content: space-between;
12943
+ justify-content: center;
12924
12944
  gap: 12px;
12925
12945
  }
12926
12946
  .ps-summary-card-layout .ps-tryon-sr-card-v2-value {
12927
12947
  font-size: 34px;
12928
12948
  }
12929
12949
  .ps-summary-card-layout .ps-tryon-sr-card-v2-open-pill {
12930
- width: 100%;
12931
12950
  min-height: 38px;
12932
12951
  }
12933
12952
  }
@@ -13074,7 +13093,7 @@ const STYLES = `
13074
13093
  }
13075
13094
 
13076
13095
  /* ── Product photo strip (single-garment, below the size card) ──
13077
- Two thumbnails per row, evenly spaced, auto-advances. Lives at
13096
+ Three thumbnails per row, evenly spaced, auto-advances. Lives at
13078
13097
  the bottom of the right panel as decoration / entertainment. */
13079
13098
  .ps-tryon-photo-strip {
13080
13099
  margin-top: 0.65vw;
@@ -13093,12 +13112,16 @@ const STYLES = `
13093
13112
  }
13094
13113
  .ps-tryon-photo-strip-row {
13095
13114
  display: grid;
13096
- grid-template-columns: repeat(2, minmax(0, 1fr));
13115
+ grid-template-columns: repeat(3, minmax(0, 1fr));
13097
13116
  gap: 0.45vw;
13098
13117
  animation: ps-tryon-photo-strip-fade 0.5s ease;
13099
13118
  }
13100
13119
  .ps-tryon-photo-strip-row.ps-count-1 {
13101
- grid-template-columns: minmax(0, calc((100% - 0.45vw) / 2));
13120
+ grid-template-columns: minmax(0, calc((100% - 0.9vw) / 3));
13121
+ justify-content: center;
13122
+ }
13123
+ .ps-tryon-photo-strip-row.ps-count-2 {
13124
+ grid-template-columns: repeat(2, minmax(0, calc((100% - 0.9vw) / 3)));
13102
13125
  justify-content: center;
13103
13126
  }
13104
13127
  .ps-tryon-photo-strip-cell {
@@ -13159,8 +13182,14 @@ const STYLES = `
13159
13182
  .ps-tryon-photo-strip-row {
13160
13183
  gap: 8px;
13161
13184
  }
13185
+ .ps-tryon-photo-strip-row {
13186
+ grid-template-columns: repeat(3, minmax(0, 1fr));
13187
+ }
13162
13188
  .ps-tryon-photo-strip-row.ps-count-1 {
13163
- grid-template-columns: minmax(0, calc((100% - 8px) / 2));
13189
+ grid-template-columns: minmax(0, calc((100% - 16px) / 3));
13190
+ }
13191
+ .ps-tryon-photo-strip-row.ps-count-2 {
13192
+ grid-template-columns: repeat(2, minmax(0, calc((100% - 16px) / 3)));
13164
13193
  }
13165
13194
  .ps-tryon-photo-strip-cell {
13166
13195
  aspect-ratio: 1 / 1; border-radius: 12px;
@@ -14121,6 +14150,22 @@ const STYLES = `
14121
14150
  border-top-color: var(--ps-accent); border-radius: 50%;
14122
14151
  animation: ps-spin 0.7s linear infinite; margin: 0 auto;
14123
14152
  }
14153
+ .ps-bp-profile-hydrating {
14154
+ min-height: min(52vh, 420px);
14155
+ display: flex;
14156
+ align-items: center;
14157
+ justify-content: center;
14158
+ gap: clamp(10px, 0.7vw, 14px);
14159
+ color: var(--ps-text-secondary);
14160
+ font-size: clamp(13px, 0.82vw, 15px);
14161
+ font-weight: 650;
14162
+ }
14163
+ .ps-bp-profile-hydrating .ps-tryon-size-loading-spinner {
14164
+ width: clamp(18px, 1.25vw, 22px);
14165
+ height: clamp(18px, 1.25vw, 22px);
14166
+ flex-shrink: 0;
14167
+ margin: 0;
14168
+ }
14124
14169
  @keyframes ps-spin { to { transform: rotate(360deg); } }
14125
14170
  .ps-tryon-sr-loading-pulse { animation: ps-loading-pulse 2s ease-in-out infinite; }
14126
14171
  @keyframes ps-loading-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } }
@@ -17052,10 +17097,10 @@ const STYLES = `
17052
17097
  display: flex;
17053
17098
  align-items: center;
17054
17099
  justify-content: space-between;
17055
- gap: clamp(8px, 0.65vw, 14px);
17100
+ gap: clamp(10px, 0.74vw, 16px);
17056
17101
  width: min(100%, 500px);
17057
- margin: 0 auto clamp(7px, 0.55vw, 12px);
17058
- padding: clamp(7px, 0.55vw, 11px) clamp(10px, 0.8vw, 16px);
17102
+ margin: 0 auto clamp(8px, 0.62vw, 13px);
17103
+ padding: clamp(8px, 0.62vw, 12px) clamp(12px, 0.9vw, 18px);
17059
17104
  border: 1px solid rgba(33, 84, 239, 0.18);
17060
17105
  border-radius: clamp(8px, 0.7vw, 12px);
17061
17106
  background: linear-gradient(135deg, rgba(33, 84, 239, 0.08), rgba(255, 255, 255, 0.96));
@@ -17068,14 +17113,14 @@ const STYLES = `
17068
17113
  min-width: 0;
17069
17114
  }
17070
17115
  .ps-bp-profile-card-eyebrow {
17071
- font-size: clamp(8px, 0.55vw, 10px);
17116
+ font-size: clamp(9px, 0.58vw, 11px);
17072
17117
  font-weight: 800;
17073
17118
  letter-spacing: 0.14em;
17074
17119
  text-transform: uppercase;
17075
17120
  color: var(--ps-accent);
17076
17121
  }
17077
17122
  .ps-bp-profile-card-copy strong {
17078
- font-size: clamp(12px, 0.85vw, 15px);
17123
+ font-size: clamp(13px, 0.9vw, 16px);
17079
17124
  line-height: 1.1;
17080
17125
  color: var(--ps-text-primary);
17081
17126
  overflow: hidden;
@@ -17083,7 +17128,7 @@ const STYLES = `
17083
17128
  white-space: nowrap;
17084
17129
  }
17085
17130
  .ps-bp-profile-card-copy span:last-child {
17086
- font-size: clamp(9px, 0.58vw, 11px);
17131
+ font-size: clamp(10px, 0.62vw, 12px);
17087
17132
  line-height: 1.25;
17088
17133
  color: var(--ps-text-secondary);
17089
17134
  }
@@ -17093,9 +17138,9 @@ const STYLES = `
17093
17138
  background: #FFFFFF;
17094
17139
  color: var(--ps-accent);
17095
17140
  border-radius: 999px;
17096
- padding: clamp(6px, 0.45vw, 8px) clamp(9px, 0.7vw, 14px);
17141
+ padding: clamp(7px, 0.5vw, 9px) clamp(10px, 0.76vw, 15px);
17097
17142
  font-family: inherit;
17098
- font-size: clamp(9px, 0.62vw, 11px);
17143
+ font-size: clamp(10px, 0.66vw, 12px);
17099
17144
  font-weight: 800;
17100
17145
  letter-spacing: 0.08em;
17101
17146
  text-transform: uppercase;
@@ -17108,8 +17153,8 @@ const STYLES = `
17108
17153
  }
17109
17154
  .ps-bp-profile-card-action:active { transform: scale(0.98); }
17110
17155
  .ps-bp-profile-card-compact {
17111
- margin: 0 auto clamp(3px, 0.32vw, 6px);
17112
- padding: clamp(4px, 0.34vw, 6px) clamp(8px, 0.62vw, 12px);
17156
+ margin: 0 auto clamp(4px, 0.36vw, 7px);
17157
+ padding: clamp(5px, 0.4vw, 8px) clamp(10px, 0.72vw, 14px);
17113
17158
  border-radius: clamp(7px, 0.55vw, 10px);
17114
17159
  box-shadow: none;
17115
17160
  }
@@ -17121,24 +17166,24 @@ const STYLES = `
17121
17166
  }
17122
17167
  .ps-bp-profile-card-compact .ps-bp-profile-card-eyebrow {
17123
17168
  grid-column: 1 / -1;
17124
- font-size: clamp(7px, 0.46vw, 9px);
17169
+ font-size: clamp(8px, 0.5vw, 10px);
17125
17170
  letter-spacing: 0.16em;
17126
17171
  line-height: 1;
17127
17172
  }
17128
17173
  .ps-bp-profile-card-compact .ps-bp-profile-card-copy strong {
17129
- font-size: clamp(11px, 0.72vw, 13px);
17174
+ font-size: clamp(12px, 0.78vw, 14px);
17130
17175
  line-height: 1.05;
17131
17176
  }
17132
17177
  .ps-bp-profile-card-compact .ps-bp-profile-card-copy span:last-child {
17133
- font-size: clamp(8px, 0.5vw, 10px);
17178
+ font-size: clamp(9px, 0.54vw, 11px);
17134
17179
  line-height: 1.1;
17135
17180
  overflow: hidden;
17136
17181
  text-overflow: ellipsis;
17137
17182
  white-space: nowrap;
17138
17183
  }
17139
17184
  .ps-bp-profile-card-compact .ps-bp-profile-card-action {
17140
- padding: clamp(4px, 0.3vw, 6px) clamp(7px, 0.55vw, 11px);
17141
- font-size: clamp(8px, 0.52vw, 10px);
17185
+ padding: clamp(5px, 0.36vw, 7px) clamp(8px, 0.62vw, 12px);
17186
+ font-size: clamp(9px, 0.56vw, 11px);
17142
17187
  }
17143
17188
 
17144
17189
  /* Typography */
@@ -21806,6 +21851,999 @@ const STYLES = `
21806
21851
  .ps-photo-zone-rejection-cta { font-size: 13px; padding: 10px 16px; border-radius: 8px; }
21807
21852
  .ps-photo-zone-error { font-size: 11px; padding: 8px 10px; border-radius: 8px; }
21808
21853
  }
21854
+
21855
+ /* ════════════════════════════════════════════════════════════════
21856
+ Mobile stability pass.
21857
+ Keep this block last: older mobile patches above mix vw/px/svh and
21858
+ compete with each other. These rules define the final phone layout
21859
+ contract for every SDK modal screen.
21860
+ ════════════════════════════════════════════════════════════════ */
21861
+ @media (max-width: 768px) {
21862
+ .ps-tryon-overlay {
21863
+ --ps-mobile-x: clamp(14px, 4vw, 18px);
21864
+ --ps-mobile-y: clamp(10px, 3vw, 14px);
21865
+ --ps-mobile-footer-gap: 72px;
21866
+ padding: 0 !important;
21867
+ overflow: hidden !important;
21868
+ align-items: stretch !important;
21869
+ justify-content: stretch !important;
21870
+ }
21871
+
21872
+ .ps-tryon-modal,
21873
+ .ps-tryon-modal-wide {
21874
+ width: 100dvw !important;
21875
+ max-width: 100dvw !important;
21876
+ height: 100svh !important;
21877
+ min-height: 100svh !important;
21878
+ max-height: 100svh !important;
21879
+ border-radius: 0 !important;
21880
+ display: flex !important;
21881
+ flex-direction: column !important;
21882
+ overflow: hidden !important;
21883
+ box-shadow: none !important;
21884
+ padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left) !important;
21885
+ background: var(--ps-bg-primary) !important;
21886
+ }
21887
+
21888
+ .ps-tryon-header {
21889
+ min-height: 48px !important;
21890
+ padding: 8px var(--ps-mobile-x) !important;
21891
+ border-radius: 0 !important;
21892
+ flex: 0 0 auto !important;
21893
+ gap: 8px !important;
21894
+ }
21895
+ .ps-tryon-powered-by {
21896
+ min-width: 0 !important;
21897
+ overflow: hidden !important;
21898
+ text-overflow: ellipsis !important;
21899
+ }
21900
+ .ps-tryon-close,
21901
+ .ps-tryon-header-mobile-menu-btn,
21902
+ .ps-tryon-header-icon {
21903
+ width: 36px !important;
21904
+ height: 36px !important;
21905
+ min-width: 36px !important;
21906
+ min-height: 36px !important;
21907
+ }
21908
+ .ps-tryon-close svg,
21909
+ .ps-tryon-header-mobile-menu-btn svg,
21910
+ .ps-tryon-header-icon svg {
21911
+ width: 18px !important;
21912
+ height: 18px !important;
21913
+ }
21914
+
21915
+ .ps-tryon-body {
21916
+ flex: 1 1 auto !important;
21917
+ min-height: 0 !important;
21918
+ height: auto !important;
21919
+ padding: var(--ps-mobile-y) var(--ps-mobile-x) 0 !important;
21920
+ overflow: hidden !important;
21921
+ display: flex !important;
21922
+ flex-direction: column !important;
21923
+ background: var(--ps-bg-primary) !important;
21924
+ }
21925
+ .ps-tryon-body > .ps-tryon-back-btn {
21926
+ flex: 0 0 auto !important;
21927
+ margin: 0 0 8px !important;
21928
+ min-height: 34px !important;
21929
+ font-size: 13px !important;
21930
+ }
21931
+ .ps-tryon-view-enter {
21932
+ flex: 1 1 auto !important;
21933
+ min-height: 0 !important;
21934
+ width: 100% !important;
21935
+ overflow: hidden !important;
21936
+ display: flex !important;
21937
+ flex-direction: column !important;
21938
+ }
21939
+ .ps-tryon-view-enter > * {
21940
+ min-width: 0 !important;
21941
+ }
21942
+
21943
+ /* Shared mobile screen primitives */
21944
+ .ps-bp-wrapper,
21945
+ .ps-bp-root,
21946
+ .ps-bp-layout,
21947
+ .ps-bpm-root,
21948
+ .ps-pm-root,
21949
+ .ps-tryon-sr,
21950
+ .ps-msr-root,
21951
+ .ps-msd-root,
21952
+ .ps-msp-root,
21953
+ .ps-cpw-root,
21954
+ .ps-pmv-root,
21955
+ .ps-profile-auth,
21956
+ .ps-acc-mobile-wrap,
21957
+ .ps-acc-mobile-photo,
21958
+ .ps-acc-mobile-details {
21959
+ flex: 1 1 auto !important;
21960
+ min-height: 0 !important;
21961
+ width: 100% !important;
21962
+ max-width: 100% !important;
21963
+ }
21964
+ .ps-bp-wrapper,
21965
+ .ps-bp-root,
21966
+ .ps-bpm-root,
21967
+ .ps-pm-root,
21968
+ .ps-tryon-sr,
21969
+ .ps-msr-root,
21970
+ .ps-msd-root,
21971
+ .ps-msp-root,
21972
+ .ps-cpw-root,
21973
+ .ps-profile-auth {
21974
+ display: flex !important;
21975
+ flex-direction: column !important;
21976
+ overflow: hidden !important;
21977
+ }
21978
+
21979
+ /* Body details / manual flow */
21980
+ .ps-bp-layout {
21981
+ height: 100% !important;
21982
+ overflow: hidden !important;
21983
+ gap: 0 !important;
21984
+ }
21985
+ .ps-bp-root {
21986
+ padding: 0 !important;
21987
+ gap: 10px !important;
21988
+ justify-content: stretch !important;
21989
+ max-height: none !important;
21990
+ }
21991
+ .ps-bpm-root {
21992
+ padding: 0 !important;
21993
+ gap: 10px !important;
21994
+ }
21995
+ .ps-bpm-header {
21996
+ flex: 0 0 auto !important;
21997
+ margin: 0 !important;
21998
+ text-align: center !important;
21999
+ }
22000
+ .ps-bpm-title,
22001
+ .ps-bp-scan-details-title {
22002
+ font-size: 20px !important;
22003
+ line-height: 1.18 !important;
22004
+ letter-spacing: 0 !important;
22005
+ }
22006
+ .ps-bpm-subtitle,
22007
+ .ps-bp-scan-details-sub {
22008
+ display: block !important;
22009
+ margin-top: 6px !important;
22010
+ font-size: 12px !important;
22011
+ line-height: 1.4 !important;
22012
+ color: var(--ps-text-muted) !important;
22013
+ }
22014
+ .ps-bpm-toggle,
22015
+ .ps-bp-system-toggle,
22016
+ .ps-accm-toggle {
22017
+ flex: 0 0 auto !important;
22018
+ margin: 8px auto 10px !important;
22019
+ gap: 26px !important;
22020
+ }
22021
+ .ps-bpm-toggle-btn,
22022
+ .ps-bp-system-btn {
22023
+ font-size: 13px !important;
22024
+ min-height: 30px !important;
22025
+ padding: 4px 0 !important;
22026
+ }
22027
+ .ps-bpm-fields,
22028
+ .ps-accm-fields,
22029
+ .ps-bp-inline-fields {
22030
+ flex: 1 1 auto !important;
22031
+ min-height: 0 !important;
22032
+ overflow-y: auto !important;
22033
+ -webkit-overflow-scrolling: touch !important;
22034
+ padding-bottom: 8px !important;
22035
+ }
22036
+ .ps-bpm-row,
22037
+ .ps-bp-inline-row,
22038
+ .ps-accm-row {
22039
+ padding: 12px 0 !important;
22040
+ gap: 12px !important;
22041
+ }
22042
+ .ps-bpm-label,
22043
+ .ps-bp-inline-label,
22044
+ .ps-accm-label {
22045
+ font-size: 11px !important;
22046
+ letter-spacing: 0.12em !important;
22047
+ line-height: 1.25 !important;
22048
+ }
22049
+ .ps-bpm-value-display,
22050
+ .ps-bp-inline-input,
22051
+ .ps-accm-input {
22052
+ font-size: 19px !important;
22053
+ line-height: 1.2 !important;
22054
+ }
22055
+ .ps-bp-profile-card {
22056
+ flex: 0 0 auto !important;
22057
+ padding: 10px 12px !important;
22058
+ min-height: 0 !important;
22059
+ border-radius: 12px !important;
22060
+ gap: 10px !important;
22061
+ align-items: center !important;
22062
+ }
22063
+ .ps-bp-profile-card-copy {
22064
+ gap: 2px !important;
22065
+ min-width: 0 !important;
22066
+ }
22067
+ .ps-bp-profile-card-eyebrow {
22068
+ font-size: 10px !important;
22069
+ letter-spacing: 0.12em !important;
22070
+ }
22071
+ .ps-bp-profile-card-copy strong {
22072
+ font-size: 15px !important;
22073
+ line-height: 1.15 !important;
22074
+ }
22075
+ .ps-bp-profile-card-copy span:last-child {
22076
+ font-size: 11.5px !important;
22077
+ line-height: 1.3 !important;
22078
+ }
22079
+ .ps-bp-profile-card-action {
22080
+ min-height: 34px !important;
22081
+ padding: 0 12px !important;
22082
+ border-radius: 999px !important;
22083
+ font-size: 11px !important;
22084
+ white-space: nowrap !important;
22085
+ }
22086
+
22087
+ .ps-bpm-spacer {
22088
+ flex: 1 1 auto !important;
22089
+ min-height: 6px !important;
22090
+ }
22091
+ .ps-bpm-bottom,
22092
+ .ps-msr-bottom,
22093
+ .ps-msd-actions,
22094
+ .ps-cpw-footer,
22095
+ .ps-pmv-actions {
22096
+ flex: 0 0 auto !important;
22097
+ margin-left: calc(-1 * var(--ps-mobile-x)) !important;
22098
+ margin-right: calc(-1 * var(--ps-mobile-x)) !important;
22099
+ padding: 10px var(--ps-mobile-x) calc(10px + env(safe-area-inset-bottom)) !important;
22100
+ border-top: 1px solid var(--ps-border-subtle) !important;
22101
+ background: rgba(255,255,255,0.98) !important;
22102
+ box-shadow: 0 -14px 30px -28px rgba(17,24,39,0.35) !important;
22103
+ backdrop-filter: blur(10px) !important;
22104
+ -webkit-backdrop-filter: blur(10px) !important;
22105
+ z-index: 8 !important;
22106
+ }
22107
+ .ps-bpm-next-btn,
22108
+ .ps-pm-primary-btn,
22109
+ .ps-msr-tryon-cta,
22110
+ .ps-msd-primary-cta,
22111
+ .ps-cpw-next-btn,
22112
+ .ps-pmv-btn-primary,
22113
+ .ps-tryon-v2-cta {
22114
+ min-height: 42px !important;
22115
+ border-radius: 10px !important;
22116
+ font-size: 12px !important;
22117
+ line-height: 1.1 !important;
22118
+ letter-spacing: 0.08em !important;
22119
+ padding: 0 14px !important;
22120
+ white-space: nowrap !important;
22121
+ }
22122
+ .ps-bpm-bottom-tabs {
22123
+ min-height: 38px !important;
22124
+ margin-left: calc(-1 * var(--ps-mobile-x)) !important;
22125
+ margin-right: calc(-1 * var(--ps-mobile-x)) !important;
22126
+ }
22127
+ .ps-bpm-bottom-tab {
22128
+ min-height: 38px !important;
22129
+ font-size: 10px !important;
22130
+ letter-spacing: 0.12em !important;
22131
+ }
22132
+
22133
+ /* AI scan / photo flow */
22134
+ .ps-bp-scan-progress {
22135
+ flex: 0 0 auto !important;
22136
+ padding: 6px 4px 0 !important;
22137
+ margin: 0 0 10px !important;
22138
+ gap: 6px !important;
22139
+ }
22140
+ .ps-bp-scan-progress-track {
22141
+ gap: 9px !important;
22142
+ max-width: calc(100% - 48px) !important;
22143
+ }
22144
+ .ps-bp-scan-progress-label {
22145
+ font-size: 10.5px !important;
22146
+ letter-spacing: 0.08em !important;
22147
+ }
22148
+ .ps-bp-scan-progress-line {
22149
+ flex-basis: 28px !important;
22150
+ }
22151
+ .ps-bp-scan-details-center {
22152
+ flex: 1 1 auto !important;
22153
+ min-height: 0 !important;
22154
+ justify-content: flex-start !important;
22155
+ overflow-y: auto !important;
22156
+ padding: 6px 0 10px !important;
22157
+ gap: 10px !important;
22158
+ }
22159
+ .ps-bp-scan-details-center:not(.ps-shoe-scan-details) .ps-bp-system-toggle {
22160
+ margin-top: 14px !important;
22161
+ margin-bottom: 8px !important;
22162
+ }
22163
+ .ps-pm-root {
22164
+ padding: 0 !important;
22165
+ gap: 10px !important;
22166
+ }
22167
+ .ps-pm-header {
22168
+ flex: 0 0 auto !important;
22169
+ margin: 0 !important;
22170
+ }
22171
+ .ps-pm-title {
22172
+ font-size: 18px !important;
22173
+ line-height: 1.2 !important;
22174
+ margin: 0 0 4px !important;
22175
+ }
22176
+ .ps-pm-subtitle {
22177
+ font-size: 12px !important;
22178
+ line-height: 1.4 !important;
22179
+ margin: 0 !important;
22180
+ }
22181
+ .ps-pm-preview {
22182
+ flex: 1 1 auto !important;
22183
+ min-height: 240px !important;
22184
+ max-height: none !important;
22185
+ height: auto !important;
22186
+ border-radius: 14px !important;
22187
+ }
22188
+ .ps-bp-scan-progress ~ .ps-pm-root .ps-pm-preview.ps-pm-preview-tall {
22189
+ flex: 1 1 auto !important;
22190
+ min-height: min(54svh, 330px) !important;
22191
+ height: auto !important;
22192
+ }
22193
+ .ps-pm-preview-img,
22194
+ .ps-photo-zone-img,
22195
+ .ps-cpw-photo-preview-img,
22196
+ .ps-cpw-photo-frame-img {
22197
+ object-fit: contain !important;
22198
+ object-position: center center !important;
22199
+ }
22200
+ .ps-pm-age-chip {
22201
+ flex: 0 0 auto !important;
22202
+ margin: 8px 0 0 !important;
22203
+ padding: 9px 11px !important;
22204
+ }
22205
+ .ps-pm-age-chip-q {
22206
+ font-size: 12px !important;
22207
+ }
22208
+ .ps-pm-age-chip-btn {
22209
+ min-height: 30px !important;
22210
+ padding: 0 13px !important;
22211
+ }
22212
+ .ps-pm-checklist,
22213
+ .ps-pm-legal-notice,
22214
+ .ps-pm-dodonts-grid,
22215
+ .ps-pm-dodonts-tip {
22216
+ flex: 0 0 auto !important;
22217
+ }
22218
+ .ps-bp-photo-help {
22219
+ max-height: 82svh !important;
22220
+ overflow-y: auto !important;
22221
+ }
22222
+
22223
+ /* Size result / try-on result mobile */
22224
+ .ps-tryon-sr {
22225
+ min-height: 0 !important;
22226
+ }
22227
+ .ps-msr-root,
22228
+ .ps-msd-root {
22229
+ margin: 0 calc(-1 * var(--ps-mobile-x)) !important;
22230
+ }
22231
+ .ps-msr-scroll,
22232
+ .ps-msd-scroll,
22233
+ .ps-msp-scroll,
22234
+ .ps-cpw-body,
22235
+ .ps-pmv-root {
22236
+ flex: 1 1 auto !important;
22237
+ min-height: 0 !important;
22238
+ overflow-y: auto !important;
22239
+ overflow-x: hidden !important;
22240
+ -webkit-overflow-scrolling: touch !important;
22241
+ }
22242
+ .ps-msr-scroll,
22243
+ .ps-msd-scroll {
22244
+ padding: 8px var(--ps-mobile-x) calc(92px + env(safe-area-inset-bottom)) !important;
22245
+ gap: 12px !important;
22246
+ }
22247
+ .ps-msr-eyebrow {
22248
+ font-size: 10px !important;
22249
+ margin: 0 !important;
22250
+ }
22251
+ .ps-msr-product {
22252
+ gap: 10px !important;
22253
+ }
22254
+ .ps-msr-product-img-wrap,
22255
+ .ps-msd-image {
22256
+ width: 100% !important;
22257
+ height: auto !important;
22258
+ min-height: 260px !important;
22259
+ max-height: 52svh !important;
22260
+ aspect-ratio: 3 / 4 !important;
22261
+ border-radius: 14px !important;
22262
+ }
22263
+ .ps-msr-product-img,
22264
+ .ps-msd-image-img {
22265
+ width: 100% !important;
22266
+ height: 100% !important;
22267
+ object-fit: contain !important;
22268
+ object-position: center center !important;
22269
+ }
22270
+ .ps-msr-product-name {
22271
+ font-size: 14px !important;
22272
+ line-height: 1.25 !important;
22273
+ }
22274
+ .ps-msr-sections {
22275
+ margin-top: 2px !important;
22276
+ }
22277
+ .ps-msr-section-card {
22278
+ min-height: 92px !important;
22279
+ padding: 13px 14px !important;
22280
+ gap: 6px !important;
22281
+ }
22282
+ .ps-msr-section-icon-lg {
22283
+ width: 42px !important;
22284
+ height: 42px !important;
22285
+ margin-bottom: 2px !important;
22286
+ }
22287
+ .ps-msr-section-size {
22288
+ font-size: 28px !important;
22289
+ }
22290
+ .ps-msr-bottom-row,
22291
+ .ps-tryon-v2-action-group,
22292
+ .ps-msd-result-action-group {
22293
+ display: grid !important;
22294
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
22295
+ gap: 8px !important;
22296
+ width: 100% !important;
22297
+ align-items: stretch !important;
22298
+ }
22299
+ .ps-tryon-v2-action-group-history {
22300
+ grid-template-columns: minmax(0, auto) !important;
22301
+ justify-content: end !important;
22302
+ }
22303
+ .ps-tryon-v2-action-group > .ps-tryon-v2-cta,
22304
+ .ps-msr-commerce-row .ps-tryon-v2-cta,
22305
+ .ps-msd-result-action-group .ps-tryon-v2-cta {
22306
+ width: 100% !important;
22307
+ min-width: 0 !important;
22308
+ flex: 1 1 auto !important;
22309
+ gap: 6px !important;
22310
+ letter-spacing: 0.07em !important;
22311
+ }
22312
+ .ps-tryon-v2-history-product-cta {
22313
+ width: auto !important;
22314
+ min-width: 0 !important;
22315
+ padding: 0 13px !important;
22316
+ }
22317
+ .ps-tryon-v2-add-bag-cta svg,
22318
+ .ps-tryon-v2-history-product-cta svg {
22319
+ width: 17px !important;
22320
+ height: 17px !important;
22321
+ }
22322
+ .ps-msr-media-actions {
22323
+ right: 8px !important;
22324
+ bottom: 8px !important;
22325
+ gap: 6px !important;
22326
+ }
22327
+ .ps-msr-feedback-slot {
22328
+ left: 8px !important;
22329
+ bottom: 8px !important;
22330
+ max-width: calc(100% - 16px) !important;
22331
+ }
22332
+
22333
+ /* Single-section detail */
22334
+ .ps-msd-topbar {
22335
+ flex: 0 0 auto !important;
22336
+ padding: 2px 0 4px !important;
22337
+ margin: 0 !important;
22338
+ }
22339
+ .ps-msd-card {
22340
+ padding: 16px !important;
22341
+ border-radius: 14px !important;
22342
+ gap: 9px !important;
22343
+ }
22344
+ .ps-msd-card-size-row {
22345
+ align-items: center !important;
22346
+ gap: 9px !important;
22347
+ flex-wrap: wrap !important;
22348
+ }
22349
+ .ps-msd-card-size {
22350
+ font-size: clamp(28px, 9vw, 38px) !important;
22351
+ line-height: 1 !important;
22352
+ overflow-wrap: anywhere !important;
22353
+ }
22354
+ .ps-msd-row {
22355
+ padding: 13px 0 !important;
22356
+ gap: 8px !important;
22357
+ }
22358
+ .ps-msd-row-cells {
22359
+ gap: 10px !important;
22360
+ }
22361
+ .ps-msd-cell-value {
22362
+ font-size: 17px !important;
22363
+ overflow-wrap: anywhere !important;
22364
+ }
22365
+ .ps-msd-sizes-pills {
22366
+ gap: 8px !important;
22367
+ }
22368
+ .ps-msd-size-pill {
22369
+ min-height: 36px !important;
22370
+ padding: 0 12px !important;
22371
+ border-radius: 999px !important;
22372
+ }
22373
+ .ps-msd-actions {
22374
+ position: static !important;
22375
+ margin: 12px 0 0 !important;
22376
+ padding: 10px 0 0 !important;
22377
+ border-top: 1px solid var(--ps-border-subtle) !important;
22378
+ box-shadow: none !important;
22379
+ background: transparent !important;
22380
+ backdrop-filter: none !important;
22381
+ -webkit-backdrop-filter: none !important;
22382
+ }
22383
+
22384
+ /* Product carousel: always compact, always square, never footer-sized. */
22385
+ .ps-tryon-photo-strip {
22386
+ flex: 0 0 auto !important;
22387
+ margin-top: 10px !important;
22388
+ gap: 7px !important;
22389
+ }
22390
+ .ps-tryon-photo-strip-head {
22391
+ min-height: 14px !important;
22392
+ }
22393
+ .ps-tryon-photo-strip-badge {
22394
+ font-size: 10px !important;
22395
+ letter-spacing: 0.12em !important;
22396
+ }
22397
+ .ps-tryon-photo-strip-row {
22398
+ display: grid !important;
22399
+ grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
22400
+ gap: 8px !important;
22401
+ }
22402
+ .ps-tryon-photo-strip-row.ps-count-1 {
22403
+ grid-template-columns: minmax(0, calc((100% - 16px) / 3)) !important;
22404
+ justify-content: center !important;
22405
+ }
22406
+ .ps-tryon-photo-strip-row.ps-count-2 {
22407
+ grid-template-columns: repeat(2, minmax(0, calc((100% - 16px) / 3))) !important;
22408
+ justify-content: center !important;
22409
+ }
22410
+ .ps-tryon-photo-strip-cell {
22411
+ aspect-ratio: 1 / 1 !important;
22412
+ max-height: 31vw !important;
22413
+ border-radius: 11px !important;
22414
+ }
22415
+ .ps-tryon-photo-strip-cell > img {
22416
+ object-fit: cover !important;
22417
+ object-position: center center !important;
22418
+ width: 100% !important;
22419
+ height: 100% !important;
22420
+ }
22421
+
22422
+ /* Profile management and auth */
22423
+ .ps-msp-scroll {
22424
+ padding: 0 !important;
22425
+ }
22426
+ .ps-msp-home {
22427
+ height: auto !important;
22428
+ min-height: 100% !important;
22429
+ gap: 12px !important;
22430
+ }
22431
+ .ps-msp-welcome-panel {
22432
+ flex: 0 0 auto !important;
22433
+ flex-direction: column !important;
22434
+ gap: 10px !important;
22435
+ padding: 4px 0 12px !important;
22436
+ }
22437
+ .ps-msp-kicker {
22438
+ font-size: 10px !important;
22439
+ letter-spacing: 0.12em !important;
22440
+ }
22441
+ .ps-msp-title {
22442
+ font-size: 22px !important;
22443
+ line-height: 1.15 !important;
22444
+ }
22445
+ .ps-msp-subtitle {
22446
+ font-size: 12.5px !important;
22447
+ line-height: 1.45 !important;
22448
+ }
22449
+ .ps-msp-header-actions {
22450
+ width: 100% !important;
22451
+ display: grid !important;
22452
+ grid-template-columns: 1fr auto !important;
22453
+ gap: 8px !important;
22454
+ }
22455
+ .ps-msp-primary-create,
22456
+ .ps-msp-logout {
22457
+ min-height: 38px !important;
22458
+ font-size: 12px !important;
22459
+ padding: 0 13px !important;
22460
+ border-radius: 999px !important;
22461
+ }
22462
+ .ps-msp-cards-panel,
22463
+ .ps-msp-cards-scroll {
22464
+ flex: 1 1 auto !important;
22465
+ min-height: 0 !important;
22466
+ max-height: none !important;
22467
+ overflow-y: auto !important;
22468
+ }
22469
+ .ps-msp-grid {
22470
+ grid-template-columns: 1fr !important;
22471
+ gap: 12px !important;
22472
+ margin: 0 0 14px !important;
22473
+ }
22474
+ .ps-msp-card {
22475
+ padding: 14px !important;
22476
+ border-radius: 14px !important;
22477
+ }
22478
+ .ps-msp-card-circle {
22479
+ width: 72px !important;
22480
+ height: 72px !important;
22481
+ margin: 8px auto 12px !important;
22482
+ }
22483
+ .ps-msp-card-name {
22484
+ font-size: 16px !important;
22485
+ line-height: 1.25 !important;
22486
+ }
22487
+ .ps-msp-meta-label {
22488
+ font-size: 10px !important;
22489
+ }
22490
+ .ps-msp-meta-value {
22491
+ font-size: 13px !important;
22492
+ }
22493
+ .ps-msp-card-actions {
22494
+ gap: 8px !important;
22495
+ }
22496
+ .ps-msp-card-select {
22497
+ min-height: 38px !important;
22498
+ padding: 0 12px !important;
22499
+ font-size: 11px !important;
22500
+ border-radius: 9px !important;
22501
+ }
22502
+ .ps-msp-card-edit,
22503
+ .ps-msp-card-delete {
22504
+ width: 38px !important;
22505
+ height: 38px !important;
22506
+ border-radius: 9px !important;
22507
+ }
22508
+ .ps-profile-auth {
22509
+ padding: 0 !important;
22510
+ overflow-y: auto !important;
22511
+ }
22512
+ .ps-profile-auth-shell {
22513
+ display: flex !important;
22514
+ flex-direction: column !important;
22515
+ height: auto !important;
22516
+ min-height: 100% !important;
22517
+ overflow: visible !important;
22518
+ }
22519
+ .ps-profile-auth-story,
22520
+ .ps-profile-auth-card {
22521
+ padding: 14px 0 !important;
22522
+ border: 0 !important;
22523
+ }
22524
+ .ps-profile-auth-story {
22525
+ border-bottom: 1px solid var(--ps-border-subtle) !important;
22526
+ }
22527
+ .ps-profile-auth-visual {
22528
+ min-height: 110px !important;
22529
+ margin: 0 !important;
22530
+ }
22531
+ .ps-profile-auth-title {
22532
+ font-size: 22px !important;
22533
+ line-height: 1.12 !important;
22534
+ }
22535
+ .ps-profile-auth-copy,
22536
+ .ps-profile-auth-card-copy {
22537
+ font-size: 12.5px !important;
22538
+ line-height: 1.45 !important;
22539
+ }
22540
+ .ps-profile-auth-icon-row {
22541
+ grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
22542
+ gap: 9px !important;
22543
+ }
22544
+ .ps-profile-auth-button {
22545
+ min-height: 58px !important;
22546
+ font-size: 12px !important;
22547
+ border-radius: 12px !important;
22548
+ }
22549
+
22550
+ /* Profile creation wizard and profile detail */
22551
+ .ps-cpw-body {
22552
+ padding: 0 !important;
22553
+ }
22554
+ .ps-cpw-step-head {
22555
+ flex: 0 0 auto !important;
22556
+ margin: 0 0 10px !important;
22557
+ }
22558
+ .ps-cpw-step-title,
22559
+ .ps-cpw-section-title {
22560
+ font-size: 20px !important;
22561
+ line-height: 1.2 !important;
22562
+ }
22563
+ .ps-cpw-section-sub {
22564
+ font-size: 12px !important;
22565
+ line-height: 1.4 !important;
22566
+ }
22567
+ .ps-cpw-image-split,
22568
+ .ps-cpw-photo-step {
22569
+ flex-direction: column !important;
22570
+ height: auto !important;
22571
+ min-height: 0 !important;
22572
+ gap: 12px !important;
22573
+ padding: 0 !important;
22574
+ overflow-y: auto !important;
22575
+ }
22576
+ .ps-cpw-image-left,
22577
+ .ps-cpw-image-right {
22578
+ width: 100% !important;
22579
+ min-width: 0 !important;
22580
+ min-height: 0 !important;
22581
+ }
22582
+ .ps-cpw-dropzone,
22583
+ .ps-cpw-photo-preview-frame,
22584
+ .ps-cpw-photo-preview {
22585
+ min-height: 250px !important;
22586
+ height: min(48svh, 360px) !important;
22587
+ border-radius: 14px !important;
22588
+ }
22589
+ .ps-cpw-inline-fields .ps-bp-inline-row {
22590
+ padding: 11px 0 !important;
22591
+ }
22592
+ .ps-cpw-pill-row {
22593
+ gap: 10px !important;
22594
+ flex-wrap: wrap !important;
22595
+ }
22596
+ .ps-cpw-pill {
22597
+ min-height: 34px !important;
22598
+ padding: 0 13px !important;
22599
+ font-size: 12px !important;
22600
+ border-radius: 999px !important;
22601
+ }
22602
+ .ps-pmv-root {
22603
+ padding: 0 !important;
22604
+ }
22605
+ .ps-pmv-data {
22606
+ padding-bottom: 12px !important;
22607
+ }
22608
+ .ps-pmv-hero {
22609
+ padding: 4px 0 12px !important;
22610
+ }
22611
+ .ps-pmv-hero-name {
22612
+ font-size: 22px !important;
22613
+ line-height: 1.15 !important;
22614
+ }
22615
+ .ps-pmv-measure-row,
22616
+ .ps-pmv-basic-row {
22617
+ padding: 12px 0 !important;
22618
+ gap: 10px !important;
22619
+ }
22620
+ .ps-pmv-measure-icon,
22621
+ .ps-pmv-basic-icon {
22622
+ width: 28px !important;
22623
+ height: 28px !important;
22624
+ }
22625
+ .ps-pmv-measure-label,
22626
+ .ps-pmv-basic-label {
22627
+ font-size: 11px !important;
22628
+ }
22629
+ .ps-pmv-measure-value,
22630
+ .ps-pmv-basic-value,
22631
+ .ps-pmv-inline-input,
22632
+ .ps-pmv-inline-select {
22633
+ font-size: 15px !important;
22634
+ }
22635
+ .ps-pmv-inline-input {
22636
+ width: 54px !important;
22637
+ }
22638
+ .ps-pmv-actions {
22639
+ position: sticky !important;
22640
+ bottom: 0 !important;
22641
+ justify-content: space-between !important;
22642
+ gap: 8px !important;
22643
+ flex-wrap: nowrap !important;
22644
+ }
22645
+ .ps-pmv-actions-right {
22646
+ gap: 8px !important;
22647
+ flex-wrap: nowrap !important;
22648
+ }
22649
+ .ps-pmv-btn-primary,
22650
+ .ps-pmv-btn-secondary,
22651
+ .ps-pmv-btn-edit,
22652
+ .ps-pmv-btn-delete {
22653
+ min-height: 40px !important;
22654
+ padding: 0 12px !important;
22655
+ border-radius: 10px !important;
22656
+ font-size: 11px !important;
22657
+ white-space: nowrap !important;
22658
+ }
22659
+
22660
+ /* History drawer = real mobile gallery sheet */
22661
+ .ps-tryon-drawer,
22662
+ .ps-tryon-history-drawer {
22663
+ position: absolute !important;
22664
+ inset: 0 !important;
22665
+ width: auto !important;
22666
+ max-width: none !important;
22667
+ height: auto !important;
22668
+ max-height: none !important;
22669
+ border-radius: 0 !important;
22670
+ transform: translateY(100%) !important;
22671
+ display: flex !important;
22672
+ flex-direction: column !important;
22673
+ padding: 0 !important;
22674
+ background: var(--ps-bg-primary) !important;
22675
+ z-index: 40 !important;
22676
+ }
22677
+ .ps-tryon-drawer-open {
22678
+ transform: translateY(0) !important;
22679
+ }
22680
+ .ps-tryon-drawer-header {
22681
+ flex: 0 0 auto !important;
22682
+ min-height: 52px !important;
22683
+ padding: 10px var(--ps-mobile-x) !important;
22684
+ margin: 0 !important;
22685
+ gap: 10px !important;
22686
+ border-bottom: 1px solid var(--ps-border-subtle) !important;
22687
+ }
22688
+ .ps-tryon-drawer-title {
22689
+ font-size: 17px !important;
22690
+ line-height: 1.25 !important;
22691
+ font-weight: 700 !important;
22692
+ }
22693
+ .ps-tryon-drawer-back,
22694
+ .ps-tryon-drawer-close,
22695
+ .ps-tryon-drawer-add-btn {
22696
+ width: 36px !important;
22697
+ height: 36px !important;
22698
+ min-width: 36px !important;
22699
+ border-radius: 10px !important;
22700
+ }
22701
+ .ps-tryon-drawer-list {
22702
+ flex: 1 1 auto !important;
22703
+ min-height: 0 !important;
22704
+ overflow-y: auto !important;
22705
+ -webkit-overflow-scrolling: touch !important;
22706
+ padding: 14px var(--ps-mobile-x) calc(14px + env(safe-area-inset-bottom)) !important;
22707
+ gap: 12px !important;
22708
+ }
22709
+ .ps-tryon-history-gallery {
22710
+ display: grid !important;
22711
+ grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
22712
+ gap: 12px !important;
22713
+ align-items: start !important;
22714
+ }
22715
+ .ps-tryon-history-card {
22716
+ border-radius: 14px !important;
22717
+ overflow: hidden !important;
22718
+ background: #FFFFFF !important;
22719
+ }
22720
+ .ps-tryon-history-card-main {
22721
+ padding: 0 !important;
22722
+ gap: 8px !important;
22723
+ text-align: left !important;
22724
+ }
22725
+ .ps-tryon-history-card-media {
22726
+ width: 100% !important;
22727
+ height: auto !important;
22728
+ aspect-ratio: 3 / 4 !important;
22729
+ border-radius: 13px !important;
22730
+ background: #f3f5f9 !important;
22731
+ }
22732
+ .ps-tryon-history-card-img,
22733
+ .ps-tryon-history-card-placeholder {
22734
+ width: 100% !important;
22735
+ height: 100% !important;
22736
+ object-fit: cover !important;
22737
+ object-position: center center !important;
22738
+ }
22739
+ .ps-tryon-history-card-product {
22740
+ width: 38px !important;
22741
+ height: 38px !important;
22742
+ right: 8px !important;
22743
+ bottom: 8px !important;
22744
+ object-fit: cover !important;
22745
+ }
22746
+ .ps-tryon-history-card-title {
22747
+ font-size: 12px !important;
22748
+ line-height: 1.25 !important;
22749
+ padding: 0 2px !important;
22750
+ }
22751
+ .ps-tryon-history-card-meta,
22752
+ .ps-tryon-history-card-sections {
22753
+ font-size: 10.5px !important;
22754
+ padding: 0 2px !important;
22755
+ }
22756
+ .ps-tryon-history-card-size {
22757
+ margin: 0 2px 2px !important;
22758
+ font-size: 16px !important;
22759
+ }
22760
+ .ps-tryon-history-delete.ps-card-delete {
22761
+ top: 8px !important;
22762
+ right: 8px !important;
22763
+ width: 32px !important;
22764
+ height: 32px !important;
22765
+ border-radius: 10px !important;
22766
+ }
22767
+ .ps-tryon-drawer-clear {
22768
+ min-height: 40px !important;
22769
+ font-size: 12px !important;
22770
+ margin-top: 2px !important;
22771
+ }
22772
+
22773
+ /* Generic safety: never let long words/labels force horizontal scroll. */
22774
+ .ps-tryon-overlay button,
22775
+ .ps-tryon-overlay span,
22776
+ .ps-tryon-overlay p,
22777
+ .ps-tryon-overlay h1,
22778
+ .ps-tryon-overlay h2,
22779
+ .ps-tryon-overlay h3,
22780
+ .ps-tryon-overlay div {
22781
+ min-width: 0;
22782
+ }
22783
+ }
22784
+
22785
+ @media (max-width: 768px) and (max-height: 720px) {
22786
+ .ps-tryon-overlay {
22787
+ --ps-mobile-y: 8px;
22788
+ }
22789
+ .ps-bpm-title,
22790
+ .ps-bp-scan-details-title {
22791
+ font-size: 18px !important;
22792
+ }
22793
+ .ps-bpm-subtitle,
22794
+ .ps-bp-scan-details-sub {
22795
+ display: none !important;
22796
+ }
22797
+ .ps-bpm-toggle,
22798
+ .ps-bp-system-toggle,
22799
+ .ps-accm-toggle {
22800
+ margin: 5px auto 7px !important;
22801
+ }
22802
+ .ps-bpm-row,
22803
+ .ps-bp-inline-row,
22804
+ .ps-accm-row {
22805
+ padding: 9px 0 !important;
22806
+ gap: 8px !important;
22807
+ }
22808
+ .ps-bpm-value-display {
22809
+ font-size: 17px !important;
22810
+ }
22811
+ .ps-bpm-step-btn {
22812
+ width: 30px !important;
22813
+ height: 30px !important;
22814
+ }
22815
+ .ps-bpm-or {
22816
+ margin: 6px 0 !important;
22817
+ }
22818
+ .ps-bpm-upload-link {
22819
+ min-height: 76px !important;
22820
+ padding: 12px !important;
22821
+ }
22822
+ .ps-bpm-bottom,
22823
+ .ps-msr-bottom,
22824
+ .ps-msd-actions,
22825
+ .ps-cpw-footer,
22826
+ .ps-pmv-actions {
22827
+ padding-top: 8px !important;
22828
+ padding-bottom: calc(8px + env(safe-area-inset-bottom)) !important;
22829
+ }
22830
+ .ps-bpm-next-btn,
22831
+ .ps-pm-primary-btn,
22832
+ .ps-msr-tryon-cta,
22833
+ .ps-msd-primary-cta,
22834
+ .ps-cpw-next-btn,
22835
+ .ps-pmv-btn-primary,
22836
+ .ps-tryon-v2-cta {
22837
+ min-height: 40px !important;
22838
+ }
22839
+ .ps-bpm-bottom-tabs {
22840
+ min-height: 34px !important;
22841
+ }
22842
+ .ps-bpm-bottom-tab {
22843
+ min-height: 34px !important;
22844
+ padding: 6px !important;
22845
+ }
22846
+ }
21809
22847
  `;
21810
22848
  function CameraIcon$1({ size = 18 }) {
21811
22849
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
@@ -21840,10 +22878,9 @@ function UserIcon({ size = 16 }) {
21840
22878
  }
21841
22879
  function ShoppingBagIcon({ size = 16 }) {
21842
22880
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
21843
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M6 7h12l-1 14H7L6 7Z" }),
21844
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M9 7a3 3 0 0 1 6 0" }),
21845
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M12 12v5" }),
21846
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M9.5 14.5h5" })
22881
+ /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M16 10a4 4 0 0 1-8 0" }),
22882
+ /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M3.103 6.034h17.794" }),
22883
+ /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z" })
21847
22884
  ] });
21848
22885
  }
21849
22886
  function ExternalLinkIcon({ size = 16 }) {
@@ -22994,7 +24031,7 @@ function MultiSectionMobile({
22994
24031
  sizeGuide ? null : null
22995
24032
  ] });
22996
24033
  }
22997
- const PER_SLIDE = 2;
24034
+ const PER_SLIDE = 3;
22998
24035
  const CYCLE_MS = 4e3;
22999
24036
  function ProductPhotoCarouselCard({
23000
24037
  photos,
@@ -24215,7 +25252,7 @@ function SectionDetailView({
24215
25252
  if (isFootwear && fit === "good") return t2("BEST MATCH");
24216
25253
  if (isLen && fit === "good") return t2("EDITORIAL LENGTH");
24217
25254
  if (renderRaw && fit === "good") return t2("WITHIN RANGE");
24218
- if (fit === "good") return t2("PERFECT TENSION");
25255
+ if (fit === "good") return t2("WITHIN RANGE");
24219
25256
  if (fit === "a-bit-tight") return t2("SLIGHTLY TIGHT");
24220
25257
  if (fit === "a-bit-loose") return t2("SLIGHT EASE");
24221
25258
  if (fit.includes("tight")) return t2("TIGHT");
@@ -25820,40 +26857,44 @@ function SizeResultView({
25820
26857
  ) : (
25821
26858
  /* CARD VIEW — clickable summary card + gallery strip */
25822
26859
  /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
25823
- profileCompletionCta ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-v2-result-head", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-v2-profile-head ps-expanded", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ProfileCompletionCta, { onClick: profileCompletionCta.onClick, placement: "header", t: t2 }) }) }) : null,
25824
- profileCompletionCta ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-v2-sep" }) : null,
25825
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-sr-cards-v2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
25826
- "button",
25827
- {
25828
- className: `ps-tryon-sr-card-v2 ps-summary-card ps-full${pendingCustomSizes[sectionName] ? " ps-overridden" : ""}`,
25829
- onClick: () => setActiveSection(sectionName),
25830
- type: "button",
25831
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-sr-card-v2-text ps-summary-card-layout", children: [
25832
- /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ps-summary-card-copy", children: [
25833
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-sr-card-v2-summary-title", children: guideOnlyResult ? t2("Product Size Guide") : t2("Recommended size") }),
25834
- /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ps-tryon-sr-card-v2-main", children: [
25835
- (() => {
25836
- const rawLabelText = pendingCustomSizes[sectionName]?.displayLabel || singleResult.recommendedSize || singleResult.sizeLabel || (guideOnlyResult ? t2("One Size") : "—");
25837
- const labelText = measurementType === "foot" ? formatShoeSizeLabel(rawLabelText, shoeUserGender) : rawLabelText;
25838
- const isLong = labelText.length > 12;
25839
- return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `ps-tryon-sr-card-v2-value${isLong ? " ps-long" : ""}`, children: labelText });
25840
- })(),
26860
+ (() => {
26861
+ const cardTitle = guideOnlyResult ? t2("Size Guide") : t2("Your Fit");
26862
+ const rawLabelText = pendingCustomSizes[sectionName]?.displayLabel || singleResult.recommendedSize || singleResult.sizeLabel || (guideOnlyResult ? t2("One Size") : "");
26863
+ const labelText = measurementType === "foot" ? formatShoeSizeLabel(rawLabelText, shoeUserGender) : rawLabelText;
26864
+ const isLong = labelText.length > 12;
26865
+ const badgeText = guideOnlyResult ? t2("SIZE GUIDE") : pendingCustomSizes[sectionName] ? t2("YOUR SELECTION") : t2("RECOMMENDED");
26866
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
26867
+ profileCompletionCta ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-v2-result-head", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-v2-profile-head ps-expanded", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ProfileCompletionCta, { onClick: profileCompletionCta.onClick, placement: "header", t: t2 }) }) }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-v2-result-copy ps-single-result-copy", children: [
26868
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "ps-tryon-v2-title", children: t2("Your Size Recommendation") }),
26869
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "ps-tryon-v2-subtitle", children: t2("Tap the card for detailed breakdown") })
26870
+ ] }),
26871
+ profileCompletionCta ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-v2-sep" }) : null,
26872
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-sr-cards-v2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
26873
+ "button",
26874
+ {
26875
+ className: `ps-tryon-sr-card-v2 ps-summary-card ps-full${pendingCustomSizes[sectionName] ? " ps-overridden" : ""}`,
26876
+ onClick: () => setActiveSection(sectionName),
26877
+ type: "button",
26878
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-sr-card-v2-text ps-summary-card-layout", children: [
26879
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-sr-card-v2-summary-title", children: cardTitle }),
26880
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `ps-tryon-sr-card-v2-value${isLong ? " ps-long" : ""}`, children: labelText }),
25841
26881
  /* @__PURE__ */ jsxRuntimeExports.jsx(
25842
26882
  "span",
25843
26883
  {
25844
26884
  className: `ps-tryon-sr-card-v2-rec-pill${pendingCustomSizes[sectionName] ? " is-overridden" : ""}`,
25845
- children: guideOnlyResult ? t2("SIZE GUIDE") : pendingCustomSizes[sectionName] ? t2("YOUR SELECTION") : t2("RECOMMENDED")
26885
+ children: badgeText
25846
26886
  }
25847
- )
26887
+ ),
26888
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ps-tryon-sr-card-v2-view", children: [
26889
+ guideOnlyResult ? t2("VIEW CHART") : t2("VIEW DETAILS"),
26890
+ " ",
26891
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { "aria-hidden": "true", children: "›" })
26892
+ ] })
25848
26893
  ] })
25849
- ] }),
25850
- /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ps-tryon-sr-card-v2-open-pill", children: [
25851
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: guideOnlyResult ? t2("View chart") : t2("View measurements") }),
25852
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { "aria-hidden": "true", children: "›" })
25853
- ] })
25854
- ] })
25855
- }
25856
- ) }),
26894
+ }
26895
+ ) })
26896
+ ] });
26897
+ })(),
25857
26898
  hasCarousel && /* @__PURE__ */ jsxRuntimeExports.jsx(ProductPhotoCarouselCard, { items: carouselItems.length > 0 ? carouselItems : void 0, photos: productImages, productTitle, t: t2 }),
25858
26899
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-v2-result-actions", children: [
25859
26900
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -28961,12 +30002,10 @@ function MySizingProfilesView({
28961
30002
  const googleIcon = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cpath%20fill='%23FFC107'%20d='M43.6%2020.5H42V20H24v8h11.3C33.7%2032.7%2029.3%2036%2024%2036c-6.6%200-12-5.4-12-12s5.4-12%2012-12c3.1%200%205.9%201.2%208%203.1l5.7-5.7C34.1%206.1%2029.3%204%2024%204%2012.9%204%204%2012.9%204%2024s8.9%2020%2020%2020%2020-8.9%2020-20c0-1.3-.1-2.4-.4-3.5z'/%3e%3cpath%20fill='%23FF3D00'%20d='M6.3%2014.7l6.6%204.8C14.7%2015.1%2019%2012%2024%2012c3.1%200%205.9%201.2%208%203.1l5.7-5.7C34.1%206.1%2029.3%204%2024%204%2016.2%204%209.5%208.5%206.3%2014.7z'/%3e%3cpath%20fill='%234CAF50'%20d='M24%2044c5.2%200%209.9-2%2013.4-5.2l-6.2-5.2C29.2%2035.1%2026.7%2036%2024%2036c-5.2%200-9.6-3.3-11.3-7.8l-6.5%205C9.4%2039.6%2016.1%2044%2024%2044z'/%3e%3cpath%20fill='%231976D2'%20d='M43.6%2020.5H42V20H24v8h11.3c-.8%202.3-2.3%204.2-4.1%205.6l6.2%205.2C36.9%2039.2%2044%2034%2044%2024c0-1.3-.1-2.4-.4-3.5z'/%3e%3c/svg%3e";
28962
30003
  const profileSyncIllustration = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20520%20420'%3e%3cdefs%3e%3clinearGradient%20id='bg'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%23EFF6FF'/%3e%3cstop%20offset='1'%20stop-color='%23FFFFFF'/%3e%3c/linearGradient%3e%3clinearGradient%20id='blue'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%2360A5FA'/%3e%3cstop%20offset='1'%20stop-color='%232563EB'/%3e%3c/linearGradient%3e%3cfilter%20id='shadow'%20x='-20%25'%20y='-20%25'%20width='140%25'%20height='140%25'%3e%3cfeDropShadow%20dx='0'%20dy='18'%20stdDeviation='22'%20flood-color='%231E3A8A'%20flood-opacity='0.14'/%3e%3c/filter%3e%3c/defs%3e%3crect%20x='20'%20y='20'%20width='480'%20height='380'%20rx='44'%20fill='url(%23bg)'/%3e%3ccircle%20cx='118'%20cy='92'%20r='36'%20fill='%23DBEAFE'/%3e%3ccircle%20cx='420'%20cy='328'%20r='42'%20fill='%23E0F2FE'/%3e%3cg%20filter='url(%23shadow)'%3e%3crect%20x='170'%20y='70'%20width='180'%20height='280'%20rx='34'%20fill='%23FFFFFF'/%3e%3crect%20x='186'%20y='88'%20width='148'%20height='246'%20rx='25'%20fill='%23F8FAFC'%20stroke='%23DBEAFE'/%3e%3ccircle%20cx='260'%20cy='161'%20r='38'%20fill='url(%23blue)'/%3e%3cpath%20fill='%23DBEAFE'%20d='M235%20246c3-25%2022-43%2025-43s22%2018%2025%2043c-13%2010-37%2010-50%200z'/%3e%3cpath%20fill='%23BFDBFE'%20d='M228%20284h64c8%200%2014%206%2014%2014s-6%2014-14%2014h-64c-8%200-14-6-14-14s6-14%2014-14z'/%3e%3c/g%3e%3cg%20filter='url(%23shadow)'%3e%3crect%20x='62'%20y='172'%20width='130'%20height='94'%20rx='24'%20fill='%23FFFFFF'/%3e%3ccircle%20cx='102'%20cy='212'%20r='20'%20fill='%23EFF6FF'%20stroke='%23BFDBFE'/%3e%3crect%20x='132'%20y='196'%20width='36'%20height='8'%20rx='4'%20fill='%23BFDBFE'/%3e%3crect%20x='132'%20y='214'%20width='48'%20height='8'%20rx='4'%20fill='%23DBEAFE'/%3e%3crect%20x='88'%20y='240'%20width='76'%20height='10'%20rx='5'%20fill='%232563EB'%20opacity='0.88'/%3e%3c/g%3e%3cg%20filter='url(%23shadow)'%3e%3crect%20x='328'%20y='172'%20width='130'%20height='94'%20rx='24'%20fill='%23FFFFFF'/%3e%3ccircle%20cx='368'%20cy='212'%20r='20'%20fill='%23EFF6FF'%20stroke='%23BFDBFE'/%3e%3crect%20x='398'%20y='196'%20width='36'%20height='8'%20rx='4'%20fill='%23BFDBFE'/%3e%3crect%20x='398'%20y='214'%20width='48'%20height='8'%20rx='4'%20fill='%23DBEAFE'/%3e%3crect%20x='354'%20y='240'%20width='76'%20height='10'%20rx='5'%20fill='%232563EB'%20opacity='0.88'/%3e%3c/g%3e%3cpath%20d='M194%20198c20-18%2038-27%2060-29'%20fill='none'%20stroke='%2393C5FD'%20stroke-width='7'%20stroke-linecap='round'%20stroke-dasharray='1%2016'/%3e%3cpath%20d='M326%20198c-20-18-38-27-60-29'%20fill='none'%20stroke='%2393C5FD'%20stroke-width='7'%20stroke-linecap='round'%20stroke-dasharray='1%2016'/%3e%3c/svg%3e";
28963
30004
  const appleIcon = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23111111'%20d='M16.37%201.43c0%201.14-.46%202.23-1.19%203.05-.8.91-2.13%201.61-3.2%201.5-.14-1.09.4-2.25%201.12-3.06.8-.9%202.2-1.58%203.27-1.49zM20.2%2017.13c-.56%201.27-.83%201.84-1.55%202.96-1.01%201.56-2.44%203.5-4.21%203.52-1.58.02-1.98-1.03-4.12-1.02-2.14.01-2.59%201.05-4.17%201.03-1.77-.02-3.12-1.77-4.13-3.33-2.82-4.36-3.12-9.47-1.38-12.19%201.23-1.94%203.18-3.08%205.01-3.08%201.86%200%203.03%201.03%204.57%201.03%201.49%200%202.39-1.03%204.54-1.03%201.62%200%203.34.88%204.56%202.41-4%202.19-3.35%207.9.88%209.7z'/%3e%3c/svg%3e";
28964
- const facebookIcon = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3ccircle%20cx='12'%20cy='12'%20r='11'%20fill='%231877F2'/%3e%3cpath%20fill='%23fff'%20d='M14.9%2015.2l.5-3.2h-3v-2c0-.9.4-1.7%201.8-1.7h1.4V5.6s-1.2-.2-2.4-.2c-2.5%200-4.1%201.5-4.1%204.2V12H6.4v3.2h2.7V23c.5.1%201.1.1%201.7.1s1.1%200%201.7-.1v-7.8h2.4z'/%3e%3c/svg%3e";
28965
30005
  const linkedinIcon = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3crect%20width='22'%20height='22'%20x='1'%20y='1'%20rx='4'%20fill='%230A66C2'/%3e%3cpath%20fill='%23fff'%20d='M7.3%209.8h-3v9h3v-9zM5.8%208.6c1%200%201.7-.7%201.7-1.6S6.8%205.4%205.8%205.4%204.1%206.1%204.1%207s.7%201.6%201.7%201.6zm4.1%201.2v9h3v-5c0-.3%200-.5.1-.7.2-.5.7-1.1%201.5-1.1%201.1%200%201.5.8%201.5%202v4.8h3v-5.2c0-2.8-1.5-4.1-3.5-4.1-1.6%200-2.3.9-2.7%201.5v-1.2h-2.9z'/%3e%3c/svg%3e";
28966
30006
  const PROVIDERS = [
28967
30007
  { id: "google", label: "Continue with Google", shortLabel: "Google", icon: googleIcon },
28968
30008
  { id: "apple", label: "Continue with Apple", shortLabel: "Apple", icon: appleIcon },
28969
- { id: "facebook", label: "Continue with Facebook", shortLabel: "Facebook", icon: facebookIcon },
28970
30009
  { id: "linkedin", label: "Continue with LinkedIn", shortLabel: "LinkedIn", icon: linkedinIcon }
28971
30010
  ];
28972
30011
  function SocialProfileAuthView({ loadingProvider, error, onLogin, t: t2 }) {
@@ -30069,6 +31108,47 @@ function BodyProfileView({
30069
31108
  const shoeSizeOptions = getShoeSizeOptions(shoeSizeSystem);
30070
31109
  const shoeReference = isShoeReferenceMode ? estimateShoeReference({ brandId: shoeBrandId, size: shoeSizeValue, sizeSystem: shoeSizeSystem, productTitle, gender: shoeGender }) : null;
30071
31110
  const selectedShoeBrand = SHOE_BRANDS.find((brand) => brand.id === shoeBrandId);
31111
+ const seededBasicsProfileIdRef = reactExports.useRef(null);
31112
+ reactExports.useEffect(() => {
31113
+ const profileId = activeProfile?.id ?? null;
31114
+ if (!profileId || seededBasicsProfileIdRef.current === profileId) return;
31115
+ seededBasicsProfileIdRef.current = profileId;
31116
+ const nextProfileHeight = activeProfile?.height ?? activeProfile?.heightCm;
31117
+ const nextProfileWeight = activeProfile?.weight ?? activeProfile?.weightKg;
31118
+ const nextProfileAge = activeProfile?.age;
31119
+ const nextProfileHeightUnit = activeProfile?.heightUnit === "ft" ? "in" : activeProfile?.heightUnit || (activeProfile?.heightCm ? "cm" : void 0);
31120
+ const nextProfileWeightUnit = activeProfile?.weightUnit || (activeProfile?.weightKg ? "kg" : void 0);
31121
+ if (nextProfileHeight != null && Number(nextProfileHeight) > 0) {
31122
+ if (nextProfileHeightUnit === "cm") {
31123
+ const cm = Math.round(Number(nextProfileHeight));
31124
+ const totalIn = Math.round(cm / 2.54);
31125
+ setHeight(String(cm));
31126
+ setHeightFeet(String(Math.floor(totalIn / 12)));
31127
+ setHeightInches(String(totalIn % 12));
31128
+ setPhotoStepHeight(String(cm));
31129
+ setHUnit("cm");
31130
+ setHeightUnit("cm");
31131
+ } else {
31132
+ const totalIn = Math.round(Number(nextProfileHeight));
31133
+ setHeightFeet(String(Math.floor(totalIn / 12)));
31134
+ setHeightInches(String(totalIn % 12));
31135
+ setHeight(String(Math.round(totalIn * 2.54)));
31136
+ setPhotoStepHeight(String(Math.round(totalIn * 2.54)));
31137
+ setHUnit("in");
31138
+ setHeightUnit("in");
31139
+ }
31140
+ }
31141
+ if (nextProfileWeight != null && Number(nextProfileWeight) > 0) {
31142
+ setWeight(String(Math.round(Number(nextProfileWeight))));
31143
+ if (nextProfileWeightUnit) {
31144
+ setWUnit(nextProfileWeightUnit);
31145
+ setWeightUnit(nextProfileWeightUnit);
31146
+ }
31147
+ }
31148
+ if (nextProfileAge != null && Number(nextProfileAge) > 0) {
31149
+ setAge(String(Math.round(Number(nextProfileAge))));
31150
+ }
31151
+ }, [activeProfile, setHeightUnit, setWeightUnit]);
30072
31152
  const [error, setError] = reactExports.useState("");
30073
31153
  const handlePhotoSelect = reactExports.useCallback(async (e) => {
30074
31154
  const file = e.target.files?.[0];
@@ -33363,7 +34443,8 @@ function PrimeStyleTryonInner({
33363
34443
  const [deleteConfirmId, setDeleteConfirmId] = reactExports.useState(null);
33364
34444
  const setActiveProfileId$1 = reactExports.useCallback((id2) => {
33365
34445
  setActiveProfileIdState(id2);
33366
- if (!profileSessionRef.current) setActiveProfileId(id2);
34446
+ if (!profileSessionRef.current || id2 === null) setActiveProfileId(id2);
34447
+ else lsRemove("active_profile_id");
33367
34448
  }, []);
33368
34449
  reactExports.useEffect(() => {
33369
34450
  profileSessionRef.current = profileSession;
@@ -33377,6 +34458,7 @@ function PrimeStyleTryonInner({
33377
34458
  });
33378
34459
  const profileSyncTimerRef = reactExports.useRef(null);
33379
34460
  const profileSyncHydratingRef = reactExports.useRef(false);
34461
+ const [profileStoreHydrating, setProfileStoreHydrating] = reactExports.useState(false);
33380
34462
  const profileSyncSnapshotRef = reactExports.useRef("");
33381
34463
  const handleRegisterProfilesBack = reactExports.useCallback((canGoBack, goBack) => {
33382
34464
  profilesCanGoBackRef.current = canGoBack;
@@ -33449,6 +34531,7 @@ function PrimeStyleTryonInner({
33449
34531
  }, []);
33450
34532
  const hydrateProfileStore = reactExports.useCallback(async (session, seedProfiles, seedActiveProfileId) => {
33451
34533
  profileSyncHydratingRef.current = true;
34534
+ setProfileStoreHydrating(true);
33452
34535
  try {
33453
34536
  const remoteStore = await fetchRemoteProfiles(apiUrl, session.accessToken);
33454
34537
  if (remoteStore.profiles.length > 0) {
@@ -33463,6 +34546,7 @@ function PrimeStyleTryonInner({
33463
34546
  applyProfileStore([], null, false);
33464
34547
  } finally {
33465
34548
  profileSyncHydratingRef.current = false;
34549
+ setProfileStoreHydrating(false);
33466
34550
  }
33467
34551
  }, [apiUrl, applyProfileStore]);
33468
34552
  const handleSocialProfileLogin = reactExports.useCallback(async (provider) => {
@@ -35702,6 +36786,14 @@ function PrimeStyleTryonInner({
35702
36786
  if (measurementType === "wrist") return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-view-enter", children: /* @__PURE__ */ jsxRuntimeExports.jsx(WristSizeView, { ...accCommon }) }, "v-wrist");
35703
36787
  const isWomenProduct = effectiveProductGender === "female";
35704
36788
  const simplePhotoOnly = measurementType === "foot" || measurementType === "body-basic";
36789
+ const activeProfileForBody = profiles.find((x2) => x2.id === activeProfileId) || null;
36790
+ const waitingForActiveProfile = !!profileSession && profileStoreHydrating && profiles.length === 0 && !activeProfileForBody;
36791
+ if (waitingForActiveProfile) {
36792
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-view-enter", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-profile-hydrating", children: [
36793
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-size-loading-spinner", "aria-hidden": "true" }),
36794
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: t2("Loading your fit profile") })
36795
+ ] }) }, "v-bodyprofile-loading");
36796
+ }
35705
36797
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-view-enter", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
35706
36798
  BodyProfileView,
35707
36799
  {
@@ -35724,7 +36816,7 @@ function PrimeStyleTryonInner({
35724
36816
  apiUrl: getApiUrl(apiUrl),
35725
36817
  apiKey: getApiKey(),
35726
36818
  hasActiveProfileWithMeasurements: (() => {
35727
- const p2 = profiles.find((x2) => x2.id === activeProfileId);
36819
+ const p2 = activeProfileForBody;
35728
36820
  if (!p2) return false;
35729
36821
  const ph2 = p2.height ?? p2.heightCm ?? 0;
35730
36822
  const pw = p2.weight ?? p2.weightKg ?? 0;
@@ -35732,10 +36824,10 @@ function PrimeStyleTryonInner({
35732
36824
  })(),
35733
36825
  onUseActiveProfile: handleUseActiveProfile,
35734
36826
  activeProfileName: (() => {
35735
- const p2 = profiles.find((x2) => x2.id === activeProfileId);
36827
+ const p2 = activeProfileForBody;
35736
36828
  return p2?.name || null;
35737
36829
  })(),
35738
- activeProfile: profiles.find((x2) => x2.id === activeProfileId) || null,
36830
+ activeProfile: activeProfileForBody,
35739
36831
  onStartFresh: () => {
35740
36832
  setActiveProfileId$1(null);
35741
36833
  setBodyProfileInitialStep(null);