@sc-360-v2/storefront-cms-library 0.5.72 → 0.5.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/add-existing-form.scss +13 -5
  2. package/dist/add-order.scss +126 -236
  3. package/dist/add-products-tab-details.scss +1048 -2097
  4. package/dist/add-products-tab.scss +666 -1204
  5. package/dist/allocation-header-quota-details.scss +189 -407
  6. package/dist/allocationDetails.scss +1661 -2143
  7. package/dist/allocations-quota-details.scss +159 -323
  8. package/dist/allocations.scss +475 -793
  9. package/dist/amount-estimator.scss +405 -743
  10. package/dist/badge.scss +43 -18
  11. package/dist/brand-basic-elements.scss +76 -124
  12. package/dist/brand.scss +28 -55
  13. package/dist/breadcrumbs.scss +356 -718
  14. package/dist/builder.js +1 -1
  15. package/dist/bulk-variant-picker.scss +1128 -2027
  16. package/dist/bundle.scss +841 -1477
  17. package/dist/bundleDetails.scss +3774 -5072
  18. package/dist/button.scss +79 -103
  19. package/dist/buy-for-tab-container.scss +77 -106
  20. package/dist/buyForHeaders.scss +1722 -2976
  21. package/dist/cart-details.scss +481 -1012
  22. package/dist/cart-summary.scss +557 -1149
  23. package/dist/cart-wrapper.scss +37 -79
  24. package/dist/cart.scss +117 -225
  25. package/dist/cartAttributes.scss +416 -735
  26. package/dist/category-groups-element.scss +127 -108
  27. package/dist/category-groups-product-grid.scss +120 -147
  28. package/dist/category-groups-product-image.scss +1162 -1457
  29. package/dist/category-groups-product-options.scss +613 -680
  30. package/dist/category-groups-product-price.scss +1966 -3244
  31. package/dist/category-groups-quota-details.scss +210 -464
  32. package/dist/category.scss +26 -50
  33. package/dist/checkout.scss +24 -16
  34. package/dist/confirm-modal.scss +22 -2
  35. package/dist/container.scss +32 -54
  36. package/dist/countdown.scss +255 -443
  37. package/dist/coupon.scss +351 -710
  38. package/dist/default-dropdown.scss +12 -1
  39. package/dist/embroider-template-1-v2.scss +123 -172
  40. package/dist/embroider-template-1.scss +68 -104
  41. package/dist/embroidery.scss +30 -31
  42. package/dist/employee-bulk-order.scss +418 -142
  43. package/dist/faq.scss +228 -408
  44. package/dist/filter-results.scss +125 -265
  45. package/dist/filters.scss +900 -1797
  46. package/dist/gallery-slider-temp.scss +432 -750
  47. package/dist/global-styles.scss +218 -198
  48. package/dist/grid.scss +25 -33
  49. package/dist/hotspot.scss +68 -115
  50. package/dist/image-temp.scss +21 -20
  51. package/dist/item-stock.scss +9 -16
  52. package/dist/kitDetails.scss +2719 -4299
  53. package/dist/kits.scss +24 -19
  54. package/dist/language-selector.scss +211 -361
  55. package/dist/last-x-orders.scss +95 -174
  56. package/dist/layouter-item.scss +75 -103
  57. package/dist/layouter-pro-item.scss +89 -95
  58. package/dist/layouter-pro.scss +87 -92
  59. package/dist/layouter.scss +383 -445
  60. package/dist/light-box-v2.scss +89 -104
  61. package/dist/login.scss +287 -566
  62. package/dist/map.scss +221 -368
  63. package/dist/marchandiserSets.scss +95 -104
  64. package/dist/mega-menu-container.scss +96 -109
  65. package/dist/mega-menu.scss +624 -731
  66. package/dist/menu-item.scss +2 -2
  67. package/dist/menu-v2.scss +507 -619
  68. package/dist/multi-select-dropdown.scss +27 -3
  69. package/dist/my-templates.scss +38 -9
  70. package/dist/option-bar.scss +215 -375
  71. package/dist/order-status.scss +646 -1117
  72. package/dist/overflow-module.scss +6 -7
  73. package/dist/past-orders.scss +118 -149
  74. package/dist/payment-methods.scss +46 -30
  75. package/dist/pickup-locations.scss +558 -1118
  76. package/dist/position-module.scss +20 -17
  77. package/dist/prefix-list.scss +21 -10
  78. package/dist/product-actions.scss +1750 -2055
  79. package/dist/product-basic-elements.scss +108 -169
  80. package/dist/product-highlights.scss +107 -152
  81. package/dist/product-image-bundles.scss +337 -642
  82. package/dist/product-inventory.scss +673 -1357
  83. package/dist/product-labels.scss +84 -105
  84. package/dist/product-options.scss +1117 -1274
  85. package/dist/product-price.scss +1283 -2561
  86. package/dist/product-promotions.scss +1388 -2830
  87. package/dist/product-sizechart.scss +516 -905
  88. package/dist/product.scss +28 -61
  89. package/dist/productDetails.scss +19 -39
  90. package/dist/profile.scss +207 -447
  91. package/dist/quantity-selector.scss +837 -1074
  92. package/dist/quick-inventory-check.scss +95 -174
  93. package/dist/quick-links.scss +55 -133
  94. package/dist/quick-order-pad.scss +218 -271
  95. package/dist/quota-details.scss +152 -282
  96. package/dist/quotes.scss +89 -122
  97. package/dist/repeater-embla-controls.scss +35 -15
  98. package/dist/repeater-grid-toggle.scss +156 -166
  99. package/dist/repeater-item.scss +41 -64
  100. package/dist/repeater.scss +671 -814
  101. package/dist/request-for-quotes.scss +66 -16
  102. package/dist/responsive-behaviour.scss +3 -1
  103. package/dist/rfqs.scss +118 -181
  104. package/dist/scroll.scss +93 -172
  105. package/dist/search.scss +179 -326
  106. package/dist/section.scss +27 -51
  107. package/dist/shipping-payments.scss +198 -58
  108. package/dist/simple-list.scss +74 -164
  109. package/dist/social.scss +80 -145
  110. package/dist/sort.scss +11 -19
  111. package/dist/stack.scss +23 -34
  112. package/dist/static-global.scss +44 -26
  113. package/dist/stockStatus.scss +11 -19
  114. package/dist/store-locations.scss +577 -1105
  115. package/dist/tab-container.scss +81 -108
  116. package/dist/table-common.scss +217 -408
  117. package/dist/table.scss +271 -502
  118. package/dist/text-temp.scss +8 -7
  119. package/dist/theme-classes.scss +17 -13
  120. package/dist/uom-selector.scss +489 -949
  121. package/dist/user-elements.scss +529 -837
  122. package/dist/variant-picker.scss +1281 -2555
  123. package/dist/volume-pricing.scss +541 -1037
  124. package/package.json +1 -1
@@ -56,136 +56,85 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
56
56
  border-style: prepareMediaVariable(#{$base}-br-se, solid);
57
57
  border-width: prepareMediaVariable(#{$base}-br-wh, 0);
58
58
  border-radius: prepareMediaVariable(#{$base}-br-rs, 4px);
59
- box-shadow: prepareMediaVariable(#{$base}-sw-ae, 0 0) prepareMediaVariable(#{$base}-sw-br, 0)
60
- prepareMediaVariable(#{$base}-sw-sd, 0) prepareMediaVariable(#{$base}-sw-cr, transparent);
59
+ box-shadow: prepareMediaVariable(#{$base}-sw-ae, 0 0) prepareMediaVariable(#{$base}-sw-br, 0) prepareMediaVariable(#{$base}-sw-sd, 0) prepareMediaVariable(#{$base}-sw-cr, transparent);
61
60
  }
62
61
 
63
62
  // Interactive-state typography ($state = "hr-se" | "sd-se"): the state's own
64
63
  // vars fall back to the DEFAULT state (dt-se), then the Figma value — so Figma
65
64
  // only seeds the default state and edits to the default cascade to every state.
66
65
  @mixin cg-font-state($base, $state, $color, $size, $weight: 600) {
67
- color: prepareMediaVariable(
68
- #{$base}-#{$state}-cr,
69
- prepareMediaVariable(#{$base}-dt-se-cr, $color)
70
- );
71
- font-family: prepareMediaVariable(
72
- #{$base}-#{$state}-ft-fy,
73
- prepareMediaVariable(#{$base}-dt-se-ft-fy, ("Inter", sans-serif))
74
- );
75
- text-transform: prepareMediaVariable(
76
- #{$base}-#{$state}-tt-tm,
77
- prepareMediaVariable(#{$base}-dt-se-tt-tm, ("Inter", sans-serif))
78
- );
79
- word-wrap: prepareMediaVariable(
80
- #{$base}-#{$state}-wd-wp,
81
- prepareMediaVariable(#{$base}-dt-se-wd-wp, ("Inter", sans-serif))
82
- );
83
- word-break: prepareMediaVariable(
84
- #{$base}-#{$state}-wd-bk,
85
- prepareMediaVariable(#{$base}-dt-se-wd-bk, ("Inter", sans-serif))
86
- );
87
- font-size: prepareMediaVariable(
88
- #{$base}-#{$state}-ft-se,
89
- prepareMediaVariable(#{$base}-dt-se-ft-se, $size)
90
- );
91
- font-weight: prepareMediaVariable(
92
- #{$base}-#{$state}-ft-wt,
93
- prepareMediaVariable(#{$base}-dt-se-ft-wt, $weight)
94
- );
95
- font-style: prepareMediaVariable(
96
- #{$base}-#{$state}-ft-se-ic,
97
- prepareMediaVariable(#{$base}-dt-se-ft-se-ic)
98
- );
99
- text-align: prepareMediaVariable(
100
- #{$base}-#{$state}-tt-an,
101
- prepareMediaVariable(#{$base}-dt-se-tt-an)
102
- );
103
- letter-spacing: prepareMediaVariable(
104
- #{$base}-#{$state}-lr-sg,
105
- prepareMediaVariable(#{$base}-dt-se-lr-sg)
106
- );
107
- line-height: prepareMediaVariable(
108
- #{$base}-#{$state}-le-ht,
109
- prepareMediaVariable(#{$base}-dt-se-le-ht)
110
- );
111
- text-decoration: prepareMediaVariable(
112
- #{$base}-#{$state}-ue,
113
- prepareMediaVariable(#{$base}-dt-se-ue)
114
- );
66
+ color: prepareMediaVariable(#{$base}-#{$state}-cr,
67
+ prepareMediaVariable(#{$base}-dt-se-cr, $color));
68
+ font-family: prepareMediaVariable(#{$base}-#{$state}-ft-fy,
69
+ prepareMediaVariable(#{$base}-dt-se-ft-fy, ("Inter", sans-serif)));
70
+ text-transform: prepareMediaVariable(#{$base}-#{$state}-tt-tm,
71
+ prepareMediaVariable(#{$base}-dt-se-tt-tm, ("Inter", sans-serif)));
72
+ word-wrap: prepareMediaVariable(#{$base}-#{$state}-wd-wp,
73
+ prepareMediaVariable(#{$base}-dt-se-wd-wp, ("Inter", sans-serif)));
74
+ word-break: prepareMediaVariable(#{$base}-#{$state}-wd-bk,
75
+ prepareMediaVariable(#{$base}-dt-se-wd-bk, ("Inter", sans-serif)));
76
+ font-size: prepareMediaVariable(#{$base}-#{$state}-ft-se,
77
+ prepareMediaVariable(#{$base}-dt-se-ft-se, $size));
78
+ font-weight: prepareMediaVariable(#{$base}-#{$state}-ft-wt,
79
+ prepareMediaVariable(#{$base}-dt-se-ft-wt, $weight));
80
+ font-style: prepareMediaVariable(#{$base}-#{$state}-ft-se-ic,
81
+ prepareMediaVariable(#{$base}-dt-se-ft-se-ic));
82
+ text-align: prepareMediaVariable(#{$base}-#{$state}-tt-an,
83
+ prepareMediaVariable(#{$base}-dt-se-tt-an));
84
+ letter-spacing: prepareMediaVariable(#{$base}-#{$state}-lr-sg,
85
+ prepareMediaVariable(#{$base}-dt-se-lr-sg));
86
+ line-height: prepareMediaVariable(#{$base}-#{$state}-le-ht,
87
+ prepareMediaVariable(#{$base}-dt-se-le-ht));
88
+ text-decoration: prepareMediaVariable(#{$base}-#{$state}-ue,
89
+ prepareMediaVariable(#{$base}-dt-se-ue));
115
90
  }
116
91
 
117
92
  // Interactive-state container design, falling back to the DEFAULT state.
118
93
  @mixin cg-design-state($base, $state) {
119
- background-color: prepareMediaVariable(
120
- #{$base}-#{$state}-bd-cr,
121
- prepareMediaVariable(#{$base}-dt-se-bd-cr, transparent)
122
- );
123
- border-color: prepareMediaVariable(
124
- #{$base}-#{$state}-br-cr,
125
- prepareMediaVariable(#{$base}-dt-se-br-cr, transparent)
126
- );
127
- border-style: prepareMediaVariable(
128
- #{$base}-#{$state}-br-se,
129
- prepareMediaVariable(#{$base}-dt-se-br-se, solid)
130
- );
131
- border-width: prepareMediaVariable(
132
- #{$base}-#{$state}-br-wh,
133
- prepareMediaVariable(#{$base}-dt-se-br-wh, 0)
134
- );
135
- border-radius: prepareMediaVariable(
136
- #{$base}-#{$state}-br-rs,
137
- prepareMediaVariable(#{$base}-dt-se-br-rs, 4px)
138
- );
139
- box-shadow: prepareMediaVariable(
140
- #{$base}-#{$state}-sw-ae,
141
- prepareMediaVariable(#{$base}-dt-se-sw-ae, 0 0)
142
- )
143
- prepareMediaVariable(#{$base}-#{$state}-sw-br, prepareMediaVariable(#{$base}-dt-se-sw-br, 0))
144
- prepareMediaVariable(#{$base}-#{$state}-sw-sd, prepareMediaVariable(#{$base}-dt-se-sw-sd, 0))
145
- prepareMediaVariable(
146
- #{$base}-#{$state}-sw-cr,
147
- prepareMediaVariable(#{$base}-dt-se-sw-cr, transparent)
148
- );
94
+ background-color: prepareMediaVariable(#{$base}-#{$state}-bd-cr,
95
+ prepareMediaVariable(#{$base}-dt-se-bd-cr, transparent));
96
+ border-color: prepareMediaVariable(#{$base}-#{$state}-br-cr,
97
+ prepareMediaVariable(#{$base}-dt-se-br-cr, transparent));
98
+ border-style: prepareMediaVariable(#{$base}-#{$state}-br-se,
99
+ prepareMediaVariable(#{$base}-dt-se-br-se, solid));
100
+ border-width: prepareMediaVariable(#{$base}-#{$state}-br-wh,
101
+ prepareMediaVariable(#{$base}-dt-se-br-wh, 0));
102
+ border-radius: prepareMediaVariable(#{$base}-#{$state}-br-rs,
103
+ prepareMediaVariable(#{$base}-dt-se-br-rs, 4px));
104
+ box-shadow: prepareMediaVariable(#{$base}-#{$state}-sw-ae,
105
+ prepareMediaVariable(#{$base}-dt-se-sw-ae, 0 0)) prepareMediaVariable(#{$base}-#{$state}-sw-br, prepareMediaVariable(#{$base}-dt-se-sw-br, 0)) prepareMediaVariable(#{$base}-#{$state}-sw-sd, prepareMediaVariable(#{$base}-dt-se-sw-sd, 0)) prepareMediaVariable(#{$base}-#{$state}-sw-cr,
106
+ prepareMediaVariable(#{$base}-dt-se-sw-cr, transparent));
149
107
  }
150
108
 
151
109
  [data-div-type="element"] {
152
110
  &[data-element-type="categoryGroups"] {
153
- width: calc(
154
- 1% *
155
- var(
156
- --_ctm-mob-catego-ele-nw-wh-vl,
157
- var(--_ctm-tab-catego-ele-nw-wh-vl, var(--_ctm-catego-ele-nw-wh-vl, auto))
158
- )
159
- );
160
- margin: var(
161
- --_ctm-mob-catego-lt-mn,
162
- var(--_ctm-tab-catego-lt-mn, var(--_ctm-catego-lt-mn, var(--_ctm-lt-mn)))
163
- );
111
+ width: calc(1% * var(--_ctm-mob-catego-ele-nw-wh-vl,
112
+ var(--_ctm-tab-catego-ele-nw-wh-vl, var(--_ctm-catego-ele-nw-wh-vl, auto))));
113
+ margin: var(--_ctm-mob-catego-lt-mn,
114
+ var(--_ctm-tab-catego-lt-mn, var(--_ctm-catego-lt-mn, var(--_ctm-lt-mn))));
164
115
 
165
116
  &[data-view-state="full"] {
166
- & > .wrapper {
117
+ &>.wrapper {
167
118
  grid-template-rows: auto !important;
168
119
  }
169
120
  }
170
- & > div {
121
+
122
+ &>div {
171
123
  &.wrapper {
172
124
  width: 100%;
173
125
  min-height: prepareMediaVariable(--_ctm-catego-lt-mn-ht);
174
- padding: var(
175
- --_ctm-mob-catego-lt-pg,
176
- var(--_ctm-tab-catego-lt-pg, var(--_ctm-catego-lt-pg))
177
- );
126
+ padding: var(--_ctm-mob-catego-lt-pg,
127
+ var(--_ctm-tab-catego-lt-pg, var(--_ctm-catego-lt-pg)));
178
128
 
179
129
  background-color: prepareMediaVariable(#{$cg-widget}-bd-cr, transparent);
180
130
  border-color: prepareMediaVariable(#{$cg-widget}-br-cr, transparent);
181
131
  border-style: prepareMediaVariable(#{$cg-widget}-br-se, solid);
182
132
  border-width: prepareMediaVariable(#{$cg-widget}-br-wh, 0);
183
133
  border-radius: prepareMediaVariable(#{$cg-widget}-br-rs, 0);
184
- box-shadow: prepareMediaVariable(#{$cg-widget}-sw-ae, 0 0)
185
- prepareMediaVariable(#{$cg-widget}-sw-br, 0) prepareMediaVariable(#{$cg-widget}-sw-sd, 0)
186
- prepareMediaVariable(#{$cg-widget}-sw-cr, transparent);
134
+ box-shadow: prepareMediaVariable(#{$cg-widget}-sw-ae, 0 0) prepareMediaVariable(#{$cg-widget}-sw-br, 0) prepareMediaVariable(#{$cg-widget}-sw-sd, 0) prepareMediaVariable(#{$cg-widget}-sw-cr, transparent);
187
135
  }
188
136
  }
137
+
189
138
  // The modal-tree wrapper re-applies the element data-attrs (so the scoped
190
139
  // tree styles reach it through the portal), which makes it also match the
191
140
  // element-level box rules (margin/width). Target it on the SAME element
@@ -195,6 +144,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
195
144
  margin: 0;
196
145
  padding: 4px;
197
146
  }
147
+
198
148
  // -------------------------------------------------------------------
199
149
  // Fixed two-column layout. Figma tokens are the prepareMediaVariable
200
150
  // fallbacks so the design renders correctly before any panel edits.
@@ -217,6 +167,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
217
167
  width: 100%;
218
168
  }
219
169
  }
170
+
220
171
  .cg_mobile_category_select {
221
172
  display: flex;
222
173
  flex-direction: row;
@@ -226,6 +177,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
226
177
  width: 100%;
227
178
  cursor: pointer;
228
179
  }
180
+
229
181
  // Mobile Select-category button (rendered by the shared ButtonComponent as
230
182
  // `.btn__with__text`). Styled from the `selectButton` design block — which
231
183
  // uses the standard button property suffixes — via the cg-design / cg-font
@@ -244,6 +196,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
244
196
  &[data-icon-position="right"] {
245
197
  --_sf-fd-bn: row-reverse;
246
198
  }
199
+
247
200
  &[data-icon-position="left"],
248
201
  &[data-icon-position="center"] {
249
202
  --_sf-fd-bn: row;
@@ -261,32 +214,39 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
261
214
  .icon {
262
215
  display: flex;
263
216
  flex-shrink: 0;
217
+
264
218
  svg {
265
219
  width: prepareMediaVariable(#{$cg-select-btn}-dt-se-in-se, 16px);
266
220
  height: prepareMediaVariable(#{$cg-select-btn}-dt-se-in-se, 16px);
221
+
267
222
  path {
268
223
  stroke: prepareMediaVariable(#{$cg-select-btn}-dt-se-in-c1, currentColor);
269
224
  }
270
225
  }
271
226
  }
227
+
272
228
  .icon--hover {
273
229
  display: none;
274
230
  }
275
231
 
276
232
  &:hover {
277
233
  @include cg-design-state($cg-select-btn, hr-se);
234
+
278
235
  .txt {
279
236
  @include cg-font-state($cg-select-btn, hr-se, #002a4e, 14px, 400);
280
237
  }
238
+
281
239
  .icon--hover {
282
240
  display: flex;
283
241
  }
284
242
  }
243
+
285
244
  // Swap to the hover icon only when one is configured.
286
245
  &:hover:has(.icon--hover) .icon--default {
287
246
  display: none;
288
247
  }
289
248
  }
249
+
290
250
  // Tree rendered inside the (portaled) category modal.
291
251
 
292
252
  // ---- Left sidebar -------------------------------------------------
@@ -303,9 +263,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
303
263
  border-style: prepareMediaVariable(#{$cg-sidebar}-br-se, solid);
304
264
  border-width: prepareMediaVariable(#{$cg-sidebar}-br-wh, 0);
305
265
  border-radius: prepareMediaVariable(#{$cg-sidebar}-br-rs, 0);
306
- box-shadow: prepareMediaVariable(#{$cg-sidebar}-sw-ae, 0 0)
307
- prepareMediaVariable(#{$cg-sidebar}-sw-br, 0) prepareMediaVariable(#{$cg-sidebar}-sw-sd, 0)
308
- prepareMediaVariable(#{$cg-sidebar}-sw-cr, transparent);
266
+ box-shadow: prepareMediaVariable(#{$cg-sidebar}-sw-ae, 0 0) prepareMediaVariable(#{$cg-sidebar}-sw-br, 0) prepareMediaVariable(#{$cg-sidebar}-sw-sd, 0) prepareMediaVariable(#{$cg-sidebar}-sw-cr, transparent);
309
267
  }
310
268
 
311
269
  .cg_sidebar_heading {
@@ -315,12 +273,14 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
315
273
  line-height: 1.25;
316
274
  @include cg-font($cg-cat-heading, #002a4e, 16px, 400);
317
275
  }
276
+
318
277
  .cg_all_products_heading {
319
278
  margin: 0;
320
279
  text-transform: uppercase;
321
280
  line-height: 1.25;
322
281
  @include cg-font($cg-allprod-heading, #002a4e, 24px, 400);
323
282
  }
283
+
324
284
  .cg_subcategory_title {
325
285
  margin: 0;
326
286
  font-family: "Inter", sans-serif;
@@ -338,7 +298,9 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
338
298
  height: prepareMediaVariable(#{$cg-widget}-dr-wh, 1px);
339
299
  background: prepareMediaVariable(#{$cg-widget}-dr-cr, #e5e7eb);
340
300
  }
301
+
341
302
  &[data-show-dividers="false"] {
303
+
342
304
  .cg_sidebar_divider,
343
305
  .cg_main_divider,
344
306
  .cg_subcategory_divider {
@@ -364,6 +326,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
364
326
  cursor: pointer;
365
327
  @include cg-design(#{$cg-tree}-dt-se);
366
328
  }
329
+
367
330
  .cg_tree_node_icon {
368
331
  display: flex;
369
332
  align-items: center;
@@ -374,60 +337,74 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
374
337
  // Configurable expand/collapse icon colour (inherited by the SVG below).
375
338
  color: prepareMediaVariable(#{$cg-tree-icon}-in-c1, #002a4e);
376
339
  }
340
+
377
341
  .cg_chevron {
378
342
  display: flex;
379
343
  align-items: center;
380
344
  justify-content: center;
381
345
  transition: transform 0.15s ease;
382
346
  color: prepareMediaVariable(#{$cg-tree-icon}-in-c1, #002a4e);
347
+
383
348
  svg {
384
349
  width: prepareMediaVariable(#{$cg-tree-icon}-in-se, 20px);
385
350
  height: prepareMediaVariable(#{$cg-tree-icon}-in-se, 20px);
351
+
386
352
  // Apply the configured colour even when the fetched SVG hardcodes its
387
353
  // own stroke/fill (skip parts explicitly set to "none").
388
354
  &[stroke]:not([stroke="none"]),
389
355
  [stroke]:not([stroke="none"]) {
390
356
  stroke: prepareMediaVariable(#{$cg-tree-icon}-in-c1, #002a4e);
391
357
  }
358
+
392
359
  &[fill]:not([fill="none"]),
393
360
  [fill]:not([fill="none"]) {
394
361
  fill: prepareMediaVariable(#{$cg-tree-icon}-in-c1, #002a4e);
395
362
  }
396
363
  }
397
364
  }
365
+
398
366
  .cg_chevron.is-open {
399
367
  transform: rotate(90deg);
400
368
  }
369
+
401
370
  // Expanded icon uses its own size/colour vars (iconSizeExpanded /
402
371
  // iconColorExpanded) so it is independent of the collapsed icon.
403
372
  .cg_chevron.is-expanded {
404
373
  color: prepareMediaVariable(#{$cg-tree-icon}-in-cr-ed, #002a4e);
374
+
405
375
  svg {
406
376
  width: prepareMediaVariable(#{$cg-tree-icon}-in-se-ed, 20px);
407
377
  height: prepareMediaVariable(#{$cg-tree-icon}-in-se-ed, 20px);
378
+
408
379
  &[stroke]:not([stroke="none"]),
409
380
  [stroke]:not([stroke="none"]) {
410
381
  stroke: prepareMediaVariable(#{$cg-tree-icon}-in-cr-ed, #002a4e);
411
382
  }
383
+
412
384
  &[fill]:not([fill="none"]),
413
385
  [fill]:not([fill="none"]) {
414
386
  fill: prepareMediaVariable(#{$cg-tree-icon}-in-cr-ed, #002a4e);
415
387
  }
416
388
  }
417
389
  }
390
+
418
391
  .cg_tree_node_label {
419
392
  flex: 1;
420
393
  @include cg-font(#{$cg-tree}-dt-se, #002a4e, 14px, 600);
421
394
  }
395
+
422
396
  .cg_tree_node:hover {
423
397
  @include cg-design-state($cg-tree, hr-se);
424
398
  }
399
+
425
400
  .cg_tree_node:hover .cg_tree_node_label {
426
401
  @include cg-font-state($cg-tree, hr-se, #002a4e, 14px, 600);
427
402
  }
403
+
428
404
  .cg_tree_node.is-active {
429
405
  @include cg-design-state($cg-tree, sd-se);
430
406
  }
407
+
431
408
  .cg_tree_node.is-active .cg_tree_node_label {
432
409
  @include cg-font-state($cg-tree, sd-se, #002a4e, 14px, 600);
433
410
  }
@@ -440,25 +417,31 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
440
417
  padding-left: 31px;
441
418
  width: 100%;
442
419
  }
420
+
443
421
  .cg_subtree_node {
444
422
  // Sub Category Tree Item → Layout padding.
445
423
  padding: prepareMediaVariable(#{$cg-subtree}-dt-se-pg, 4px 0);
446
424
  cursor: pointer;
447
425
  @include cg-design(#{$cg-subtree}-dt-se);
448
426
  }
427
+
449
428
  .cg_subtree_node_label {
450
429
  letter-spacing: -0.28px;
451
430
  @include cg-font(#{$cg-subtree}-dt-se, #1d1b1c, 14px, 400);
452
431
  }
432
+
453
433
  .cg_subtree_node:hover {
454
434
  @include cg-design-state($cg-subtree, hr-se);
455
435
  }
436
+
456
437
  .cg_subtree_node:hover .cg_subtree_node_label {
457
438
  @include cg-font-state($cg-subtree, hr-se, #1d1b1c, 14px, 400);
458
439
  }
440
+
459
441
  .cg_subtree_node.is-active {
460
442
  @include cg-design-state($cg-subtree, sd-se);
461
443
  }
444
+
462
445
  .cg_subtree_node.is-active .cg_subtree_node_label {
463
446
  @include cg-font-state($cg-subtree, sd-se, #1d1b1c, 14px, 400);
464
447
  }
@@ -481,6 +464,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
481
464
  // separatorIcon. Selected state = the current (last) crumb.
482
465
  .cg_breadcrumb {
483
466
  width: 100%;
467
+
484
468
  .horizontal_breadcrumb_wrapper {
485
469
  display: inline-flex;
486
470
  align-items: center;
@@ -489,6 +473,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
489
473
  overflow-x: auto;
490
474
  gap: 6px;
491
475
  }
476
+
492
477
  .breadcrumb_item {
493
478
  padding: 0 4px;
494
479
  display: flex;
@@ -497,18 +482,22 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
497
482
  white-space: nowrap;
498
483
  @include cg-design(#{$cg-bc-item}-dt-se);
499
484
  @include cg-font(#{$cg-bc-item}-dt-se, #4b4546, 14px, 400);
485
+
500
486
  &[data-show-cursor="true"] {
501
487
  cursor: pointer;
502
488
  }
489
+
503
490
  &[data-show-cursor="true"]:hover {
504
491
  @include cg-design-state($cg-bc-item, hr-se);
505
492
  @include cg-font-state($cg-bc-item, hr-se, #4b4546, 14px, 400);
506
493
  }
494
+
507
495
  &:last-of-type {
508
496
  @include cg-design-state($cg-bc-item, sd-se);
509
497
  @include cg-font-state($cg-bc-item, sd-se, #1d1b1c, 14px, 600);
510
498
  }
511
499
  }
500
+
512
501
  // Collapse ("…") button shown when the trail is too deep.
513
502
  .collapse_btn {
514
503
  display: flex;
@@ -520,11 +509,14 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
520
509
  line-height: 1;
521
510
  @include cg-font(#{$cg-bc-item}-dt-se, #4b4546, 16px, 600);
522
511
  }
512
+
523
513
  .separator .icon {
524
514
  display: flex;
515
+
525
516
  svg {
526
517
  width: prepareMediaVariable(#{$cg-bc-sep}-in-se, 16px);
527
518
  height: prepareMediaVariable(#{$cg-bc-sep}-in-se, 16px);
519
+
528
520
  path {
529
521
  stroke: prepareMediaVariable(#{$cg-bc-sep}-in-c1, #8a8a8a);
530
522
  }
@@ -542,6 +534,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
542
534
  gap: prepareMediaVariable(#{$cg-main}-im-gp, 12px);
543
535
  width: 100%;
544
536
  }
537
+
545
538
  // The horizontal chip row: left arrow + scrolling rail + right arrow.
546
539
  .cg_subcategory_row {
547
540
  display: flex;
@@ -549,6 +542,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
549
542
  gap: 12px;
550
543
  width: 100%;
551
544
  }
545
+
552
546
  .cg_subcategory_divider {
553
547
  width: 100%;
554
548
  // Widget Style → Divider (colour + thickness), same as the other dividers.
@@ -556,6 +550,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
556
550
  background: prepareMediaVariable(#{$cg-widget}-dr-cr, #cbd5e1);
557
551
  flex-shrink: 0;
558
552
  }
553
+
559
554
  .cg_scroller_arrow {
560
555
  display: flex;
561
556
  align-items: center;
@@ -567,18 +562,19 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
567
562
  @include cg-design(#{$cg-arrow}-dt-se);
568
563
  // Icon colour (in-c1) drives the SVG `currentColor` stroke.
569
564
  color: prepareMediaVariable(#{$cg-arrow}-dt-se-in-c1, #002a4e);
565
+
570
566
  svg {
571
567
  width: prepareMediaVariable(#{$cg-arrow}-dt-se-in-se, 20px);
572
568
  height: prepareMediaVariable(#{$cg-arrow}-dt-se-in-se, 20px);
573
569
  }
570
+
574
571
  &:hover {
575
572
  @include cg-design-state($cg-arrow, hr-se);
576
- color: prepareMediaVariable(
577
- #{$cg-arrow}-hr-se-in-c1,
578
- prepareMediaVariable(#{$cg-arrow}-dt-se-in-c1, #002a4e)
579
- );
573
+ color: prepareMediaVariable(#{$cg-arrow}-hr-se-in-c1,
574
+ prepareMediaVariable(#{$cg-arrow}-dt-se-in-c1, #002a4e));
580
575
  }
581
576
  }
577
+
582
578
  .cg_chip_rail {
583
579
  display: flex;
584
580
  align-items: center;
@@ -587,10 +583,12 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
587
583
  min-width: 0;
588
584
  overflow-x: auto;
589
585
  scrollbar-width: none;
586
+
590
587
  &::-webkit-scrollbar {
591
588
  display: none;
592
589
  }
593
590
  }
591
+
594
592
  .cg_chip {
595
593
  display: flex;
596
594
  align-items: center;
@@ -601,6 +599,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
601
599
  padding: 0;
602
600
  @include cg-design(#{$cg-chip}-dt-se);
603
601
  }
602
+
604
603
  .cg_chip_icon {
605
604
  display: flex;
606
605
  align-items: center;
@@ -613,34 +612,42 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
613
612
  color: #002a4e;
614
613
  // Sub Category Image design controls (fill / border / radius / shadow).
615
614
  @include cg-design($cg-chip-image);
615
+
616
616
  img {
617
617
  width: 100%;
618
618
  height: 100%;
619
619
  object-fit: cover;
620
620
  transition: transform 0.3s ease-in-out;
621
621
  }
622
+
622
623
  // Image Settings -> On Hover (zoom).
623
624
  &[data-on-hover="Zoom In"]:hover img {
624
625
  transform: scale(1.08);
625
626
  }
627
+
626
628
  &[data-on-hover="Zoom Out"]:hover img {
627
629
  transform: scale(0.92);
628
630
  }
629
631
  }
632
+
630
633
  .cg_chip_label {
631
634
  padding: 4px 12px;
632
635
  white-space: nowrap;
633
636
  @include cg-font(#{$cg-chip}-dt-se, #002a4e, 14px, 400);
634
637
  }
638
+
635
639
  .cg_chip:hover {
636
640
  @include cg-design-state($cg-chip, hr-se);
637
641
  }
642
+
638
643
  .cg_chip:hover .cg_chip_label {
639
644
  @include cg-font-state($cg-chip, hr-se, #002a4e, 14px, 400);
640
645
  }
646
+
641
647
  .cg_chip.is-active {
642
648
  @include cg-design-state($cg-chip, sd-se);
643
649
  }
650
+
644
651
  .cg_chip.is-active .cg_chip_label {
645
652
  @include cg-font-state($cg-chip, sd-se, #002a4e, 14px, 400);
646
653
  }
@@ -655,8 +662,10 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
655
662
  // Grid container fill / border / radius / shadow.
656
663
  @include cg-design(#{$cg-grid}-lt);
657
664
  }
665
+
658
666
  // Display styles (Grid / Cards / Slider) for the product grid.
659
667
  @import "./category-groups-product-grid.scss";
668
+
660
669
  .cg_product_card {
661
670
  display: flex;
662
671
  flex-direction: column;
@@ -666,9 +675,11 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
666
675
  min-width: 0;
667
676
  @include cg-design(#{$cg-card}-dt-se);
668
677
  }
678
+
669
679
  .cg_product_card:hover {
670
680
  @include cg-design-state($cg-card, hr-se);
671
681
  }
682
+
672
683
  .cg_product_image_wrapper {
673
684
  position: relative;
674
685
  width: 100%;
@@ -678,6 +689,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
678
689
  // rebound to the Category Groups productImage CSS-variable paths.
679
690
  @import "./category-groups-product-image.scss";
680
691
  }
692
+
681
693
  // Fallback image (rendered only when the Product Image setting is absent).
682
694
  .cg_product_image {
683
695
  display: block;
@@ -685,29 +697,35 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
685
697
  height: 400px;
686
698
  object-fit: cover;
687
699
  }
700
+
688
701
  .cg_product_info {
689
702
  display: flex;
690
703
  flex-direction: column;
691
704
  // Product Card → content gap (between brand / name / price / options).
692
705
  gap: prepareMediaVariable(#{$cg-card}-dt-se-ct-gp, 12px);
693
706
  }
707
+
694
708
  .cg_brand_name {
695
709
  margin: 0;
696
710
  @include cg-font($cg-brand, #737373, 14px, 400);
711
+
697
712
  // Text overflow toggle + max lines (Brand Name design controls).
698
713
  &.flex__overflow {
699
714
  @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
700
715
  }
701
716
  }
717
+
702
718
  .cg_product_name {
703
719
  margin: 0;
704
720
  letter-spacing: -0.32px;
705
721
  @include cg-font($cg-name, #0a3355, 16px, 600);
722
+
706
723
  // Text overflow toggle + max lines (Product Name design controls).
707
724
  &.flex__overflow {
708
725
  @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
709
726
  }
710
727
  }
728
+
711
729
  .cg_product_price {
712
730
  margin: 0;
713
731
  display: flex;
@@ -715,6 +733,7 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
715
733
  gap: 6px;
716
734
  @include cg-font($cg-price, #000, 16px, 800);
717
735
  }
736
+
718
737
  .cg_variants_text {
719
738
  margin: 0;
720
739
  @include cg-font($cg-variants, #737373, 14px, 400);
@@ -736,4 +755,4 @@ $cg-select-btn: "--_ctm-catego-dn-st-bn"; // selectButton (mobile category selec
736
755
  justify-content: center;
737
756
  }
738
757
  }
739
- }
758
+ }