@sc-360-v2/storefront-cms-library 0.5.70 → 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 (155) 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/image-for-product.scss +21 -21
  66. package/dist/image-temp.scss +203 -203
  67. package/dist/item-stock.scss +93 -93
  68. package/dist/kitDetails.scss +5739 -5739
  69. package/dist/kits.scss +305 -305
  70. package/dist/language-selector.scss +948 -948
  71. package/dist/last-x-orders.scss +285 -285
  72. package/dist/layouter-item.scss +141 -141
  73. package/dist/layouter-pro-item.scss +139 -139
  74. package/dist/layouter-pro.scss +134 -134
  75. package/dist/layouter.scss +491 -491
  76. package/dist/light-box-v2.scss +155 -155
  77. package/dist/lightbox.scss +78 -78
  78. package/dist/loader.scss +37 -37
  79. package/dist/login.scss +29 -11
  80. package/dist/map.scss +1359 -1359
  81. package/dist/marchandiserSets.scss +141 -141
  82. package/dist/mega-menu-container.scss +152 -152
  83. package/dist/menu-item.scss +19 -19
  84. package/dist/menu-v2.scss +999 -999
  85. package/dist/menu.scss +174 -174
  86. package/dist/multi-select-dropdown.scss +316 -316
  87. package/dist/my-templates.scss +477 -477
  88. package/dist/my-wishlist.scss +27 -27
  89. package/dist/option-bar.scss +886 -886
  90. package/dist/order-processing.scss +61 -61
  91. package/dist/order-status.scss +2187 -2187
  92. package/dist/overflow-module.scss +63 -63
  93. package/dist/past-orders.scss +1039 -1039
  94. package/dist/payment-methods.scss +307 -307
  95. package/dist/phone-input.scss +208 -208
  96. package/dist/pickup-locations.scss +1359 -1359
  97. package/dist/position-module.scss +95 -95
  98. package/dist/prefix-list.scss +86 -86
  99. package/dist/product-actions.scss +2872 -2872
  100. package/dist/product-basic-elements.scss +600 -600
  101. package/dist/product-customizations.scss +155 -155
  102. package/dist/product-highlights.scss +348 -348
  103. package/dist/product-image-allocation.scss +1477 -1477
  104. package/dist/product-inventory.scss +1621 -1621
  105. package/dist/product-labels.scss +265 -265
  106. package/dist/product-options.scss +1444 -1444
  107. package/dist/product-price.scss +3392 -3392
  108. package/dist/product-promotions.scss +3224 -3224
  109. package/dist/product-sizechart.scss +1921 -1921
  110. package/dist/product.scss +140 -140
  111. package/dist/profile.scss +824 -824
  112. package/dist/quantity-selector.scss +1074 -1074
  113. package/dist/quick-inventory-check.scss +285 -285
  114. package/dist/quick-links.scss +627 -627
  115. package/dist/quota-details.scss +526 -526
  116. package/dist/quotes.scss +847 -847
  117. package/dist/repeater-embla-controls.scss +211 -211
  118. package/dist/repeater-grid-toggle.scss +206 -206
  119. package/dist/repeater-item.scss +152 -152
  120. package/dist/repeater.scss +946 -946
  121. package/dist/request-for-quotes.scss +841 -841
  122. package/dist/responsive-behaviour.scss +29 -29
  123. package/dist/rfqs.scss +861 -861
  124. package/dist/scroll.scss +414 -414
  125. package/dist/search-results-heading.scss +309 -309
  126. package/dist/search.scss +689 -689
  127. package/dist/section.scss +276 -276
  128. package/dist/shareCartSideBar.scss +254 -254
  129. package/dist/shipping-estimator.scss +41 -41
  130. package/dist/shipping-payments.scss +2518 -2518
  131. package/dist/simple-list.scss +338 -338
  132. package/dist/skeleton.scss +64 -64
  133. package/dist/spotlight.scss +1706 -1706
  134. package/dist/stack.scss +171 -171
  135. package/dist/static-global.scss +292 -292
  136. package/dist/static-text.scss +52 -52
  137. package/dist/stockStatus.scss +70 -70
  138. package/dist/store-locations.scss +1592 -1592
  139. package/dist/sub-category.scss +74 -74
  140. package/dist/submit-quote.scss +275 -275
  141. package/dist/tab-container-item.scss +80 -80
  142. package/dist/tab-container.scss +141 -141
  143. package/dist/table.scss +9 -0
  144. package/dist/tabs.scss +440 -440
  145. package/dist/text-temp.scss +109 -109
  146. package/dist/theme-classes.scss +421 -421
  147. package/dist/toaster.scss +392 -392
  148. package/dist/toggle-button.scss +32 -32
  149. package/dist/transform-properties-module.scss +20 -20
  150. package/dist/types/builder/tools/element-edit/login.d.ts +1 -0
  151. package/dist/types/builder/tools/element-edit/resetPassword.d.ts +1 -0
  152. package/dist/user-elements.scss +2896 -2896
  153. package/dist/widget.scss +153 -153
  154. package/dist/wishlist-overlay.scss +48 -48
  155. package/package.json +1 -1
@@ -1,609 +1,609 @@
1
- @use "./functions.scss" as *;
2
-
3
- // The allocation HEADER's quota details. Same rules as allocations-quota-details.scss
4
- // (which styles the ones inside the product cards), rebound to the header's own
5
- // design.allocation.quotaDetails.* variable paths so the two can be styled apart.
6
- // @imported inside allocationDetails.scss within the .showcase__title scope.
7
-
8
- $overflowSelector: ".flex__overflow";
9
-
10
- // Text Transform (with the word wrap/break pair the panel groups with it) and Text
11
- // Overflow for one text node. $suffix is "-dc" for the Label blocks, which write the
12
- // *Desc keys. Declared here rather than reusing the allocationDetails mixins so this
13
- // file stays self-contained, matching how it already redeclares the rebound vars.
14
- @mixin ahqd-text-controls($base, $suffix: "", $clampVar: --_sf-line-clamp) {
15
- text-transform: prepareMediaVariable(#{$base}-tt-tm#{$suffix}, none);
16
- word-wrap: prepareMediaVariable(#{$base}-wd-wp#{$suffix}, normal);
17
- word-break: prepareMediaVariable(#{$base}-wd-bk#{$suffix}, normal);
18
-
19
- // The clamp needs the text to wrap first, so it undoes the `nowrap` above it.
20
- &#{$overflowSelector} {
21
- white-space: normal;
22
- @include restrictToLinesShow(#{var($clampVar, 1)});
23
- }
24
- }
25
-
26
- .quota__details__element {
27
- background-color: var(
28
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-bd-cr,
29
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-bd-cr, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-bd-cr))
30
- );
31
- padding: var(
32
- --_ctm-mob-dn-an-qa-ds-qa-ds-lt-pg,
33
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-lt-pg, var(--_ctm-dn-an-qa-ds-qa-ds-lt-pg))
34
- );
35
- display: flex;
36
- flex-direction: column;
37
- --_sf-gp: var(
38
- --_ctm-mob-dn-an-qa-ds-qa-ds-lt-im-sg,
39
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-lt-im-sg, var(--_ctm-dn-an-qa-ds-qa-ds-lt-im-sg, 16px))
40
- );
41
- row-gap: var(--_sf-gp);
42
- // Embedded in an allocation card, not free-standing like the Quota Details element
43
- // itself: `fit-content` let the row size to its text and spill past the card, so it
44
- // is pinned to the card instead and the row below reflows within it.
45
- width: 100%;
46
- max-width: 100%;
47
- min-width: 0;
48
- height: auto;
49
- border-color: var(
50
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-br-cr,
51
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-br-cr, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-br-cr))
52
- );
53
- border-style: var(
54
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-br-se,
55
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-br-se, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-br-se))
56
- );
57
- border-width: var(
58
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-br-wh,
59
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-br-wh, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-br-wh))
60
- );
61
- border-radius: var(
62
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-br-rs,
63
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-br-rs, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-br-rs))
64
- );
65
- box-shadow: var(
66
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-sw-ae,
67
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-sw-ae, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-sw-ae))
68
- )
69
- var(
70
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-sw-br,
71
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-sw-br, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-sw-br))
72
- )
73
- var(
74
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-sw-sd,
75
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-sw-sd, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-sw-sd))
76
- )
77
- var(
78
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-sw-cr,
79
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-sw-cr, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-sw-cr))
80
- );
81
-
82
- .product__hilights {
83
- display: flex;
84
- align-items: center;
85
- // Design > Widget Style > alignment, falling back to the Layout panel's own
86
- // alignment so cards set up before the design control existed keep theirs.
87
- justify-content: prepareMediaVariable(
88
- --_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-hl-at,
89
- prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-lt-hl-at)
90
- );
91
- gap: var(--_sf-gp);
92
- width: 100%;
93
- height: 100%;
94
- // Pinned to the card above, so the two stats wrap onto a second line when the
95
- // card is too narrow for both instead of running past its edge.
96
- flex-wrap: wrap;
97
- min-width: 0;
98
-
99
- &[data-show-dividers="true"] {
100
- // See quota-details.scss: Shape Size and Shape Color are the item's only two
101
- // controls, Size measuring the marker's diameter or the rule's thickness. The
102
- // `-dr-dr-` doubling is the `divider` node followed by the `divider…` property
103
- // name — the shape vars were written with only one, which is why neither
104
- // control did anything.
105
- $shapeSize: prepareMediaVariable(
106
- --_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-se-se,
107
- prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-wh, 1px)
108
- );
109
- $shapeColor: prepareMediaVariable(
110
- --_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-se-cr,
111
- prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-cr, #e4e7ec)
112
- );
113
-
114
- .product__list__item {
115
- position: relative;
116
- // The rule is a pseudo-element and takes no space of its own, so a wide one grew
117
- // back over the item beside it — see dividerGapReserve in functions.scss.
118
- &:not(:last-child) {
119
- @include dividerGapReserve($shapeSize, right);
120
- }
121
- &:not(:last-child)::after {
122
- content: "";
123
- width: $shapeSize;
124
- height: 100%;
125
- position: absolute;
126
- right: dividerGapOffset(var(--_sf-gp, 0px), $shapeSize);
127
- background-color: $shapeColor;
128
- }
129
-
130
- // Divider item (Divider -> Item Style). Same geometry as the standalone
131
- // element: the rule's centre sits at -(gap/2) - (width/2) from the item's right
132
- // edge, so the marker is pinned there and translated half its own width back.
133
- .divider__marker {
134
- position: absolute;
135
- top: 50%;
136
- right: dividerMarkerOffset(var(--_sf-gp, 0px), $shapeSize);
137
- transform: translate(50%, -50%);
138
- display: flex;
139
- align-items: center;
140
- justify-content: center;
141
- z-index: 1;
142
-
143
- // 8px rather than the rule's thickness when Shape Size is absent: a marker
144
- // falling back to a hairline would read as missing.
145
- &[data-shape="circle"],
146
- &[data-shape="square"] {
147
- width: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-se-se, 8px);
148
- height: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-se-se, 8px);
149
- background-color: $shapeColor;
150
- }
151
-
152
- &[data-shape="circle"] {
153
- border-radius: 50%;
154
- }
155
-
156
- &[data-shape="icon"] {
157
- padding-block: 2px;
158
- background-color: prepareMediaVariable(
159
- --_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-bd-cr,
160
- #ffffff
161
- );
162
- }
163
-
164
- .icon {
165
- display: flex;
166
-
167
- svg {
168
- width: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-in-se, 12px);
169
- height: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-in-se, 12px);
170
-
171
- &[stroke]:not([stroke="none"]),
172
- [stroke]:not([stroke="none"]) {
173
- stroke: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-in-c1, #e4e7ec);
174
- // Overrides the stroke-width presentation attribute baked into the icon markup.
175
- stroke-width: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-se-wh, 1.25);
176
- }
177
- &[fill]:not([fill="none"]),
178
- [fill]:not([fill="none"]) {
179
- fill: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-in-c1, #e4e7ec);
180
- }
181
- }
182
- }
183
- }
184
-
185
- // Rendered inside every item; only the ones carrying a rule show it.
186
- &:last-child .divider__marker {
187
- display: none;
188
- }
189
- }
190
-
191
- // A shape or icon marker REPLACES the rule rather than sitting on it, so the
192
- // rule is drawn only while the separator is the plain "divider".
193
- &:not([data-divider-item="divider"]) .product__list__item:not(:last-child)::after {
194
- display: none;
195
- }
196
- }
197
-
198
- .product__list__item {
199
- display: flex;
200
- align-items: center;
201
- gap: 4px;
202
- // Flex items default to min-width:auto, so they refuse to shrink below their
203
- // text width — the same guard the standalone element carries.
204
- min-width: 0;
205
-
206
- .svg_icon {
207
- display: flex;
208
- }
209
- }
210
-
211
- .quota__left {
212
- .count {
213
- // No `white-space: nowrap` here: it stopped the text reflowing when the card
214
- // is narrowed, which forced the two stats onto separate lines instead of
215
- // letting them shrink and stay on one. Matches the standalone element.
216
- min-width: 0;
217
- color: var(
218
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-cr,
219
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-cr, var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-cr))
220
- );
221
- font-family: var(
222
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy,
223
- var(
224
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy,
225
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy)
226
- )
227
- );
228
- text-transform: var(
229
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm,
230
- var(
231
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm,
232
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm)
233
- )
234
- );
235
- word-wrap: var(
236
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp,
237
- var(
238
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp,
239
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp)
240
- )
241
- );
242
- word-break: var(
243
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk,
244
- var(
245
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk,
246
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk)
247
- )
248
- );
249
- font-size: var(
250
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se,
251
- var(
252
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se,
253
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se)
254
- )
255
- );
256
- font-weight: var(
257
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt,
258
- var(
259
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt,
260
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt)
261
- )
262
- );
263
- font-style: var(
264
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic,
265
- var(
266
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic,
267
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic)
268
- )
269
- );
270
- letter-spacing: var(
271
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg,
272
- var(
273
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg,
274
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg)
275
- )
276
- );
277
- line-height: var(
278
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht,
279
- var(
280
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht,
281
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht)
282
- )
283
- );
284
- text-decoration: var(
285
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ue,
286
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ue, var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ue))
287
- );
288
- @include ahqd-text-controls(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt);
289
- }
290
- .label {
291
- // No `white-space: nowrap` here: it stopped the text reflowing when the card
292
- // is narrowed, which forced the two stats onto separate lines instead of
293
- // letting them shrink and stay on one. Matches the standalone element.
294
- min-width: 0;
295
- color: var(
296
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-cr-dc,
297
- var(
298
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-cr-dc,
299
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-cr-dc)
300
- )
301
- );
302
- font-family: var(
303
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy-dc,
304
- var(
305
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy-dc,
306
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy-dc)
307
- )
308
- );
309
- text-transform: var(
310
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm-dc,
311
- var(
312
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm-dc,
313
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm-dc)
314
- )
315
- );
316
- word-wrap: var(
317
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp-dc,
318
- var(
319
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp-dc,
320
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp-dc)
321
- )
322
- );
323
- word-break: var(
324
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk-dc,
325
- var(
326
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk-dc,
327
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk-dc)
328
- )
329
- );
330
- font-size: var(
331
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-dc,
332
- var(
333
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-dc,
334
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-dc)
335
- )
336
- );
337
- font-weight: var(
338
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt-dc,
339
- var(
340
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt-dc,
341
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt-dc)
342
- )
343
- );
344
- font-style: var(
345
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic-dc,
346
- var(
347
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic-dc,
348
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic-dc)
349
- )
350
- );
351
- letter-spacing: var(
352
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg-dc,
353
- var(
354
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg-dc,
355
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg-dc)
356
- )
357
- );
358
- line-height: var(
359
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht-dc,
360
- var(
361
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht-dc,
362
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht-dc)
363
- )
364
- );
365
- text-decoration: var(
366
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ue-dc,
367
- var(
368
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ue-dc,
369
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ue-dc)
370
- )
371
- );
372
- @include ahqd-text-controls(
373
- --_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt,
374
- "-dc",
375
- --_sf-line-clamp-desc
376
- );
377
- }
378
- .icon {
379
- display: flex;
380
- svg {
381
- width: var(
382
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se,
383
- var(
384
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se,
385
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se)
386
- )
387
- );
388
- height: var(
389
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se,
390
- var(
391
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se,
392
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se)
393
- )
394
- );
395
- path {
396
- stroke: var(
397
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-in-c1,
398
- var(
399
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-in-c1,
400
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-in-c1)
401
- )
402
- );
403
- // Overrides the stroke-width presentation attribute baked into the icon markup.
404
- stroke-width: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-se-wh, 1.25);
405
- }
406
- }
407
- }
408
- }
409
-
410
- .days__left {
411
- .count {
412
- // No `white-space: nowrap` here: it stopped the text reflowing when the card
413
- // is narrowed, which forced the two stats onto separate lines instead of
414
- // letting them shrink and stay on one. Matches the standalone element.
415
- min-width: 0;
416
- color: var(
417
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-cr,
418
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-cr, var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-cr))
419
- );
420
- font-family: var(
421
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy,
422
- var(
423
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy,
424
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy)
425
- )
426
- );
427
- text-transform: var(
428
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm,
429
- var(
430
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm,
431
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm)
432
- )
433
- );
434
- word-wrap: var(
435
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp,
436
- var(
437
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp,
438
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp)
439
- )
440
- );
441
- word-break: var(
442
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk,
443
- var(
444
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk,
445
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk)
446
- )
447
- );
448
- font-size: var(
449
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se,
450
- var(
451
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se,
452
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se)
453
- )
454
- );
455
- font-weight: var(
456
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt,
457
- var(
458
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt,
459
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt)
460
- )
461
- );
462
- font-style: var(
463
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic,
464
- var(
465
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic,
466
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic)
467
- )
468
- );
469
- letter-spacing: var(
470
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg,
471
- var(
472
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg,
473
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg)
474
- )
475
- );
476
- line-height: var(
477
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht,
478
- var(
479
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht,
480
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht)
481
- )
482
- );
483
- text-decoration: var(
484
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ue,
485
- var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ue, var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ue))
486
- );
487
- @include ahqd-text-controls(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt);
488
- }
489
- .label {
490
- // No `white-space: nowrap` here: it stopped the text reflowing when the card
491
- // is narrowed, which forced the two stats onto separate lines instead of
492
- // letting them shrink and stay on one. Matches the standalone element.
493
- min-width: 0;
494
- color: var(
495
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-cr-dc,
496
- var(
497
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-cr-dc,
498
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-cr-dc)
499
- )
500
- );
501
- font-family: var(
502
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy-dc,
503
- var(
504
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy-dc,
505
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy-dc)
506
- )
507
- );
508
- text-transform: var(
509
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm-dc,
510
- var(
511
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm-dc,
512
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm-dc)
513
- )
514
- );
515
- word-wrap: var(
516
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp-dc,
517
- var(
518
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp-dc,
519
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp-dc)
520
- )
521
- );
522
- word-break: var(
523
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk-dc,
524
- var(
525
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk-dc,
526
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk-dc)
527
- )
528
- );
529
- font-size: var(
530
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-dc,
531
- var(
532
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-dc,
533
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-dc)
534
- )
535
- );
536
- font-weight: var(
537
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt-dc,
538
- var(
539
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt-dc,
540
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt-dc)
541
- )
542
- );
543
- font-style: var(
544
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic-dc,
545
- var(
546
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic-dc,
547
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic-dc)
548
- )
549
- );
550
- letter-spacing: var(
551
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg-dc,
552
- var(
553
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg-dc,
554
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg-dc)
555
- )
556
- );
557
- line-height: var(
558
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht-dc,
559
- var(
560
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht-dc,
561
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht-dc)
562
- )
563
- );
564
- text-decoration: var(
565
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ue-dc,
566
- var(
567
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ue-dc,
568
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ue-dc)
569
- )
570
- );
571
- @include ahqd-text-controls(
572
- --_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt,
573
- "-dc",
574
- --_sf-line-clamp-desc
575
- );
576
- }
577
- .icon {
578
- display: flex;
579
- svg {
580
- width: var(
581
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se,
582
- var(
583
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se,
584
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se)
585
- )
586
- );
587
- height: var(
588
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se,
589
- var(
590
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se,
591
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se)
592
- )
593
- );
594
- path {
595
- stroke: var(
596
- --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-in-c1,
597
- var(
598
- --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-in-c1,
599
- var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-in-c1)
600
- )
601
- );
602
- // Overrides the stroke-width presentation attribute baked into the icon markup.
603
- stroke-width: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-se-wh, 1.25);
604
- }
605
- }
606
- }
607
- }
608
- }
609
- }
1
+ @use "./functions.scss" as *;
2
+
3
+ // The allocation HEADER's quota details. Same rules as allocations-quota-details.scss
4
+ // (which styles the ones inside the product cards), rebound to the header's own
5
+ // design.allocation.quotaDetails.* variable paths so the two can be styled apart.
6
+ // @imported inside allocationDetails.scss within the .showcase__title scope.
7
+
8
+ $overflowSelector: ".flex__overflow";
9
+
10
+ // Text Transform (with the word wrap/break pair the panel groups with it) and Text
11
+ // Overflow for one text node. $suffix is "-dc" for the Label blocks, which write the
12
+ // *Desc keys. Declared here rather than reusing the allocationDetails mixins so this
13
+ // file stays self-contained, matching how it already redeclares the rebound vars.
14
+ @mixin ahqd-text-controls($base, $suffix: "", $clampVar: --_sf-line-clamp) {
15
+ text-transform: prepareMediaVariable(#{$base}-tt-tm#{$suffix}, none);
16
+ word-wrap: prepareMediaVariable(#{$base}-wd-wp#{$suffix}, normal);
17
+ word-break: prepareMediaVariable(#{$base}-wd-bk#{$suffix}, normal);
18
+
19
+ // The clamp needs the text to wrap first, so it undoes the `nowrap` above it.
20
+ &#{$overflowSelector} {
21
+ white-space: normal;
22
+ @include restrictToLinesShow(#{var($clampVar, 1)});
23
+ }
24
+ }
25
+
26
+ .quota__details__element {
27
+ background-color: var(
28
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-bd-cr,
29
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-bd-cr, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-bd-cr))
30
+ );
31
+ padding: var(
32
+ --_ctm-mob-dn-an-qa-ds-qa-ds-lt-pg,
33
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-lt-pg, var(--_ctm-dn-an-qa-ds-qa-ds-lt-pg))
34
+ );
35
+ display: flex;
36
+ flex-direction: column;
37
+ --_sf-gp: var(
38
+ --_ctm-mob-dn-an-qa-ds-qa-ds-lt-im-sg,
39
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-lt-im-sg, var(--_ctm-dn-an-qa-ds-qa-ds-lt-im-sg, 16px))
40
+ );
41
+ row-gap: var(--_sf-gp);
42
+ // Embedded in an allocation card, not free-standing like the Quota Details element
43
+ // itself: `fit-content` let the row size to its text and spill past the card, so it
44
+ // is pinned to the card instead and the row below reflows within it.
45
+ width: 100%;
46
+ max-width: 100%;
47
+ min-width: 0;
48
+ height: auto;
49
+ border-color: var(
50
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-br-cr,
51
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-br-cr, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-br-cr))
52
+ );
53
+ border-style: var(
54
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-br-se,
55
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-br-se, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-br-se))
56
+ );
57
+ border-width: var(
58
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-br-wh,
59
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-br-wh, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-br-wh))
60
+ );
61
+ border-radius: var(
62
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-br-rs,
63
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-br-rs, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-br-rs))
64
+ );
65
+ box-shadow: var(
66
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-sw-ae,
67
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-sw-ae, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-sw-ae))
68
+ )
69
+ var(
70
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-sw-br,
71
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-sw-br, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-sw-br))
72
+ )
73
+ var(
74
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-sw-sd,
75
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-sw-sd, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-sw-sd))
76
+ )
77
+ var(
78
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-wt-se-sw-cr,
79
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-wt-se-sw-cr, var(--_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-sw-cr))
80
+ );
81
+
82
+ .product__hilights {
83
+ display: flex;
84
+ align-items: center;
85
+ // Design > Widget Style > alignment, falling back to the Layout panel's own
86
+ // alignment so cards set up before the design control existed keep theirs.
87
+ justify-content: prepareMediaVariable(
88
+ --_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-hl-at,
89
+ prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-lt-hl-at)
90
+ );
91
+ gap: var(--_sf-gp);
92
+ width: 100%;
93
+ height: 100%;
94
+ // Pinned to the card above, so the two stats wrap onto a second line when the
95
+ // card is too narrow for both instead of running past its edge.
96
+ flex-wrap: wrap;
97
+ min-width: 0;
98
+
99
+ &[data-show-dividers="true"] {
100
+ // See quota-details.scss: Shape Size and Shape Color are the item's only two
101
+ // controls, Size measuring the marker's diameter or the rule's thickness. The
102
+ // `-dr-dr-` doubling is the `divider` node followed by the `divider…` property
103
+ // name — the shape vars were written with only one, which is why neither
104
+ // control did anything.
105
+ $shapeSize: prepareMediaVariable(
106
+ --_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-se-se,
107
+ prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-wh, 1px)
108
+ );
109
+ $shapeColor: prepareMediaVariable(
110
+ --_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-se-cr,
111
+ prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-cr, #e4e7ec)
112
+ );
113
+
114
+ .product__list__item {
115
+ position: relative;
116
+ // The rule is a pseudo-element and takes no space of its own, so a wide one grew
117
+ // back over the item beside it — see dividerGapReserve in functions.scss.
118
+ &:not(:last-child) {
119
+ @include dividerGapReserve($shapeSize, right);
120
+ }
121
+ &:not(:last-child)::after {
122
+ content: "";
123
+ width: $shapeSize;
124
+ height: 100%;
125
+ position: absolute;
126
+ right: dividerGapOffset(var(--_sf-gp, 0px), $shapeSize);
127
+ background-color: $shapeColor;
128
+ }
129
+
130
+ // Divider item (Divider -> Item Style). Same geometry as the standalone
131
+ // element: the rule's centre sits at -(gap/2) - (width/2) from the item's right
132
+ // edge, so the marker is pinned there and translated half its own width back.
133
+ .divider__marker {
134
+ position: absolute;
135
+ top: 50%;
136
+ right: dividerMarkerOffset(var(--_sf-gp, 0px), $shapeSize);
137
+ transform: translate(50%, -50%);
138
+ display: flex;
139
+ align-items: center;
140
+ justify-content: center;
141
+ z-index: 1;
142
+
143
+ // 8px rather than the rule's thickness when Shape Size is absent: a marker
144
+ // falling back to a hairline would read as missing.
145
+ &[data-shape="circle"],
146
+ &[data-shape="square"] {
147
+ width: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-se-se, 8px);
148
+ height: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-dr-se-se, 8px);
149
+ background-color: $shapeColor;
150
+ }
151
+
152
+ &[data-shape="circle"] {
153
+ border-radius: 50%;
154
+ }
155
+
156
+ &[data-shape="icon"] {
157
+ padding-block: 2px;
158
+ background-color: prepareMediaVariable(
159
+ --_ctm-dn-an-qa-ds-qa-ds-dn-wt-se-bd-cr,
160
+ #ffffff
161
+ );
162
+ }
163
+
164
+ .icon {
165
+ display: flex;
166
+
167
+ svg {
168
+ width: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-in-se, 12px);
169
+ height: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-in-se, 12px);
170
+
171
+ &[stroke]:not([stroke="none"]),
172
+ [stroke]:not([stroke="none"]) {
173
+ stroke: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-in-c1, #e4e7ec);
174
+ // Overrides the stroke-width presentation attribute baked into the icon markup.
175
+ stroke-width: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-se-wh, 1.25);
176
+ }
177
+ &[fill]:not([fill="none"]),
178
+ [fill]:not([fill="none"]) {
179
+ fill: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-dr-in-c1, #e4e7ec);
180
+ }
181
+ }
182
+ }
183
+ }
184
+
185
+ // Rendered inside every item; only the ones carrying a rule show it.
186
+ &:last-child .divider__marker {
187
+ display: none;
188
+ }
189
+ }
190
+
191
+ // A shape or icon marker REPLACES the rule rather than sitting on it, so the
192
+ // rule is drawn only while the separator is the plain "divider".
193
+ &:not([data-divider-item="divider"]) .product__list__item:not(:last-child)::after {
194
+ display: none;
195
+ }
196
+ }
197
+
198
+ .product__list__item {
199
+ display: flex;
200
+ align-items: center;
201
+ gap: 4px;
202
+ // Flex items default to min-width:auto, so they refuse to shrink below their
203
+ // text width — the same guard the standalone element carries.
204
+ min-width: 0;
205
+
206
+ .svg_icon {
207
+ display: flex;
208
+ }
209
+ }
210
+
211
+ .quota__left {
212
+ .count {
213
+ // No `white-space: nowrap` here: it stopped the text reflowing when the card
214
+ // is narrowed, which forced the two stats onto separate lines instead of
215
+ // letting them shrink and stay on one. Matches the standalone element.
216
+ min-width: 0;
217
+ color: var(
218
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-cr,
219
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-cr, var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-cr))
220
+ );
221
+ font-family: var(
222
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy,
223
+ var(
224
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy,
225
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy)
226
+ )
227
+ );
228
+ text-transform: var(
229
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm,
230
+ var(
231
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm,
232
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm)
233
+ )
234
+ );
235
+ word-wrap: var(
236
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp,
237
+ var(
238
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp,
239
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp)
240
+ )
241
+ );
242
+ word-break: var(
243
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk,
244
+ var(
245
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk,
246
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk)
247
+ )
248
+ );
249
+ font-size: var(
250
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se,
251
+ var(
252
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se,
253
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se)
254
+ )
255
+ );
256
+ font-weight: var(
257
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt,
258
+ var(
259
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt,
260
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt)
261
+ )
262
+ );
263
+ font-style: var(
264
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic,
265
+ var(
266
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic,
267
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic)
268
+ )
269
+ );
270
+ letter-spacing: var(
271
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg,
272
+ var(
273
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg,
274
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg)
275
+ )
276
+ );
277
+ line-height: var(
278
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht,
279
+ var(
280
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht,
281
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht)
282
+ )
283
+ );
284
+ text-decoration: var(
285
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ue,
286
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ue, var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ue))
287
+ );
288
+ @include ahqd-text-controls(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt);
289
+ }
290
+ .label {
291
+ // No `white-space: nowrap` here: it stopped the text reflowing when the card
292
+ // is narrowed, which forced the two stats onto separate lines instead of
293
+ // letting them shrink and stay on one. Matches the standalone element.
294
+ min-width: 0;
295
+ color: var(
296
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-cr-dc,
297
+ var(
298
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-cr-dc,
299
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-cr-dc)
300
+ )
301
+ );
302
+ font-family: var(
303
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy-dc,
304
+ var(
305
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy-dc,
306
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-fy-dc)
307
+ )
308
+ );
309
+ text-transform: var(
310
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm-dc,
311
+ var(
312
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm-dc,
313
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-tt-tm-dc)
314
+ )
315
+ );
316
+ word-wrap: var(
317
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp-dc,
318
+ var(
319
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp-dc,
320
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-wp-dc)
321
+ )
322
+ );
323
+ word-break: var(
324
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk-dc,
325
+ var(
326
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk-dc,
327
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-wd-bk-dc)
328
+ )
329
+ );
330
+ font-size: var(
331
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-dc,
332
+ var(
333
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-dc,
334
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-dc)
335
+ )
336
+ );
337
+ font-weight: var(
338
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt-dc,
339
+ var(
340
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt-dc,
341
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-wt-dc)
342
+ )
343
+ );
344
+ font-style: var(
345
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic-dc,
346
+ var(
347
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic-dc,
348
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ft-se-ic-dc)
349
+ )
350
+ );
351
+ letter-spacing: var(
352
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg-dc,
353
+ var(
354
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg-dc,
355
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-lr-sg-dc)
356
+ )
357
+ );
358
+ line-height: var(
359
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht-dc,
360
+ var(
361
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht-dc,
362
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-le-ht-dc)
363
+ )
364
+ );
365
+ text-decoration: var(
366
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-ue-dc,
367
+ var(
368
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-ue-dc,
369
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-ue-dc)
370
+ )
371
+ );
372
+ @include ahqd-text-controls(
373
+ --_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt,
374
+ "-dc",
375
+ --_sf-line-clamp-desc
376
+ );
377
+ }
378
+ .icon {
379
+ display: flex;
380
+ svg {
381
+ width: var(
382
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se,
383
+ var(
384
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se,
385
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se)
386
+ )
387
+ );
388
+ height: var(
389
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se,
390
+ var(
391
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se,
392
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-in-se)
393
+ )
394
+ );
395
+ path {
396
+ stroke: var(
397
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-qa-lt-in-c1,
398
+ var(
399
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-qa-lt-in-c1,
400
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-in-c1)
401
+ )
402
+ );
403
+ // Overrides the stroke-width presentation attribute baked into the icon markup.
404
+ stroke-width: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-qa-lt-se-wh, 1.25);
405
+ }
406
+ }
407
+ }
408
+ }
409
+
410
+ .days__left {
411
+ .count {
412
+ // No `white-space: nowrap` here: it stopped the text reflowing when the card
413
+ // is narrowed, which forced the two stats onto separate lines instead of
414
+ // letting them shrink and stay on one. Matches the standalone element.
415
+ min-width: 0;
416
+ color: var(
417
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-cr,
418
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-cr, var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-cr))
419
+ );
420
+ font-family: var(
421
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy,
422
+ var(
423
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy,
424
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy)
425
+ )
426
+ );
427
+ text-transform: var(
428
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm,
429
+ var(
430
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm,
431
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm)
432
+ )
433
+ );
434
+ word-wrap: var(
435
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp,
436
+ var(
437
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp,
438
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp)
439
+ )
440
+ );
441
+ word-break: var(
442
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk,
443
+ var(
444
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk,
445
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk)
446
+ )
447
+ );
448
+ font-size: var(
449
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se,
450
+ var(
451
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se,
452
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se)
453
+ )
454
+ );
455
+ font-weight: var(
456
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt,
457
+ var(
458
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt,
459
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt)
460
+ )
461
+ );
462
+ font-style: var(
463
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic,
464
+ var(
465
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic,
466
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic)
467
+ )
468
+ );
469
+ letter-spacing: var(
470
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg,
471
+ var(
472
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg,
473
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg)
474
+ )
475
+ );
476
+ line-height: var(
477
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht,
478
+ var(
479
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht,
480
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht)
481
+ )
482
+ );
483
+ text-decoration: var(
484
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ue,
485
+ var(--_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ue, var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ue))
486
+ );
487
+ @include ahqd-text-controls(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt);
488
+ }
489
+ .label {
490
+ // No `white-space: nowrap` here: it stopped the text reflowing when the card
491
+ // is narrowed, which forced the two stats onto separate lines instead of
492
+ // letting them shrink and stay on one. Matches the standalone element.
493
+ min-width: 0;
494
+ color: var(
495
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-cr-dc,
496
+ var(
497
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-cr-dc,
498
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-cr-dc)
499
+ )
500
+ );
501
+ font-family: var(
502
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy-dc,
503
+ var(
504
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy-dc,
505
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-fy-dc)
506
+ )
507
+ );
508
+ text-transform: var(
509
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm-dc,
510
+ var(
511
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm-dc,
512
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-tt-tm-dc)
513
+ )
514
+ );
515
+ word-wrap: var(
516
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp-dc,
517
+ var(
518
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp-dc,
519
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-wp-dc)
520
+ )
521
+ );
522
+ word-break: var(
523
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk-dc,
524
+ var(
525
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk-dc,
526
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-wd-bk-dc)
527
+ )
528
+ );
529
+ font-size: var(
530
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-dc,
531
+ var(
532
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-dc,
533
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-dc)
534
+ )
535
+ );
536
+ font-weight: var(
537
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt-dc,
538
+ var(
539
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt-dc,
540
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-wt-dc)
541
+ )
542
+ );
543
+ font-style: var(
544
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic-dc,
545
+ var(
546
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic-dc,
547
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ft-se-ic-dc)
548
+ )
549
+ );
550
+ letter-spacing: var(
551
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg-dc,
552
+ var(
553
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg-dc,
554
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-lr-sg-dc)
555
+ )
556
+ );
557
+ line-height: var(
558
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht-dc,
559
+ var(
560
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht-dc,
561
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-le-ht-dc)
562
+ )
563
+ );
564
+ text-decoration: var(
565
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-ue-dc,
566
+ var(
567
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-ue-dc,
568
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-ue-dc)
569
+ )
570
+ );
571
+ @include ahqd-text-controls(
572
+ --_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt,
573
+ "-dc",
574
+ --_sf-line-clamp-desc
575
+ );
576
+ }
577
+ .icon {
578
+ display: flex;
579
+ svg {
580
+ width: var(
581
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se,
582
+ var(
583
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se,
584
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se)
585
+ )
586
+ );
587
+ height: var(
588
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se,
589
+ var(
590
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se,
591
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-in-se)
592
+ )
593
+ );
594
+ path {
595
+ stroke: var(
596
+ --_ctm-mob-dn-an-qa-ds-qa-ds-dn-ds-lt-in-c1,
597
+ var(
598
+ --_ctm-tab-dn-an-qa-ds-qa-ds-dn-ds-lt-in-c1,
599
+ var(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-in-c1)
600
+ )
601
+ );
602
+ // Overrides the stroke-width presentation attribute baked into the icon markup.
603
+ stroke-width: prepareMediaVariable(--_ctm-dn-an-qa-ds-qa-ds-dn-ds-lt-se-wh, 1.25);
604
+ }
605
+ }
606
+ }
607
+ }
608
+ }
609
+ }