@sc-360-v2/storefront-cms-library 0.5.69 → 0.5.71

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 (158) hide show
  1. package/dist/add-existing-form.scss +68 -68
  2. package/dist/add-products-tab-details.scss +4071 -4071
  3. package/dist/add-products-tab-uom-details.scss +1106 -1106
  4. package/dist/add-products-tab.scss +2377 -2377
  5. package/dist/allocation-header-quota-details.scss +609 -609
  6. package/dist/allocations-quota-details.scss +525 -525
  7. package/dist/amount-estimator.scss +1192 -1192
  8. package/dist/animation-control.scss +23 -23
  9. package/dist/badge.scss +408 -408
  10. package/dist/brand-basic-elements.scss +387 -387
  11. package/dist/brand.scss +142 -142
  12. package/dist/breadcrumbs.scss +966 -966
  13. package/dist/builder.js +1 -1
  14. package/dist/bulk-order-pad.scss +692 -692
  15. package/dist/bundleCategories.scss +301 -301
  16. package/dist/bundleDetails.scss +6189 -6189
  17. package/dist/buy-for-tab-container.scss +141 -141
  18. package/dist/buy-for-tab.scss +649 -649
  19. package/dist/buy-for-tabs-container-item.scss +80 -80
  20. package/dist/buyForPopup.scss +339 -339
  21. package/dist/cart-details.scss +3986 -3986
  22. package/dist/cart-products-sidebar.scss +211 -211
  23. package/dist/cart-summary.scss +2826 -2826
  24. package/dist/cart-wrapper.scss +127 -127
  25. package/dist/cartAttributes.scss +1422 -1422
  26. package/dist/cartDropdownOverlay.scss +653 -653
  27. package/dist/cartGrouping.scss +89 -89
  28. package/dist/category-groups-element.scss +739 -739
  29. package/dist/category-groups-quota-details.scss +626 -626
  30. package/dist/category.scss +137 -137
  31. package/dist/categoryDetails.scss +61 -61
  32. package/dist/categoryWidget.scss +34 -34
  33. package/dist/checkbox-radio.scss +124 -124
  34. package/dist/code-temp.scss +59 -59
  35. package/dist/colorpicker_v2.scss +62 -62
  36. package/dist/common-element.scss +35 -35
  37. package/dist/confirm-modal.scss +370 -370
  38. package/dist/confirmationModal.scss +139 -139
  39. package/dist/contact-us.scss +105 -105
  40. package/dist/container.scss +168 -168
  41. package/dist/countdown.scss +899 -899
  42. package/dist/coupon.scss +1519 -1519
  43. package/dist/custom-fonts.scss +100 -100
  44. package/dist/customization-tree.scss +162 -162
  45. package/dist/default-dropdown.scss +259 -259
  46. package/dist/dropdownTemplate.scss +699 -699
  47. package/dist/editCartItem.scss +110 -110
  48. package/dist/embed-temp.scss +73 -73
  49. package/dist/embroider-preview-element.scss +94 -94
  50. package/dist/embroider-template-1-v2.scss +1105 -1105
  51. package/dist/embroider-template-1.scss +501 -501
  52. package/dist/embroidery.scss +247 -247
  53. package/dist/employee-bulk-order.scss +4060 -4060
  54. package/dist/emtpy-templates.scss +165 -165
  55. package/dist/faq.scss +696 -696
  56. package/dist/fb-dropdown.scss +135 -135
  57. package/dist/filter-results.scss +361 -361
  58. package/dist/filters.scss +3040 -3040
  59. package/dist/flex-text-editor.scss +271 -271
  60. package/dist/form-preview.scss +530 -530
  61. package/dist/gallery-slider-temp.scss +1776 -1776
  62. package/dist/global-styles.scss +198 -198
  63. package/dist/grid.scss +169 -169
  64. package/dist/icon-library.scss +78 -78
  65. package/dist/icon-list.scss +39 -0
  66. package/dist/image-for-product.scss +21 -21
  67. package/dist/image-temp.scss +203 -203
  68. package/dist/item-stock.scss +93 -93
  69. package/dist/kitDetails.scss +5739 -5739
  70. package/dist/kits.scss +305 -305
  71. package/dist/language-selector.scss +948 -948
  72. package/dist/last-x-orders.scss +285 -285
  73. package/dist/layouter-item.scss +141 -141
  74. package/dist/layouter-pro-item.scss +139 -139
  75. package/dist/layouter-pro.scss +134 -134
  76. package/dist/layouter.scss +491 -491
  77. package/dist/light-box-v2.scss +155 -155
  78. package/dist/lightbox.scss +78 -78
  79. package/dist/loader.scss +37 -37
  80. package/dist/login.scss +29 -11
  81. package/dist/map.scss +1359 -1359
  82. package/dist/marchandiserSets.scss +141 -141
  83. package/dist/mega-menu-container.scss +152 -152
  84. package/dist/menu-item.scss +19 -19
  85. package/dist/menu-v2.scss +999 -999
  86. package/dist/menu.scss +174 -174
  87. package/dist/multi-select-dropdown.scss +316 -316
  88. package/dist/my-templates.scss +477 -477
  89. package/dist/my-wishlist.scss +27 -27
  90. package/dist/option-bar.scss +886 -886
  91. package/dist/order-processing.scss +61 -61
  92. package/dist/order-status.scss +2187 -2187
  93. package/dist/overflow-module.scss +63 -63
  94. package/dist/past-orders.scss +1039 -1039
  95. package/dist/payment-methods.scss +307 -307
  96. package/dist/phone-input.scss +208 -208
  97. package/dist/pickup-locations.scss +1359 -1359
  98. package/dist/position-module.scss +95 -95
  99. package/dist/prefix-list.scss +86 -86
  100. package/dist/product-actions.scss +2872 -2872
  101. package/dist/product-basic-elements.scss +600 -600
  102. package/dist/product-customizations.scss +155 -155
  103. package/dist/product-highlights.scss +348 -348
  104. package/dist/product-image-allocation.scss +1477 -1477
  105. package/dist/product-inventory.scss +1621 -1621
  106. package/dist/product-labels.scss +265 -265
  107. package/dist/product-options.scss +1444 -1444
  108. package/dist/product-price.scss +4 -0
  109. package/dist/product-promotions.scss +3224 -3224
  110. package/dist/product-sizechart.scss +1921 -1921
  111. package/dist/product.scss +140 -140
  112. package/dist/profile.scss +824 -824
  113. package/dist/quantity-selector.scss +1074 -1074
  114. package/dist/quick-inventory-check.scss +285 -285
  115. package/dist/quick-links.scss +627 -627
  116. package/dist/quota-details.scss +526 -526
  117. package/dist/quotes.scss +847 -847
  118. package/dist/repeater-embla-controls.scss +211 -211
  119. package/dist/repeater-grid-toggle.scss +206 -206
  120. package/dist/repeater-item.scss +152 -152
  121. package/dist/repeater.scss +946 -946
  122. package/dist/request-for-quotes.scss +841 -841
  123. package/dist/responsive-behaviour.scss +29 -29
  124. package/dist/rfqs.scss +861 -861
  125. package/dist/scroll.scss +414 -414
  126. package/dist/search-results-heading.scss +309 -309
  127. package/dist/search.scss +689 -689
  128. package/dist/section.scss +276 -276
  129. package/dist/shareCartSideBar.scss +254 -254
  130. package/dist/shipping-estimator.scss +41 -41
  131. package/dist/shipping-payments.scss +2518 -2518
  132. package/dist/simple-list.scss +338 -338
  133. package/dist/skeleton.scss +64 -64
  134. package/dist/spotlight.scss +1706 -1706
  135. package/dist/stack.scss +171 -171
  136. package/dist/static-global.scss +292 -292
  137. package/dist/static-text.scss +52 -52
  138. package/dist/stockStatus.scss +70 -70
  139. package/dist/store-locations.scss +1592 -1592
  140. package/dist/sub-category.scss +74 -74
  141. package/dist/submit-quote.scss +275 -275
  142. package/dist/tab-container-item.scss +80 -80
  143. package/dist/tab-container.scss +141 -141
  144. package/dist/table.scss +9 -0
  145. package/dist/tabs.scss +440 -440
  146. package/dist/text-temp.scss +109 -109
  147. package/dist/theme-classes.scss +421 -421
  148. package/dist/toaster.scss +392 -392
  149. package/dist/toggle-button.scss +32 -32
  150. package/dist/transform-properties-module.scss +20 -20
  151. package/dist/types/builder/tools/element-edit/icon-list.d.ts +5 -0
  152. package/dist/types/builder/tools/element-edit/login.d.ts +1 -0
  153. package/dist/types/builder/tools/element-edit/resetPassword.d.ts +1 -0
  154. package/dist/types/builder/tools/element-edit/userElements.d.ts +99 -0
  155. package/dist/user-elements.scss +2896 -2911
  156. package/dist/widget.scss +153 -153
  157. package/dist/wishlist-overlay.scss +48 -48
  158. package/package.json +1 -1
@@ -1,526 +1,526 @@
1
- @use "sass:map";
2
- @use "sass:list";
3
- @use "./functions.scss" as *;
4
-
5
- $overflowSelector: ".flex__overflow";
6
-
7
- [data-div-type="element"] {
8
- &[data-element-type="quotaDetails"] {
9
- // width: var(--_lt-wh);
10
- // height: var(--_lt-ht);
11
- // margin: var(--_lt-mn);
12
- // padding: var(--_lt-pg);
13
- // width: var(--_ctm-lt-wh, var(--_tst-lt-wh));
14
- // width: 50%;
15
- // width: var(--_sf-nw-wh, var(--_tst-lt-wh));
16
- // Reads the percentage the left/right resize handles write, same as FAQ. Without
17
- // this the handles (and the Layout > Width input) drag a value nothing consumes.
18
- width: var(
19
- --_sf-el-wh-st-mx,
20
- calc(
21
- 1% * var(--_ctm-mob-ele-nw-wh-vl, var(--_ctm-tab-ele-nw-wh-vl, var(--_ctm-ele-nw-wh-vl)))
22
- )
23
- );
24
- // Floor for the width above: the two items plus their icons stop reading as a row
25
- // below this, and dragging past it only produced a squeezed, wrapped box.
26
- min-width: 300px !important;
27
- margin: var(--_ctm-mob-lt-mn, var(--_ctm-tab-lt-mn, var(--_ctm-lt-mn)));
28
- // aspect-ratio: 1 / var(--_sf-aspect-ratio);
29
-
30
- --_aspect-ratio: calc(
31
- 1 *
32
- (
33
- var(--_ctm-mob-lt-ht, var(--_ctm-tab-lt-ht, var(--_ctm-lt-ht))) /
34
- var(--_ctm-mob-lt-wh, var(--_ctm-tab-lt-wh, var(--_ctm-lt-wh)))
35
- )
36
- );
37
- // height: clamp(var(--_ctm-lt-ht, 50px), 100px, auto) !important;
38
- // height: var(--_ctm-lt-ht);
39
- // height: ;
40
- // height: auto;
41
- // aspect-ratio: 1 / var(--_sf-aspect-ratio);
42
- // --_aspect-ratio: calc(
43
- // 1 * (var(--_ctm-lt-ht, var(--_tst-lt-ht)) / var(--_ctm-lt-wh, var(--_tst-lt-wh)))
44
- // );
45
-
46
- // &[data-element-sub-child="true"] {
47
- // // width: max(var(--_sf-nw-wh, var(--_tst-lt-wh)));
48
- // width: var(--_sf-el-wh-st-mx, calc(1% * var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh))));
49
- // }
50
-
51
- & > .wrapper {
52
- width: 100%;
53
- height: auto;
54
- }
55
- &[data-show-shadow="false"] {
56
- --_show-shadow: none;
57
- }
58
-
59
- .quota__details__element {
60
- background-color: var(
61
- --_ctm-mob-dn-wt-se-bd-cr,
62
- var(--_ctm-tab-dn-wt-se-bd-cr, var(--_ctm-dn-wt-se-bd-cr))
63
- );
64
- padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
65
- display: flex;
66
- flex-direction: column;
67
- --_sf-gp: var(
68
- --_ctm-mob-lt-im-sg,
69
- var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg, var(--_ctm-lt-im-sg), 16px))
70
- );
71
- --_sf-cd-gp: calc(var(--_sf-gp) * 0.5);
72
- row-gap: var(--_sf-gp);
73
- width: 100%;
74
- // width: fit-content;
75
- height: auto;
76
- border-color: var(
77
- --_ctm-mob-dn-wt-se-br-cr,
78
- var(--_ctm-tab-dn-wt-se-br-cr, var(--_ctm-dn-wt-se-br-cr))
79
- );
80
- border-style: var(
81
- --_ctm-mob-dn-wt-se-br-se,
82
- var(--_ctm-tab-dn-wt-se-br-se, var(--_ctm-dn-wt-se-br-se))
83
- );
84
- border-width: var(
85
- --_ctm-mob-dn-wt-se-br-wh,
86
- var(--_ctm-tab-dn-wt-se-br-wh, var(--_ctm-dn-wt-se-br-wh))
87
- );
88
- border-radius: var(
89
- --_ctm-mob-dn-wt-se-br-rs,
90
- var(--_ctm-tab-dn-wt-se-br-rs, var(--_ctm-dn-wt-se-br-rs))
91
- );
92
- box-shadow: var(
93
- --_show-shadow,
94
- var(--_ctm-mob-dn-wt-se-sw-ae, var(--_ctm-tab-dn-wt-se-sw-ae, var(--_ctm-dn-wt-se-sw-ae)))
95
- var(--_ctm-mob-dn-wt-se-sw-br, var(--_ctm-tab-dn-wt-se-sw-br, var(--_ctm-dn-wt-se-sw-br)))
96
- var(--_ctm-mob-dn-wt-se-sw-sd, var(--_ctm-tab-dn-wt-se-sw-sd, var(--_ctm-dn-wt-se-sw-sd)))
97
- var(--_ctm-mob-dn-wt-se-sw-cr, var(--_ctm-tab-dn-wt-se-sw-cr, var(--_ctm-dn-wt-se-sw-cr)))
98
- );
99
-
100
- .product__hilights {
101
- display: flex;
102
- align-items: var(--_ctm-mob-lt-wt-at, var(--_ctm-tab-lt-wt-at, var(--_ctm-lt-wt-at)));
103
- // Design > Widget Style > alignment, falling back to the Layout panel's own
104
- // alignment so elements set up before the design control existed keep theirs.
105
- justify-content: prepareMediaVariable(
106
- --_ctm-dn-wt-se-hl-at,
107
- prepareMediaVariable(--_ctm-lt-hl-at)
108
- );
109
- gap: var(--_ctm-mob-lt-im-sg, var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg)));
110
- width: 100%;
111
-
112
- height: 100%;
113
-
114
- &[data-show-dividers="true"] {
115
- // Divider > Shape Size and Shape Color are the only two controls the panel
116
- // offers for the item: Size is the marker's diameter for circle and square
117
- // and the rule's thickness for the plain line, Color paints all three. The
118
- // keys the panel used to expose (Divider Height / Divider Color) stay as
119
- // fallbacks so a divider styled before the change keeps its look.
120
- //
121
- // The `-dr-dr-` doubling is not a typo — the first is the `divider` node,
122
- // the second the `divider…` property name. These two vars were written with
123
- // only one, which is exactly why neither control did anything.
124
- $shapeSize: prepareMediaVariable(
125
- --_ctm-dn-dr-dr-se-se,
126
- prepareMediaVariable(--_ctm-dn-dr-dr-wh, 1px)
127
- );
128
- $shapeColor: prepareMediaVariable(
129
- --_ctm-dn-dr-dr-se-cr,
130
- prepareMediaVariable(--_ctm-dn-dr-dr-cr, #e4e7ec)
131
- );
132
-
133
- .product__list__item {
134
- position: relative;
135
- // The rule is a pseudo-element and takes no space of its own, so a wide one
136
- // grew back over the item beside it — see dividerGapReserve in functions.scss.
137
- &:not(:last-child) {
138
- @include dividerGapReserve($shapeSize, right);
139
- }
140
- &:not(:last-child)::after {
141
- content: "";
142
- width: $shapeSize;
143
- height: 100%;
144
- position: absolute;
145
- right: dividerGapOffset(--_ctm-lt-im-sg, $shapeSize);
146
- background-color: $shapeColor;
147
- }
148
-
149
- // Divider item (Divider -> Item Style). The rule above spans the width it was
150
- // given starting half the item spacing past the item, so its centre sits at
151
- // -(gap/2) - (width/2) — the marker is pinned there and translated half its
152
- // own width back, leaving it centred on the rule.
153
- .divider__marker {
154
- position: absolute;
155
- top: 50%;
156
- right: dividerMarkerOffset(--_ctm-lt-im-sg, $shapeSize);
157
- transform: translate(50%, -50%);
158
- display: flex;
159
- align-items: center;
160
- justify-content: center;
161
- z-index: 1;
162
-
163
- // 8px rather than the rule's thickness when Shape Size is absent: a
164
- // marker falling back to a hairline would read as missing.
165
- &[data-shape="circle"],
166
- &[data-shape="square"] {
167
- width: prepareMediaVariable(--_ctm-dn-dr-dr-se-se, 8px);
168
- height: prepareMediaVariable(--_ctm-dn-dr-dr-se-se, 8px);
169
- background-color: $shapeColor;
170
- }
171
-
172
- &[data-shape="circle"] {
173
- border-radius: 50%;
174
- }
175
-
176
- // Paints the widget background behind itself, so the rule breaks
177
- // around the icon instead of striking through it.
178
- &[data-shape="icon"] {
179
- padding-block: 2px;
180
- background-color: prepareMediaVariable(--_ctm-dn-wt-se-bd-cr, #ffffff);
181
- }
182
-
183
- .icon {
184
- display: flex;
185
-
186
- svg {
187
- width: prepareMediaVariable(--_ctm-dn-dr-in-se, 12px);
188
- height: prepareMediaVariable(--_ctm-dn-dr-in-se, 12px);
189
-
190
- // Colour whether the icon is drawn with strokes or fills (skipping
191
- // parts explicitly set to "none") — the default "dot" is filled,
192
- // most others are stroked.
193
- &[stroke]:not([stroke="none"]),
194
- [stroke]:not([stroke="none"]) {
195
- stroke: prepareMediaVariable(--_ctm-dn-dr-in-c1, #e4e7ec);
196
- // Overrides the stroke-width presentation attribute baked into the icon markup.
197
- stroke-width: prepareMediaVariable(--_ctm-dn-dr-se-wh, 1.25);
198
- }
199
- &[fill]:not([fill="none"]),
200
- [fill]:not([fill="none"]) {
201
- fill: prepareMediaVariable(--_ctm-dn-dr-in-c1, #e4e7ec);
202
- }
203
- }
204
- }
205
- }
206
-
207
- // The marker is rendered inside every item; only the ones that carry a
208
- // rule show it, so it can never trail off the end of the row.
209
- &:last-child .divider__marker {
210
- display: none;
211
- }
212
- }
213
-
214
- // A shape or icon marker REPLACES the rule rather than sitting on it, so the
215
- // rule is drawn only while the separator is the plain "divider".
216
- &:not([data-divider-item="divider"]) .product__list__item:not(:last-child)::after {
217
- display: none;
218
- }
219
- }
220
- .product__list__item {
221
- display: flex;
222
- align-items: center;
223
- gap: 4px;
224
- // Flex items default to min-width:auto, so they refuse to shrink below
225
- // their text width. Narrowing the element used to push this row outside
226
- // the element box instead of reflowing it inside.
227
- min-width: 0;
228
-
229
- .svg_icon {
230
- display: flex;
231
- }
232
- }
233
- .quota__left {
234
- .count {
235
- // padding-inline: var(--_sf-cd-gp);
236
- // No `white-space: nowrap` here: it stopped the text reflowing when the
237
- // element is narrowed, and it would also defeat the line clamp below,
238
- // which needs the text to wrap before it can restrict it to N lines.
239
- min-width: 0;
240
- color: var(
241
- --_ctm-mob-dn-qa-lt-cr,
242
- var(--_ctm-tab-dn-qa-lt-cr, var(--_ctm-dn-qa-lt-cr))
243
- );
244
- font-family: var(
245
- --_ctm-mob-dn-qa-lt-ft-fy,
246
- var(--_ctm-tab-dn-qa-lt-ft-fy, var(--_ctm-dn-qa-lt-ft-fy))
247
- );
248
- font-size: var(
249
- --_ctm-mob-dn-qa-lt-ft-se,
250
- var(--_ctm-tab-dn-qa-lt-ft-se, var(--_ctm-dn-qa-lt-ft-se))
251
- );
252
- font-weight: var(
253
- --_ctm-mob-dn-qa-lt-ft-wt,
254
- var(--_ctm-tab-dn-qa-lt-ft-wt, var(--_ctm-dn-qa-lt-ft-wt))
255
- );
256
- font-style: var(
257
- --_ctm-mob-dn-qa-lt-ft-se-ic,
258
- var(--_ctm-tab-dn-qa-lt-ft-se-ic, var(--_ctm-dn-qa-lt-ft-se-ic))
259
- );
260
- text-align: var(
261
- --_ctm-mob-dn-qa-lt-tt-an,
262
- var(--_ctm-tab-dn-qa-lt-tt-an, var(--_ctm-dn-qa-lt-tt-an))
263
- );
264
- letter-spacing: var(
265
- --_ctm-mob-dn-qa-lt-lr-sg,
266
- var(--_ctm-tab-dn-qa-lt-lr-sg, var(--_ctm-dn-qa-lt-lr-sg))
267
- );
268
- line-height: var(
269
- --_ctm-mob-dn-qa-lt-le-ht,
270
- var(--_ctm-tab-dn-qa-lt-le-ht, var(--_ctm-dn-qa-lt-le-ht-dc))
271
- );
272
- text-decoration: var(
273
- --_ctm-mob-dn-qa-lt-ue,
274
- var(--_ctm-tab-dn-qa-lt-ue, var(--_ctm-dn-qa-lt-ue))
275
- );
276
- text-transform: var(
277
- --_ctm-mob-dn-qa-lt-tt-tm,
278
- var(--_ctm-tab-dn-qa-lt-tt-tm, var(--_ctm-dn-qa-lt-tt-tm, none))
279
- );
280
- word-wrap: var(
281
- --_ctm-mob-dn-qa-lt-wd-wp,
282
- var(--_ctm-tab-dn-qa-lt-wd-wp, var(--_ctm-dn-qa-lt-wd-wp, normal))
283
- );
284
- word-break: var(
285
- --_ctm-mob-dn-qa-lt-wd-bk,
286
- var(--_ctm-tab-dn-qa-lt-wd-bk, var(--_ctm-dn-qa-lt-wd-bk, normal))
287
- );
288
-
289
- &#{$overflowSelector} {
290
- @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
291
- }
292
- }
293
- .label {
294
- // padding-inline: var(--_sf-cd-gp);
295
- // No `white-space: nowrap` here: it stopped the text reflowing when the
296
- // element is narrowed, and it would also defeat the line clamp below,
297
- // which needs the text to wrap before it can restrict it to N lines.
298
- min-width: 0;
299
- color: var(
300
- --_ctm-mob-dn-qa-lt-cr-dc-dc,
301
- var(--_ctm-tab-dn-qa-lt-cr-dc, var(--_ctm-dn-qa-lt-cr-dc))
302
- );
303
- font-family: var(
304
- --_ctm-mob-dn-qa-lt-ft-fy-dc,
305
- var(--_ctm-tab-dn-qa-lt-ft-fy-dc, var(--_ctm-dn-qa-lt-ft-fy-dc))
306
- );
307
- font-size: var(
308
- --_ctm-mob-dn-qa-lt-ft-se-dc,
309
- var(--_ctm-tab-dn-qa-lt-ft-se-dc, var(--_ctm-dn-qa-lt-ft-se-dc))
310
- );
311
- font-weight: var(
312
- --_ctm-mob-dn-qa-lt-ft-wt-dc,
313
- var(--_ctm-tab-dn-qa-lt-ft-wt-dc, var(--_ctm-dn-qa-lt-ft-wt-dc))
314
- );
315
- font-style: var(
316
- --_ctm-mob-dn-qa-lt-ft-se-ic-dc,
317
- var(--_ctm-tab-dn-qa-lt-ft-se-ic-dc, var(--_ctm-dn-qa-lt-ft-se-ic-dc))
318
- );
319
- text-align: var(
320
- --_ctm-mob-dn-qa-lt-tt-an-dc,
321
- var(--_ctm-tab-dn-qa-lt-tt-an-dc, var(--_ctm-dn-qa-lt-tt-an-dc))
322
- );
323
- letter-spacing: var(
324
- --_ctm-mob-dn-qa-lt-lr-sg-dc,
325
- var(--_ctm-tab-dn-qa-lt-lr-sg-dc, var(--_ctm-dn-qa-lt-lr-sg-dc))
326
- );
327
- line-height: var(
328
- --_ctm-mob-dn-qa-lt-le-ht-dc,
329
- var(--_ctm-tab-dn-qa-lt-le-ht-dc, var(--_ctm-dn-qa-lt-le-ht-dc-dc))
330
- );
331
- text-decoration: var(
332
- --_ctm-mob-dn-qa-lt-ue-dc,
333
- var(--_ctm-tab-dn-qa-lt-ue-dc, var(--_ctm-dn-qa-lt-ue-dc))
334
- );
335
- text-transform: var(
336
- --_ctm-mob-dn-qa-lt-tt-tm-dc,
337
- var(--_ctm-tab-dn-qa-lt-tt-tm-dc, var(--_ctm-dn-qa-lt-tt-tm-dc, none))
338
- );
339
- word-wrap: var(
340
- --_ctm-mob-dn-qa-lt-wd-wp-dc,
341
- var(--_ctm-tab-dn-qa-lt-wd-wp-dc, var(--_ctm-dn-qa-lt-wd-wp-dc, normal))
342
- );
343
- word-break: var(
344
- --_ctm-mob-dn-qa-lt-wd-bk-dc,
345
- var(--_ctm-tab-dn-qa-lt-wd-bk-dc, var(--_ctm-dn-qa-lt-wd-bk-dc, normal))
346
- );
347
-
348
- &#{$overflowSelector} {
349
- @include restrictToLinesShow(#{var(--_sf-line-clamp-desc, 1)});
350
- }
351
- }
352
- .icon {
353
- display: var(--_sf-show-icon-ff, flex);
354
- svg {
355
- width: var(
356
- --_ctm-mab-dn-qa-lt-in-se,
357
- var(--_ctm-tab-dn-qa-lt-in-se, var(--_ctm-dn-qa-lt-in-se))
358
- );
359
- height: var(
360
- --_ctm-mob-dn-qa-lt-in-se,
361
- var(--_ctm-tab-dn-qa-lt-in-se, var(--_ctm-dn-qa-lt-in-se))
362
- );
363
- path {
364
- stroke: var(
365
- --_ctm-mob-dn-qa-lt-in-c1,
366
- var(--_ctm-tab-dn-qa-lt-in-c1, var(--_ctm-dn-qa-lt-in-c1))
367
- );
368
- // Overrides the stroke-width presentation attribute baked into the
369
- // icon markup; 1 keeps the icon as authored when nothing is set.
370
- stroke-width: var(
371
- --_ctm-mob-dn-qa-lt-se-wh,
372
- var(--_ctm-tab-dn-qa-lt-se-wh, var(--_ctm-dn-qa-lt-se-wh, 1))
373
- );
374
- }
375
- }
376
- }
377
- }
378
- .days__left {
379
- .count {
380
- // padding-inline: var(--_sf-cd-gp);
381
- // No `white-space: nowrap` here: it stopped the text reflowing when the
382
- // element is narrowed, and it would also defeat the line clamp below,
383
- // which needs the text to wrap before it can restrict it to N lines.
384
- min-width: 0;
385
- color: var(
386
- --_ctm-mob-dn-ds-lt-cr,
387
- var(--_ctm-tab-dn-ds-lt-cr, var(--_ctm-dn-ds-lt-cr))
388
- );
389
- font-family: var(
390
- --_ctm-mob-dn-ds-lt-ft-fy,
391
- var(--_ctm-tab-dn-ds-lt-ft-fy, var(--_ctm-dn-ds-lt-ft-fy))
392
- );
393
- font-size: var(
394
- --_ctm-mob-dn-ds-lt-ft-se,
395
- var(--_ctm-tab-dn-ds-lt-ft-se, var(--_ctm-dn-ds-lt-ft-se))
396
- );
397
- font-weight: var(
398
- --_ctm-mob-dn-ds-lt-ft-wt,
399
- var(--_ctm-tab-dn-ds-lt-ft-wt, var(--_ctm-dn-ds-lt-ft-wt))
400
- );
401
- font-style: var(
402
- --_ctm-mob-dn-ds-lt-ft-se-ic,
403
- var(--_ctm-tab-dn-ds-lt-ft-se-ic, var(--_ctm-dn-ds-lt-ft-se-ic))
404
- );
405
- text-align: var(
406
- --_ctm-mob-dn-ds-lt-tt-an,
407
- var(--_ctm-tab-dn-ds-lt-tt-an, var(--_ctm-dn-ds-lt-tt-an))
408
- );
409
- letter-spacing: var(
410
- --_ctm-mob-dn-ds-lt-lr-sg,
411
- var(--_ctm-tab-dn-ds-lt-lr-sg, var(--_ctm-dn-ds-lt-lr-sg))
412
- );
413
- line-height: var(
414
- --_ctm-mob-dn-ds-lt-le-ht,
415
- var(--_ctm-tab-dn-ds-lt-le-ht, var(--_ctm-dn-ds-lt-le-ht-dc))
416
- );
417
- text-decoration: var(
418
- --_ctm-mob-dn-ds-lt-ue,
419
- var(--_ctm-tab-dn-ds-lt-ue, var(--_ctm-dn-ds-lt-ue))
420
- );
421
- text-transform: var(
422
- --_ctm-mob-dn-ds-lt-tt-tm,
423
- var(--_ctm-tab-dn-ds-lt-tt-tm, var(--_ctm-dn-ds-lt-tt-tm, none))
424
- );
425
- word-wrap: var(
426
- --_ctm-mob-dn-ds-lt-wd-wp,
427
- var(--_ctm-tab-dn-ds-lt-wd-wp, var(--_ctm-dn-ds-lt-wd-wp, normal))
428
- );
429
- word-break: var(
430
- --_ctm-mob-dn-ds-lt-wd-bk,
431
- var(--_ctm-tab-dn-ds-lt-wd-bk, var(--_ctm-dn-ds-lt-wd-bk, normal))
432
- );
433
-
434
- &#{$overflowSelector} {
435
- @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
436
- }
437
- }
438
- .label {
439
- // padding-inline: var(--_sf-cd-gp);
440
- // No `white-space: nowrap` here: it stopped the text reflowing when the
441
- // element is narrowed, and it would also defeat the line clamp below,
442
- // which needs the text to wrap before it can restrict it to N lines.
443
- min-width: 0;
444
- color: var(
445
- --_ctm-mob-dn-ds-lt-cr-dc-dc,
446
- var(--_ctm-tab-dn-ds-lt-cr-dc, var(--_ctm-dn-ds-lt-cr-dc))
447
- );
448
- font-family: var(
449
- --_ctm-mob-dn-ds-lt-ft-fy-dc,
450
- var(--_ctm-tab-dn-ds-lt-ft-fy-dc, var(--_ctm-dn-ds-lt-ft-fy-dc))
451
- );
452
- font-size: var(
453
- --_ctm-mob-dn-ds-lt-ft-se-dc,
454
- var(--_ctm-tab-dn-ds-lt-ft-se-dc, var(--_ctm-dn-ds-lt-ft-se-dc))
455
- );
456
- font-weight: var(
457
- --_ctm-mob-dn-ds-lt-ft-wt-dc,
458
- var(--_ctm-tab-dn-ds-lt-ft-wt-dc, var(--_ctm-dn-ds-lt-ft-wt-dc))
459
- );
460
- font-style: var(
461
- --_ctm-mob-dn-ds-lt-ft-se-ic-dc,
462
- var(--_ctm-tab-dn-ds-lt-ft-se-ic-dc, var(--_ctm-dn-ds-lt-ft-se-ic-dc))
463
- );
464
- text-align: var(
465
- --_ctm-mob-dn-ds-lt-tt-an-dc,
466
- var(--_ctm-tab-dn-ds-lt-tt-an-dc, var(--_ctm-dn-ds-lt-tt-an-dc))
467
- );
468
- letter-spacing: var(
469
- --_ctm-mob-dn-ds-lt-lr-sg-dc,
470
- var(--_ctm-tab-dn-ds-lt-lr-sg-dc, var(--_ctm-dn-ds-lt-lr-sg-dc))
471
- );
472
- line-height: var(
473
- --_ctm-mob-dn-ds-lt-le-ht-dc,
474
- var(--_ctm-tab-dn-ds-lt-le-ht-dc, var(--_ctm-dn-ds-lt-le-ht-dc-dc))
475
- );
476
- text-decoration: var(
477
- --_ctm-mob-dn-ds-lt-ue-dc,
478
- var(--_ctm-tab-dn-ds-lt-ue-dc, var(--_ctm-dn-ds-lt-ue-dc))
479
- );
480
- text-transform: var(
481
- --_ctm-mob-dn-ds-lt-tt-tm-dc,
482
- var(--_ctm-tab-dn-ds-lt-tt-tm-dc, var(--_ctm-dn-ds-lt-tt-tm-dc, none))
483
- );
484
- word-wrap: var(
485
- --_ctm-mob-dn-ds-lt-wd-wp-dc,
486
- var(--_ctm-tab-dn-ds-lt-wd-wp-dc, var(--_ctm-dn-ds-lt-wd-wp-dc, normal))
487
- );
488
- word-break: var(
489
- --_ctm-mob-dn-ds-lt-wd-bk-dc,
490
- var(--_ctm-tab-dn-ds-lt-wd-bk-dc, var(--_ctm-dn-ds-lt-wd-bk-dc, normal))
491
- );
492
-
493
- &#{$overflowSelector} {
494
- @include restrictToLinesShow(#{var(--_sf-line-clamp-desc, 1)});
495
- }
496
- }
497
- .icon {
498
- display: var(--_sf-show-icon-ff, flex);
499
- svg {
500
- width: var(
501
- --_ctm-mab-dn-ds-lt-in-se,
502
- var(--_ctm-tab-dn-ds-lt-in-se, var(--_ctm-dn-ds-lt-in-se))
503
- );
504
- height: var(
505
- --_ctm-mob-dn-ds-lt-in-se,
506
- var(--_ctm-tab-dn-ds-lt-in-se, var(--_ctm-dn-ds-lt-in-se))
507
- );
508
- path {
509
- stroke: var(
510
- --_ctm-mob-dn-ds-lt-in-c1,
511
- var(--_ctm-tab-dn-ds-lt-in-c1, var(--_ctm-dn-ds-lt-in-c1))
512
- );
513
- // Overrides the stroke-width presentation attribute baked into the
514
- // icon markup; 1 keeps the icon as authored when nothing is set.
515
- stroke-width: var(
516
- --_ctm-mob-dn-ds-lt-se-wh,
517
- var(--_ctm-tab-dn-ds-lt-se-wh, var(--_ctm-dn-ds-lt-se-wh, 1))
518
- );
519
- }
520
- }
521
- }
522
- }
523
- }
524
- }
525
- }
526
- }
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+ @use "./functions.scss" as *;
4
+
5
+ $overflowSelector: ".flex__overflow";
6
+
7
+ [data-div-type="element"] {
8
+ &[data-element-type="quotaDetails"] {
9
+ // width: var(--_lt-wh);
10
+ // height: var(--_lt-ht);
11
+ // margin: var(--_lt-mn);
12
+ // padding: var(--_lt-pg);
13
+ // width: var(--_ctm-lt-wh, var(--_tst-lt-wh));
14
+ // width: 50%;
15
+ // width: var(--_sf-nw-wh, var(--_tst-lt-wh));
16
+ // Reads the percentage the left/right resize handles write, same as FAQ. Without
17
+ // this the handles (and the Layout > Width input) drag a value nothing consumes.
18
+ width: var(
19
+ --_sf-el-wh-st-mx,
20
+ calc(
21
+ 1% * var(--_ctm-mob-ele-nw-wh-vl, var(--_ctm-tab-ele-nw-wh-vl, var(--_ctm-ele-nw-wh-vl)))
22
+ )
23
+ );
24
+ // Floor for the width above: the two items plus their icons stop reading as a row
25
+ // below this, and dragging past it only produced a squeezed, wrapped box.
26
+ min-width: 300px !important;
27
+ margin: var(--_ctm-mob-lt-mn, var(--_ctm-tab-lt-mn, var(--_ctm-lt-mn)));
28
+ // aspect-ratio: 1 / var(--_sf-aspect-ratio);
29
+
30
+ --_aspect-ratio: calc(
31
+ 1 *
32
+ (
33
+ var(--_ctm-mob-lt-ht, var(--_ctm-tab-lt-ht, var(--_ctm-lt-ht))) /
34
+ var(--_ctm-mob-lt-wh, var(--_ctm-tab-lt-wh, var(--_ctm-lt-wh)))
35
+ )
36
+ );
37
+ // height: clamp(var(--_ctm-lt-ht, 50px), 100px, auto) !important;
38
+ // height: var(--_ctm-lt-ht);
39
+ // height: ;
40
+ // height: auto;
41
+ // aspect-ratio: 1 / var(--_sf-aspect-ratio);
42
+ // --_aspect-ratio: calc(
43
+ // 1 * (var(--_ctm-lt-ht, var(--_tst-lt-ht)) / var(--_ctm-lt-wh, var(--_tst-lt-wh)))
44
+ // );
45
+
46
+ // &[data-element-sub-child="true"] {
47
+ // // width: max(var(--_sf-nw-wh, var(--_tst-lt-wh)));
48
+ // width: var(--_sf-el-wh-st-mx, calc(1% * var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh))));
49
+ // }
50
+
51
+ & > .wrapper {
52
+ width: 100%;
53
+ height: auto;
54
+ }
55
+ &[data-show-shadow="false"] {
56
+ --_show-shadow: none;
57
+ }
58
+
59
+ .quota__details__element {
60
+ background-color: var(
61
+ --_ctm-mob-dn-wt-se-bd-cr,
62
+ var(--_ctm-tab-dn-wt-se-bd-cr, var(--_ctm-dn-wt-se-bd-cr))
63
+ );
64
+ padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
65
+ display: flex;
66
+ flex-direction: column;
67
+ --_sf-gp: var(
68
+ --_ctm-mob-lt-im-sg,
69
+ var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg, var(--_ctm-lt-im-sg), 16px))
70
+ );
71
+ --_sf-cd-gp: calc(var(--_sf-gp) * 0.5);
72
+ row-gap: var(--_sf-gp);
73
+ width: 100%;
74
+ // width: fit-content;
75
+ height: auto;
76
+ border-color: var(
77
+ --_ctm-mob-dn-wt-se-br-cr,
78
+ var(--_ctm-tab-dn-wt-se-br-cr, var(--_ctm-dn-wt-se-br-cr))
79
+ );
80
+ border-style: var(
81
+ --_ctm-mob-dn-wt-se-br-se,
82
+ var(--_ctm-tab-dn-wt-se-br-se, var(--_ctm-dn-wt-se-br-se))
83
+ );
84
+ border-width: var(
85
+ --_ctm-mob-dn-wt-se-br-wh,
86
+ var(--_ctm-tab-dn-wt-se-br-wh, var(--_ctm-dn-wt-se-br-wh))
87
+ );
88
+ border-radius: var(
89
+ --_ctm-mob-dn-wt-se-br-rs,
90
+ var(--_ctm-tab-dn-wt-se-br-rs, var(--_ctm-dn-wt-se-br-rs))
91
+ );
92
+ box-shadow: var(
93
+ --_show-shadow,
94
+ var(--_ctm-mob-dn-wt-se-sw-ae, var(--_ctm-tab-dn-wt-se-sw-ae, var(--_ctm-dn-wt-se-sw-ae)))
95
+ var(--_ctm-mob-dn-wt-se-sw-br, var(--_ctm-tab-dn-wt-se-sw-br, var(--_ctm-dn-wt-se-sw-br)))
96
+ var(--_ctm-mob-dn-wt-se-sw-sd, var(--_ctm-tab-dn-wt-se-sw-sd, var(--_ctm-dn-wt-se-sw-sd)))
97
+ var(--_ctm-mob-dn-wt-se-sw-cr, var(--_ctm-tab-dn-wt-se-sw-cr, var(--_ctm-dn-wt-se-sw-cr)))
98
+ );
99
+
100
+ .product__hilights {
101
+ display: flex;
102
+ align-items: var(--_ctm-mob-lt-wt-at, var(--_ctm-tab-lt-wt-at, var(--_ctm-lt-wt-at)));
103
+ // Design > Widget Style > alignment, falling back to the Layout panel's own
104
+ // alignment so elements set up before the design control existed keep theirs.
105
+ justify-content: prepareMediaVariable(
106
+ --_ctm-dn-wt-se-hl-at,
107
+ prepareMediaVariable(--_ctm-lt-hl-at)
108
+ );
109
+ gap: var(--_ctm-mob-lt-im-sg, var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg)));
110
+ width: 100%;
111
+
112
+ height: 100%;
113
+
114
+ &[data-show-dividers="true"] {
115
+ // Divider > Shape Size and Shape Color are the only two controls the panel
116
+ // offers for the item: Size is the marker's diameter for circle and square
117
+ // and the rule's thickness for the plain line, Color paints all three. The
118
+ // keys the panel used to expose (Divider Height / Divider Color) stay as
119
+ // fallbacks so a divider styled before the change keeps its look.
120
+ //
121
+ // The `-dr-dr-` doubling is not a typo — the first is the `divider` node,
122
+ // the second the `divider…` property name. These two vars were written with
123
+ // only one, which is exactly why neither control did anything.
124
+ $shapeSize: prepareMediaVariable(
125
+ --_ctm-dn-dr-dr-se-se,
126
+ prepareMediaVariable(--_ctm-dn-dr-dr-wh, 1px)
127
+ );
128
+ $shapeColor: prepareMediaVariable(
129
+ --_ctm-dn-dr-dr-se-cr,
130
+ prepareMediaVariable(--_ctm-dn-dr-dr-cr, #e4e7ec)
131
+ );
132
+
133
+ .product__list__item {
134
+ position: relative;
135
+ // The rule is a pseudo-element and takes no space of its own, so a wide one
136
+ // grew back over the item beside it — see dividerGapReserve in functions.scss.
137
+ &:not(:last-child) {
138
+ @include dividerGapReserve($shapeSize, right);
139
+ }
140
+ &:not(:last-child)::after {
141
+ content: "";
142
+ width: $shapeSize;
143
+ height: 100%;
144
+ position: absolute;
145
+ right: dividerGapOffset(--_ctm-lt-im-sg, $shapeSize);
146
+ background-color: $shapeColor;
147
+ }
148
+
149
+ // Divider item (Divider -> Item Style). The rule above spans the width it was
150
+ // given starting half the item spacing past the item, so its centre sits at
151
+ // -(gap/2) - (width/2) — the marker is pinned there and translated half its
152
+ // own width back, leaving it centred on the rule.
153
+ .divider__marker {
154
+ position: absolute;
155
+ top: 50%;
156
+ right: dividerMarkerOffset(--_ctm-lt-im-sg, $shapeSize);
157
+ transform: translate(50%, -50%);
158
+ display: flex;
159
+ align-items: center;
160
+ justify-content: center;
161
+ z-index: 1;
162
+
163
+ // 8px rather than the rule's thickness when Shape Size is absent: a
164
+ // marker falling back to a hairline would read as missing.
165
+ &[data-shape="circle"],
166
+ &[data-shape="square"] {
167
+ width: prepareMediaVariable(--_ctm-dn-dr-dr-se-se, 8px);
168
+ height: prepareMediaVariable(--_ctm-dn-dr-dr-se-se, 8px);
169
+ background-color: $shapeColor;
170
+ }
171
+
172
+ &[data-shape="circle"] {
173
+ border-radius: 50%;
174
+ }
175
+
176
+ // Paints the widget background behind itself, so the rule breaks
177
+ // around the icon instead of striking through it.
178
+ &[data-shape="icon"] {
179
+ padding-block: 2px;
180
+ background-color: prepareMediaVariable(--_ctm-dn-wt-se-bd-cr, #ffffff);
181
+ }
182
+
183
+ .icon {
184
+ display: flex;
185
+
186
+ svg {
187
+ width: prepareMediaVariable(--_ctm-dn-dr-in-se, 12px);
188
+ height: prepareMediaVariable(--_ctm-dn-dr-in-se, 12px);
189
+
190
+ // Colour whether the icon is drawn with strokes or fills (skipping
191
+ // parts explicitly set to "none") — the default "dot" is filled,
192
+ // most others are stroked.
193
+ &[stroke]:not([stroke="none"]),
194
+ [stroke]:not([stroke="none"]) {
195
+ stroke: prepareMediaVariable(--_ctm-dn-dr-in-c1, #e4e7ec);
196
+ // Overrides the stroke-width presentation attribute baked into the icon markup.
197
+ stroke-width: prepareMediaVariable(--_ctm-dn-dr-se-wh, 1.25);
198
+ }
199
+ &[fill]:not([fill="none"]),
200
+ [fill]:not([fill="none"]) {
201
+ fill: prepareMediaVariable(--_ctm-dn-dr-in-c1, #e4e7ec);
202
+ }
203
+ }
204
+ }
205
+ }
206
+
207
+ // The marker is rendered inside every item; only the ones that carry a
208
+ // rule show it, so it can never trail off the end of the row.
209
+ &:last-child .divider__marker {
210
+ display: none;
211
+ }
212
+ }
213
+
214
+ // A shape or icon marker REPLACES the rule rather than sitting on it, so the
215
+ // rule is drawn only while the separator is the plain "divider".
216
+ &:not([data-divider-item="divider"]) .product__list__item:not(:last-child)::after {
217
+ display: none;
218
+ }
219
+ }
220
+ .product__list__item {
221
+ display: flex;
222
+ align-items: center;
223
+ gap: 4px;
224
+ // Flex items default to min-width:auto, so they refuse to shrink below
225
+ // their text width. Narrowing the element used to push this row outside
226
+ // the element box instead of reflowing it inside.
227
+ min-width: 0;
228
+
229
+ .svg_icon {
230
+ display: flex;
231
+ }
232
+ }
233
+ .quota__left {
234
+ .count {
235
+ // padding-inline: var(--_sf-cd-gp);
236
+ // No `white-space: nowrap` here: it stopped the text reflowing when the
237
+ // element is narrowed, and it would also defeat the line clamp below,
238
+ // which needs the text to wrap before it can restrict it to N lines.
239
+ min-width: 0;
240
+ color: var(
241
+ --_ctm-mob-dn-qa-lt-cr,
242
+ var(--_ctm-tab-dn-qa-lt-cr, var(--_ctm-dn-qa-lt-cr))
243
+ );
244
+ font-family: var(
245
+ --_ctm-mob-dn-qa-lt-ft-fy,
246
+ var(--_ctm-tab-dn-qa-lt-ft-fy, var(--_ctm-dn-qa-lt-ft-fy))
247
+ );
248
+ font-size: var(
249
+ --_ctm-mob-dn-qa-lt-ft-se,
250
+ var(--_ctm-tab-dn-qa-lt-ft-se, var(--_ctm-dn-qa-lt-ft-se))
251
+ );
252
+ font-weight: var(
253
+ --_ctm-mob-dn-qa-lt-ft-wt,
254
+ var(--_ctm-tab-dn-qa-lt-ft-wt, var(--_ctm-dn-qa-lt-ft-wt))
255
+ );
256
+ font-style: var(
257
+ --_ctm-mob-dn-qa-lt-ft-se-ic,
258
+ var(--_ctm-tab-dn-qa-lt-ft-se-ic, var(--_ctm-dn-qa-lt-ft-se-ic))
259
+ );
260
+ text-align: var(
261
+ --_ctm-mob-dn-qa-lt-tt-an,
262
+ var(--_ctm-tab-dn-qa-lt-tt-an, var(--_ctm-dn-qa-lt-tt-an))
263
+ );
264
+ letter-spacing: var(
265
+ --_ctm-mob-dn-qa-lt-lr-sg,
266
+ var(--_ctm-tab-dn-qa-lt-lr-sg, var(--_ctm-dn-qa-lt-lr-sg))
267
+ );
268
+ line-height: var(
269
+ --_ctm-mob-dn-qa-lt-le-ht,
270
+ var(--_ctm-tab-dn-qa-lt-le-ht, var(--_ctm-dn-qa-lt-le-ht-dc))
271
+ );
272
+ text-decoration: var(
273
+ --_ctm-mob-dn-qa-lt-ue,
274
+ var(--_ctm-tab-dn-qa-lt-ue, var(--_ctm-dn-qa-lt-ue))
275
+ );
276
+ text-transform: var(
277
+ --_ctm-mob-dn-qa-lt-tt-tm,
278
+ var(--_ctm-tab-dn-qa-lt-tt-tm, var(--_ctm-dn-qa-lt-tt-tm, none))
279
+ );
280
+ word-wrap: var(
281
+ --_ctm-mob-dn-qa-lt-wd-wp,
282
+ var(--_ctm-tab-dn-qa-lt-wd-wp, var(--_ctm-dn-qa-lt-wd-wp, normal))
283
+ );
284
+ word-break: var(
285
+ --_ctm-mob-dn-qa-lt-wd-bk,
286
+ var(--_ctm-tab-dn-qa-lt-wd-bk, var(--_ctm-dn-qa-lt-wd-bk, normal))
287
+ );
288
+
289
+ &#{$overflowSelector} {
290
+ @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
291
+ }
292
+ }
293
+ .label {
294
+ // padding-inline: var(--_sf-cd-gp);
295
+ // No `white-space: nowrap` here: it stopped the text reflowing when the
296
+ // element is narrowed, and it would also defeat the line clamp below,
297
+ // which needs the text to wrap before it can restrict it to N lines.
298
+ min-width: 0;
299
+ color: var(
300
+ --_ctm-mob-dn-qa-lt-cr-dc-dc,
301
+ var(--_ctm-tab-dn-qa-lt-cr-dc, var(--_ctm-dn-qa-lt-cr-dc))
302
+ );
303
+ font-family: var(
304
+ --_ctm-mob-dn-qa-lt-ft-fy-dc,
305
+ var(--_ctm-tab-dn-qa-lt-ft-fy-dc, var(--_ctm-dn-qa-lt-ft-fy-dc))
306
+ );
307
+ font-size: var(
308
+ --_ctm-mob-dn-qa-lt-ft-se-dc,
309
+ var(--_ctm-tab-dn-qa-lt-ft-se-dc, var(--_ctm-dn-qa-lt-ft-se-dc))
310
+ );
311
+ font-weight: var(
312
+ --_ctm-mob-dn-qa-lt-ft-wt-dc,
313
+ var(--_ctm-tab-dn-qa-lt-ft-wt-dc, var(--_ctm-dn-qa-lt-ft-wt-dc))
314
+ );
315
+ font-style: var(
316
+ --_ctm-mob-dn-qa-lt-ft-se-ic-dc,
317
+ var(--_ctm-tab-dn-qa-lt-ft-se-ic-dc, var(--_ctm-dn-qa-lt-ft-se-ic-dc))
318
+ );
319
+ text-align: var(
320
+ --_ctm-mob-dn-qa-lt-tt-an-dc,
321
+ var(--_ctm-tab-dn-qa-lt-tt-an-dc, var(--_ctm-dn-qa-lt-tt-an-dc))
322
+ );
323
+ letter-spacing: var(
324
+ --_ctm-mob-dn-qa-lt-lr-sg-dc,
325
+ var(--_ctm-tab-dn-qa-lt-lr-sg-dc, var(--_ctm-dn-qa-lt-lr-sg-dc))
326
+ );
327
+ line-height: var(
328
+ --_ctm-mob-dn-qa-lt-le-ht-dc,
329
+ var(--_ctm-tab-dn-qa-lt-le-ht-dc, var(--_ctm-dn-qa-lt-le-ht-dc-dc))
330
+ );
331
+ text-decoration: var(
332
+ --_ctm-mob-dn-qa-lt-ue-dc,
333
+ var(--_ctm-tab-dn-qa-lt-ue-dc, var(--_ctm-dn-qa-lt-ue-dc))
334
+ );
335
+ text-transform: var(
336
+ --_ctm-mob-dn-qa-lt-tt-tm-dc,
337
+ var(--_ctm-tab-dn-qa-lt-tt-tm-dc, var(--_ctm-dn-qa-lt-tt-tm-dc, none))
338
+ );
339
+ word-wrap: var(
340
+ --_ctm-mob-dn-qa-lt-wd-wp-dc,
341
+ var(--_ctm-tab-dn-qa-lt-wd-wp-dc, var(--_ctm-dn-qa-lt-wd-wp-dc, normal))
342
+ );
343
+ word-break: var(
344
+ --_ctm-mob-dn-qa-lt-wd-bk-dc,
345
+ var(--_ctm-tab-dn-qa-lt-wd-bk-dc, var(--_ctm-dn-qa-lt-wd-bk-dc, normal))
346
+ );
347
+
348
+ &#{$overflowSelector} {
349
+ @include restrictToLinesShow(#{var(--_sf-line-clamp-desc, 1)});
350
+ }
351
+ }
352
+ .icon {
353
+ display: var(--_sf-show-icon-ff, flex);
354
+ svg {
355
+ width: var(
356
+ --_ctm-mab-dn-qa-lt-in-se,
357
+ var(--_ctm-tab-dn-qa-lt-in-se, var(--_ctm-dn-qa-lt-in-se))
358
+ );
359
+ height: var(
360
+ --_ctm-mob-dn-qa-lt-in-se,
361
+ var(--_ctm-tab-dn-qa-lt-in-se, var(--_ctm-dn-qa-lt-in-se))
362
+ );
363
+ path {
364
+ stroke: var(
365
+ --_ctm-mob-dn-qa-lt-in-c1,
366
+ var(--_ctm-tab-dn-qa-lt-in-c1, var(--_ctm-dn-qa-lt-in-c1))
367
+ );
368
+ // Overrides the stroke-width presentation attribute baked into the
369
+ // icon markup; 1 keeps the icon as authored when nothing is set.
370
+ stroke-width: var(
371
+ --_ctm-mob-dn-qa-lt-se-wh,
372
+ var(--_ctm-tab-dn-qa-lt-se-wh, var(--_ctm-dn-qa-lt-se-wh, 1))
373
+ );
374
+ }
375
+ }
376
+ }
377
+ }
378
+ .days__left {
379
+ .count {
380
+ // padding-inline: var(--_sf-cd-gp);
381
+ // No `white-space: nowrap` here: it stopped the text reflowing when the
382
+ // element is narrowed, and it would also defeat the line clamp below,
383
+ // which needs the text to wrap before it can restrict it to N lines.
384
+ min-width: 0;
385
+ color: var(
386
+ --_ctm-mob-dn-ds-lt-cr,
387
+ var(--_ctm-tab-dn-ds-lt-cr, var(--_ctm-dn-ds-lt-cr))
388
+ );
389
+ font-family: var(
390
+ --_ctm-mob-dn-ds-lt-ft-fy,
391
+ var(--_ctm-tab-dn-ds-lt-ft-fy, var(--_ctm-dn-ds-lt-ft-fy))
392
+ );
393
+ font-size: var(
394
+ --_ctm-mob-dn-ds-lt-ft-se,
395
+ var(--_ctm-tab-dn-ds-lt-ft-se, var(--_ctm-dn-ds-lt-ft-se))
396
+ );
397
+ font-weight: var(
398
+ --_ctm-mob-dn-ds-lt-ft-wt,
399
+ var(--_ctm-tab-dn-ds-lt-ft-wt, var(--_ctm-dn-ds-lt-ft-wt))
400
+ );
401
+ font-style: var(
402
+ --_ctm-mob-dn-ds-lt-ft-se-ic,
403
+ var(--_ctm-tab-dn-ds-lt-ft-se-ic, var(--_ctm-dn-ds-lt-ft-se-ic))
404
+ );
405
+ text-align: var(
406
+ --_ctm-mob-dn-ds-lt-tt-an,
407
+ var(--_ctm-tab-dn-ds-lt-tt-an, var(--_ctm-dn-ds-lt-tt-an))
408
+ );
409
+ letter-spacing: var(
410
+ --_ctm-mob-dn-ds-lt-lr-sg,
411
+ var(--_ctm-tab-dn-ds-lt-lr-sg, var(--_ctm-dn-ds-lt-lr-sg))
412
+ );
413
+ line-height: var(
414
+ --_ctm-mob-dn-ds-lt-le-ht,
415
+ var(--_ctm-tab-dn-ds-lt-le-ht, var(--_ctm-dn-ds-lt-le-ht-dc))
416
+ );
417
+ text-decoration: var(
418
+ --_ctm-mob-dn-ds-lt-ue,
419
+ var(--_ctm-tab-dn-ds-lt-ue, var(--_ctm-dn-ds-lt-ue))
420
+ );
421
+ text-transform: var(
422
+ --_ctm-mob-dn-ds-lt-tt-tm,
423
+ var(--_ctm-tab-dn-ds-lt-tt-tm, var(--_ctm-dn-ds-lt-tt-tm, none))
424
+ );
425
+ word-wrap: var(
426
+ --_ctm-mob-dn-ds-lt-wd-wp,
427
+ var(--_ctm-tab-dn-ds-lt-wd-wp, var(--_ctm-dn-ds-lt-wd-wp, normal))
428
+ );
429
+ word-break: var(
430
+ --_ctm-mob-dn-ds-lt-wd-bk,
431
+ var(--_ctm-tab-dn-ds-lt-wd-bk, var(--_ctm-dn-ds-lt-wd-bk, normal))
432
+ );
433
+
434
+ &#{$overflowSelector} {
435
+ @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
436
+ }
437
+ }
438
+ .label {
439
+ // padding-inline: var(--_sf-cd-gp);
440
+ // No `white-space: nowrap` here: it stopped the text reflowing when the
441
+ // element is narrowed, and it would also defeat the line clamp below,
442
+ // which needs the text to wrap before it can restrict it to N lines.
443
+ min-width: 0;
444
+ color: var(
445
+ --_ctm-mob-dn-ds-lt-cr-dc-dc,
446
+ var(--_ctm-tab-dn-ds-lt-cr-dc, var(--_ctm-dn-ds-lt-cr-dc))
447
+ );
448
+ font-family: var(
449
+ --_ctm-mob-dn-ds-lt-ft-fy-dc,
450
+ var(--_ctm-tab-dn-ds-lt-ft-fy-dc, var(--_ctm-dn-ds-lt-ft-fy-dc))
451
+ );
452
+ font-size: var(
453
+ --_ctm-mob-dn-ds-lt-ft-se-dc,
454
+ var(--_ctm-tab-dn-ds-lt-ft-se-dc, var(--_ctm-dn-ds-lt-ft-se-dc))
455
+ );
456
+ font-weight: var(
457
+ --_ctm-mob-dn-ds-lt-ft-wt-dc,
458
+ var(--_ctm-tab-dn-ds-lt-ft-wt-dc, var(--_ctm-dn-ds-lt-ft-wt-dc))
459
+ );
460
+ font-style: var(
461
+ --_ctm-mob-dn-ds-lt-ft-se-ic-dc,
462
+ var(--_ctm-tab-dn-ds-lt-ft-se-ic-dc, var(--_ctm-dn-ds-lt-ft-se-ic-dc))
463
+ );
464
+ text-align: var(
465
+ --_ctm-mob-dn-ds-lt-tt-an-dc,
466
+ var(--_ctm-tab-dn-ds-lt-tt-an-dc, var(--_ctm-dn-ds-lt-tt-an-dc))
467
+ );
468
+ letter-spacing: var(
469
+ --_ctm-mob-dn-ds-lt-lr-sg-dc,
470
+ var(--_ctm-tab-dn-ds-lt-lr-sg-dc, var(--_ctm-dn-ds-lt-lr-sg-dc))
471
+ );
472
+ line-height: var(
473
+ --_ctm-mob-dn-ds-lt-le-ht-dc,
474
+ var(--_ctm-tab-dn-ds-lt-le-ht-dc, var(--_ctm-dn-ds-lt-le-ht-dc-dc))
475
+ );
476
+ text-decoration: var(
477
+ --_ctm-mob-dn-ds-lt-ue-dc,
478
+ var(--_ctm-tab-dn-ds-lt-ue-dc, var(--_ctm-dn-ds-lt-ue-dc))
479
+ );
480
+ text-transform: var(
481
+ --_ctm-mob-dn-ds-lt-tt-tm-dc,
482
+ var(--_ctm-tab-dn-ds-lt-tt-tm-dc, var(--_ctm-dn-ds-lt-tt-tm-dc, none))
483
+ );
484
+ word-wrap: var(
485
+ --_ctm-mob-dn-ds-lt-wd-wp-dc,
486
+ var(--_ctm-tab-dn-ds-lt-wd-wp-dc, var(--_ctm-dn-ds-lt-wd-wp-dc, normal))
487
+ );
488
+ word-break: var(
489
+ --_ctm-mob-dn-ds-lt-wd-bk-dc,
490
+ var(--_ctm-tab-dn-ds-lt-wd-bk-dc, var(--_ctm-dn-ds-lt-wd-bk-dc, normal))
491
+ );
492
+
493
+ &#{$overflowSelector} {
494
+ @include restrictToLinesShow(#{var(--_sf-line-clamp-desc, 1)});
495
+ }
496
+ }
497
+ .icon {
498
+ display: var(--_sf-show-icon-ff, flex);
499
+ svg {
500
+ width: var(
501
+ --_ctm-mab-dn-ds-lt-in-se,
502
+ var(--_ctm-tab-dn-ds-lt-in-se, var(--_ctm-dn-ds-lt-in-se))
503
+ );
504
+ height: var(
505
+ --_ctm-mob-dn-ds-lt-in-se,
506
+ var(--_ctm-tab-dn-ds-lt-in-se, var(--_ctm-dn-ds-lt-in-se))
507
+ );
508
+ path {
509
+ stroke: var(
510
+ --_ctm-mob-dn-ds-lt-in-c1,
511
+ var(--_ctm-tab-dn-ds-lt-in-c1, var(--_ctm-dn-ds-lt-in-c1))
512
+ );
513
+ // Overrides the stroke-width presentation attribute baked into the
514
+ // icon markup; 1 keeps the icon as authored when nothing is set.
515
+ stroke-width: var(
516
+ --_ctm-mob-dn-ds-lt-se-wh,
517
+ var(--_ctm-tab-dn-ds-lt-se-wh, var(--_ctm-dn-ds-lt-se-wh, 1))
518
+ );
519
+ }
520
+ }
521
+ }
522
+ }
523
+ }
524
+ }
525
+ }
526
+ }