@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,946 +1,946 @@
1
- @use "sass:map";
2
- @use "sass:list";
3
- @use "./repeater-embla-controls.scss" as *;
4
- @use "./repeater-grid-toggle.scss" as *;
5
- @use "./functions.scss" as *;
6
- $childItemSelector: '[data-element-type="repeater-item"]';
7
- $adSlotElementSelector: ".repeater-ad-slot";
8
- $adSlotSliderSelector: ".repeater-ad-slot__inner";
9
- $sliderControlDragging: "[flex-slider-control-moving='true']";
10
- $rai: "repeater-advertise-item";
11
- $listViewSlector: '.lst_vw[data-element-type="repeater"]';
12
-
13
- [data-div-type="element"] {
14
- &[data-element-type="repeater"] {
15
- // width: var(--_sf-con-nw-wh);
16
- // width: var(--_sf-el-wh-st-mx, calc(1% * var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh))));
17
- width: calc(
18
- 1% *
19
- var(
20
- --_ctm-mob-rep-ele-nw-wh-vl,
21
- var(--_ctm-tab-rep-ele-nw-wh-vl, var(--_ctm-rep-ele-nw-wh-vl, auto))
22
- )
23
- );
24
-
25
- // width: 100%;
26
- &:not([data-view-state="full"]) {
27
- min-height: var(
28
- --_ctm-mob-rep-lt-ht,
29
- var(--_ctm-tab-rep-lt-ht, var(--_ctm-rep-lt-ht, var(--_ctm-lt-ht, var(--_tst-lt-ht))))
30
- );
31
- }
32
-
33
- min-height: var();
34
- margin: var(
35
- --_ctm-mob-rep-lt-mn,
36
- var(--_ctm-tab-rep-lt-mn, var(--_ctm-rep-lt-mn, var(--_ctm-lt-mn, var(--_tst-lt-mn))))
37
- );
38
-
39
- &[data-background-type="color"] {
40
- background-color: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-cr);
41
- }
42
-
43
- &[data-background-type="gradient"] {
44
- --_sf-rep-gradient-angle: calc(#{prepareMediaVariable(--_ctm-rep-dn-rr-wt-gt-ae, 90)} * 1deg);
45
- --_sf-rep-gradient-start-color: #{prepareMediaVariable(
46
- --_ctm-rep-dn-rr-wt-gt-st-cr,
47
- transparent
48
- )};
49
- --_sf-rep-gradient-start-position: calc(
50
- #{prepareMediaVariable(--_ctm-rep-dn-rr-wt-gt-st-pn, 0)} * 1%
51
- );
52
- --_sf-rep-gradient-end-color: #{prepareMediaVariable(
53
- --_ctm-rep-dn-rr-wt-gt-ed-cr,
54
- transparent
55
- )};
56
- --_sf-rep-gradient-end-position: calc(
57
- #{prepareMediaVariable(--_ctm-rep-dn-rr-wt-gt-ed-pn, 100)} * 1%
58
- );
59
- --_sf-rep-gradient-position: #{prepareMediaVariable(--_ctm-rep-dn-rr-wt-gt-pn, center)};
60
-
61
- &[data-gradient-type="Linear Gradient"] {
62
- background-image: linear-gradient(
63
- var(--_sf-rep-gradient-angle),
64
- var(--_sf-rep-gradient-start-color) var(--_sf-rep-gradient-start-position),
65
- var(--_sf-rep-gradient-end-color) var(--_sf-rep-gradient-end-position)
66
- );
67
- }
68
-
69
- &[data-gradient-type="Radial Gradient"] {
70
- background-image: radial-gradient(
71
- circle at var(--_sf-rep-gradient-position),
72
- var(--_sf-rep-gradient-start-color) var(--_sf-rep-gradient-start-position),
73
- var(--_sf-rep-gradient-end-color) var(--_sf-rep-gradient-end-position)
74
- );
75
- }
76
- }
77
-
78
- &[data-background-type="image"] {
79
- background-image: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-ie);
80
- background-attachment: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-at);
81
- background-position: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-pn);
82
- background-position-y: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-pn-y);
83
- background-repeat: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-rt);
84
- background-size: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-se);
85
- }
86
-
87
- // background-color: var(
88
- // --_ctm-mob-rep-dn-rr-wt-bd-cr,
89
- // var(--_ctm-tab-rep-dn-rr-wt-bd-cr, var(--_ctm-rep-dn-rr-wt-bd-cr))
90
- // );
91
- // background-image: var(
92
- // --_ctm-mob-rep-dn-rr-wt-bd-ie,
93
- // var(--_ctm-tab-rep-dn-rr-wt-bd-ie, var(--_ctm-rep-dn-rr-wt-bd-ie))
94
- // );
95
- // background-attachment: var(
96
- // --_ctm-mob-rep-dn-rr-wt-bd-at,
97
- // var(--_ctm-tab-rep-dn-rr-wt-bd-at, var(--_ctm-rep-dn-rr-wt-bd-at))
98
- // );
99
- // background-position: var(
100
- // --_ctm-mob-rep-dn-rr-wt-bd-pn,
101
- // var(--_ctm-tab-rep-dn-rr-wt-bd-pn, var(--_ctm-rep-dn-rr-wt-bd-pn))
102
- // );
103
- // background-repeat: var(
104
- // --_ctm-mob-rep-dn-rr-wt-bd-rt,
105
- // var(--_ctm-tab-rep-dn-rr-wt-bd-rt, var(--_ctm-rep-dn-rr-wt-bd-rt))
106
- // );
107
- // background-size: var(
108
- // --_ctm-mob-rep-dn-rr-wt-bd-se,
109
- // var(--_ctm-tab-rep-dn-rr-wt-bd-se, var(--_ctm-rep-dn-rr-wt-bd-se))
110
- // );
111
- &[data-show-border="true"] {
112
- border-color: var(
113
- --_ctm-mob-rep-dn-rr-wt-br-cr,
114
- var(--_ctm-tab-rep-dn-rr-wt-br-cr, var(--_ctm-rep-dn-rr-wt-br-cr))
115
- );
116
- border-style: var(
117
- --_ctm-mob-rep-dn-rr-wt-br-se,
118
- var(--_ctm-tab-rep-dn-rr-wt-br-se, var(--_ctm-rep-dn-rr-wt-br-se))
119
- );
120
- border-width: var(
121
- --_ctm-mob-rep-dn-rr-wt-br-wh,
122
- var(--_ctm-tab-rep-dn-rr-wt-br-wh, var(--_ctm-rep-dn-rr-wt-br-wh))
123
- );
124
- }
125
-
126
- border-radius: var(
127
- --_ctm-mob-rep-dn-rr-wt-br-rs,
128
- var(--_ctm-tab-rep-dn-rr-wt-br-rs, var(--_ctm-rep-dn-rr-wt-br-rs))
129
- );
130
-
131
- // The shadow is configured under the Repeater Widget accordion, so its variables
132
- // carry that accordion's `rr-wt` segment — without it nothing the builder writes
133
- // was ever read back. The Show Shadow switch arrives as `data-show-shadow`.
134
- &[data-show-shadow="false"] {
135
- --_show-shadow: none;
136
- }
137
-
138
- box-shadow: var(
139
- --_show-shadow,
140
- var(
141
- --_ctm-mob-rep-dn-rr-wt-sw-ae,
142
- var(--_ctm-tab-rep-dn-rr-wt-sw-ae, var(--_ctm-rep-dn-rr-wt-sw-ae, 0))
143
- )
144
- var(
145
- --_ctm-mob-rep-dn-rr-wt-sw-br,
146
- var(--_ctm-tab-rep-dn-rr-wt-sw-br, var(--_ctm-rep-dn-rr-wt-sw-br, 0))
147
- )
148
- var(
149
- --_ctm-mob-rep-dn-rr-wt-sw-sd,
150
- var(--_ctm-tab-rep-dn-rr-wt-sw-sd, var(--_ctm-rep-dn-rr-wt-sw-sd, 0))
151
- )
152
- var(
153
- --_ctm-mob-rep-dn-rr-wt-sw-cr,
154
- var(--_ctm-tab-rep-dn-rr-wt-sw-cr, var(--_ctm-rep-dn-rr-wt-sw-cr, transparent))
155
- )
156
- );
157
- padding: var(--_ctm-mob-rep-lt-pg, var(--_ctm-tab-rep-lt-pg, var(--_ctm-rep-lt-pg)));
158
-
159
- --_sf-ic-sz-nn: var(
160
- --_ctm-mob-rep-lt-aw-in-se,
161
- var(--_ctm-tab-rep-lt-aw-in-se, var(--_ctm-rep-lt-aw-in-se, 40px))
162
- );
163
-
164
- --_sf-ed-vl-sz: var(
165
- --_ctm-mob-rep-lt-dt-se,
166
- var(--_ctm-tab-rep-lt-dt-se, var(--_ctm-rep-lt-dt-se, 10px))
167
- );
168
-
169
- &[data-grid-toggle="enable"] {
170
- position: var(--_p-relative);
171
- @include FlexRepeaterGridToggleCSS();
172
- }
173
-
174
- &.lst_vw {
175
- & > div {
176
- &.wrapper {
177
- display: var(--_d-grid);
178
- row-gap: prepareMediaVariable(--_ctm-rep-lt-im-gp-lt, 0px);
179
- grid-template-columns: 100%;
180
- // grid-template-rows: repeat(
181
- // auto-fit,
182
- // minmax(#{prepareMediaVariable(--_ctm-rep-lt-rw-mn-ht-lt)}, 1fr)
183
- // );
184
- // grid-template-rows: repeat(
185
- // 1,
186
- // minmax(#{prepareMediaVariable(--_ctm-rep-lt-rw-mn-ht-lt)}, 1fr)
187
- // );
188
- grid-auto-rows: minmax(#{prepareMediaVariable(--_ctm-rep-lt-rw-mn-ht-lt)}, auto);
189
- width: 100%;
190
-
191
- & > div {
192
- &#{$childItemSelector},
193
- &#{$adSlotElementSelector} {
194
- width: 100%;
195
- }
196
- }
197
- }
198
- }
199
- }
200
-
201
- &:not(.lst_vw) {
202
- &.grd {
203
- & > div {
204
- &.wrapper {
205
- width: 100%;
206
- display: grid;
207
- grid-template-columns: repeat(
208
- auto-fit,
209
- minmax(
210
- var(
211
- --_ctm-mob-rep-lt-mn-cn-wh,
212
- var(--_ctm-tab-rep-lt-mn-cn-wh, var(--_ctm-rep-lt-mn-cn-wh))
213
- ),
214
- 1fr
215
- )
216
- );
217
- grid-template-rows: repeat(
218
- auto-fit,
219
- minmax(
220
- var(
221
- --_ctm-mob-rep-lt-mn-rw-ht,
222
- var(--_ctm-tab-rep-lt-mn-rw-ht, var(--_ctm-rep-lt-mn-rw-ht))
223
- ),
224
- 1fr
225
- )
226
- );
227
-
228
- div {
229
- &#{$childItemSelector},
230
- &#{$adSlotElementSelector},
231
- &.#{$rai} {
232
- width: 100%;
233
- }
234
- }
235
- }
236
- }
237
- }
238
-
239
- &.crds {
240
- & > div {
241
- &.wrapper {
242
- display: flex !important;
243
- flex-wrap: wrap;
244
- width: 100%;
245
- height: auto !important;
246
- // min-height: 100px !important;
247
- }
248
- }
249
-
250
- &:not(.stimsfrRws) {
251
- // we are not using
252
- & > div {
253
- &.wrapper {
254
- justify-content: center;
255
-
256
- & > div {
257
- &#{$childItemSelector},
258
- &#{$adSlotElementSelector},
259
- &.#{$rai} {
260
- // width: var(--_ctm-rep-lt-wh);
261
- --_col-count: var(--_sf-gd-ct, 3);
262
- --_col-gap: 0px;
263
- width: 163px;
264
- height: 100px;
265
- // grid-template-rows: minmax(
266
- // max(
267
- // 0.5px,
268
- // 0.0896337 * (var(--_cms-scaling-factor) - var(--_cms-scrollbar-width))
269
- // ),
270
- // auto
271
- // );
272
- // grid-template-rows: ;
273
- }
274
- }
275
- }
276
- }
277
- }
278
-
279
- &.stimsfrRws {
280
- & > div {
281
- &.wrapper {
282
- align-self: prepareMediaVariable(--_ctm-rep-lt-an-is) !important;
283
-
284
- & > div {
285
- &#{$childItemSelector},
286
- &#{$adSlotElementSelector},
287
- &.#{$rai} {
288
- // --_col-count: var(--_sf-gd-ct, 3);
289
- --_col-count: var(
290
- --_ctm-mob-rep-lt-st-is-pr-rw,
291
- var(--_ctm-tab-rep-lt-st-is-pr-rw, var(--_ctm-rep-lt-st-is-pr-rw, 3))
292
- );
293
- // --_col-gap: var(
294
- // --_ctm-mob-rep-lt-im-gp,
295
- // var(--_ctm-tab-rep-lt-im-gp, var(--_ctm-rep-lt-im-gp, 0px))
296
- // );
297
- --_col-gap: #{prepareMediaVariable(--_ctm-rep-lt-cn-gp, 0px)};
298
- width: calc(
299
- (100% / var(--_col-count)) -
300
- (((var(--_col-count) - 1) * var(--_col-gap)) / (var(--_col-count)))
301
- );
302
- flex: 0 0
303
- calc(
304
- (100% / var(--_col-count)) -
305
- (((var(--_col-count) - 1) * var(--_col-gap)) / (var(--_col-count)))
306
- );
307
- // align-self: stretch;
308
- // height: 100px;
309
- grid-template-rows: minmax(
310
- max(
311
- 0.5px,
312
- 0.09375 * (var(--_cms-scaling-factor) - var(--_cms-scrollbar-width))
313
- ),
314
- auto
315
- );
316
- grid-template-columns: minmax(0px, 1fr);
317
- // min-height: 50px !important;
318
- grid-template-rows:
319
- minmax(
320
- max(0.5px, 0.09375 * (var(--scaling-factor) - var(--scrollbar-width))),
321
- auto
322
- )
323
- minmax(
324
- max(0.5px, 0.09375 * (var(--scaling-factor) - var(--scrollbar-width))),
325
- auto
326
- );
327
- }
328
- }
329
- }
330
- }
331
- }
332
- }
333
-
334
- &.sld {
335
- &:is(:not(#{$sliderControlDragging} *)) {
336
- overflow: clip;
337
- }
338
-
339
- height: auto;
340
- --_sf-sl-ct-ic-dt-at-cl: var(
341
- --_ctm-mob-rep-lt-cl-ae-cr,
342
- var(--_ctm-tab-rep-lt-cl-ae-cr, var(--_ctm-rep-lt-cl-ae-cr))
343
- );
344
-
345
- // Design > Pagination Arrows.
346
- //
347
- // Arrow Size and the layout tab's Arrow Icon Size drive the same button box, so the
348
- // design value wins and the layout value is the fallback — a repeater saved before
349
- // this section existed has no `dn-pn-as-aw-se` var and keeps its `lt-aw-in-se`
350
- // size. Both schema defaults are 40px.
351
- --_sf-ic-sz-nn: #{prepareMediaVariable(
352
- --_ctm-rep-dn-pn-as-aw-se,
353
- var(
354
- --_ctm-mob-rep-lt-aw-in-se,
355
- var(--_ctm-tab-rep-lt-aw-in-se, var(--_ctm-rep-lt-aw-in-se, 40px))
356
- )
357
- )};
358
- // Resting arrow colour. Design > Pagination Arrows > Arrow Color replaces the
359
- // layout tab's Arrow Icon Color, which stays as the fallback; the last fallback is
360
- // the colour baked into the chevron icons. Hover still switches to Control Active
361
- // Color.
362
- --_sf-sl-ct-aw-in-cl: #{prepareMediaVariable(
363
- --_ctm-rep-dn-pn-as-aw-cr,
364
- var(
365
- --_ctm-mob-rep-lt-aw-in-cr,
366
- var(--_ctm-tab-rep-lt-aw-in-cr, var(--_ctm-rep-lt-aw-in-cr, #667085))
367
- )
368
- )};
369
- // Background Color, as the gallery slider and the layouter use it: the button is a
370
- // 10% tint of the chosen colour and 20% on hover (see the hover rule further down),
371
- // not the flat colour. Kept in its own variable so both tints read the same source.
372
- --_sf-rep-as-bg-cr: #{prepareMediaVariable(--_ctm-rep-dn-pn-as-bd-cr, #fff)};
373
- --_sf-nv-ic-bg: color-mix(in srgb, var(--_sf-rep-as-bg-cr) 10%, transparent);
374
-
375
- // Design > Pagination Dots (control templates 1 and 2). Dot Size replaces the
376
- // layout tab's Dot Size the same way Arrow Size replaces Arrow Icon Size, with the
377
- // old var as fallback for repeaters saved before the section existed. The two
378
- // colours had no layout equivalent: the selected dot used to follow Control Active
379
- // Color, which still colours the arrow hover and the unselected dot border.
380
- --_sf-ed-vl-sz: #{prepareMediaVariable(
381
- --_ctm-rep-dn-pn-ds-dt-se,
382
- var(
383
- --_ctm-mob-rep-lt-dt-se,
384
- var(--_ctm-tab-rep-lt-dt-se, var(--_ctm-rep-lt-dt-se, 10px))
385
- )
386
- )};
387
- --_sf-dt-ae-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-ct-dt-cr, #162578)};
388
- --_sf-dt-ie-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-or-dt-cr, #fff)};
389
-
390
- // Background Shape of the arrow buttons, matching the gallery slider's mapping:
391
- // Round is the mixin's own 50% default, None squares the button off and Square
392
- // rounds the corners slightly. Repeaters without this section have no attribute at
393
- // all and stay round.
394
- button.embla__btn {
395
- &[data-background-shape="None"] {
396
- --_sf-nv-ic-br: 0px;
397
- }
398
-
399
- &[data-background-shape="Square"] {
400
- --_sf-nv-ic-br: 4px;
401
- }
402
- }
403
-
404
- // &:is([data-control-type="1"]) {
405
- // @include CMSRepeaterEmblaControlStyles(1);
406
- // }
407
- @for $i from 1 through 3 {
408
- &:is([data-control-type="#{$i}"]) {
409
- @if ($i ==3) {
410
- overflow-y: visible;
411
- }
412
-
413
- @include CMSRepeaterEmblaControlStyles($i);
414
- }
415
- }
416
-
417
- // Overrides of the shared control mixin. `:is([data-control-type])` matches the
418
- // specificity of the rules being replaced, and this block comes after the @include,
419
- // so on the tie these win.
420
- &:is([data-control-type]) {
421
- // Hover of the arrow buttons. The mixin tints them with Control Active Color,
422
- // which ignores the Background Color the Pagination Arrows section sets; the
423
- // gallery slider instead deepens that same colour from 10% to 20%. The icon
424
- // stroke still switches to Control Active Color — the mixin's own rule.
425
- button.embla__btn:hover:not(:disabled) {
426
- @include BgColorLighter(var(--_sf-rep-as-bg-cr), 20%);
427
- }
428
-
429
- // Design > Pagination Dots > Border and Shadow.
430
- //
431
- // Both are gated on the container attributes the control components publish from
432
- // the Show Border / Show Shadow toggles: with the border off the dots keep the
433
- // hairline the mixin derives from Control Active Color, and with it on these
434
- // longhands take over.
435
- .pagination__v1[data-show-border="true"] > button.embla__dot {
436
- border-width: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-br-wh, 0px)};
437
- border-style: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-br-se, solid)};
438
- border-color: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-br-cr, transparent)};
439
- }
440
-
441
- .pagination__v1[data-show-shadow="true"] > button.embla__dot {
442
- box-shadow: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-ae, 0px 0px)}
443
- #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-br, 0px)}
444
- #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-sd, 0px)}
445
- #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-cr, transparent)};
446
- }
447
- }
448
-
449
- // Design > Pagination Line — template 3 only, which draws the same pagination
450
- // buttons as bars and so reads its own section instead of Pagination Dots.
451
- &:is([data-control-type="3"]) {
452
- // The type-3 sizes and the inactive grey are set on `.pagination__v1` by the
453
- // shared control mixin, so they have to be overridden at that level rather than
454
- // on the container. Same specificity, later in the file, so these win. Defaults
455
- // are exactly what the mixin hardcodes.
456
- .pagination__v1 {
457
- --_sf-dt-wh-t3: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-le-wh, 16px)};
458
- --_sf-dt-ht-t3: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-le-ht, 2px)};
459
- // Also overrides the dots section's Other Dot Color, which the container sets
460
- // on `--_sf-dt-ie-bg` and would otherwise take precedence over the grey.
461
- --_sf-dt-ie-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-or-le-cr, #d6d6d6)};
462
- --_sf-dt-ae-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-ct-le-cr, #162578)};
463
-
464
- // The mixin pins the active bar to 6px regardless of the others' height. Kept
465
- // as a floor rather than a fixed value so Line Height above 6px applies to the
466
- // active bar too, while the default (2px) leaves it at 6px as before.
467
- > button.embla__dot.embla__dot--selected {
468
- --_sf-dt-at-ht-t3: max(6px, var(--_sf-dt-ht-t3));
469
- }
470
- }
471
-
472
- .pagination__v1[data-show-border="true"] > button.embla__dot {
473
- border-width: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-br-wh, 0px)};
474
- border-style: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-br-se, solid)};
475
- border-color: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-br-cr, transparent)};
476
- }
477
-
478
- .pagination__v1[data-show-shadow="true"] > button.embla__dot {
479
- box-shadow: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-ae, 0px 0px)}
480
- #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-br, 0px)}
481
- #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-sd, 0px)}
482
- #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-cr, transparent)};
483
- }
484
- }
485
-
486
- & > div {
487
- &.wrapper {
488
- &.embla__container {
489
- display: flex !important;
490
- --_embla-slide-space: var(
491
- --_ctm-mob-rep-lt-im-gp,
492
- var(--_ctm-tab-rep-lt-im-gp, var(--_ctm-rep-lt-im-gp, 0px))
493
- );
494
- min-height: 100px !important;
495
- --_embla-col-count: var(
496
- --_ctm-mob-rep-lt-st-is-pr-se,
497
- var(--_ctm-tab-rep-lt-st-is-pr-se, var(--_ctm-rep-lt-st-is-pr-se, 3))
498
- );
499
- // gap: 0px !important;
500
- // margin-left: calc(var(--_embla-slide-space, 10px) * -1);
501
- width: 100%;
502
- height: 100%;
503
-
504
- & > .embla__slide {
505
- --_sf-cl-vl: calc(
506
- (100% / var(--_embla-col-count, 3)) -
507
- (
508
- ((var(--_embla-col-count, 3) - 1) * (var(--_embla-slide-space, 10px))) /
509
- (var(--_embla-col-count, 3))
510
- )
511
- );
512
- // flex: 0 0 calc(var(--_embla-slide-width, 100%) / var(--_embla-col-count, 3));
513
- // width: calc(var(--_embla-slide-width, 100%) / var(--_embla-col-count, 3));
514
- flex: 0 0 var(--_sf-cl-vl);
515
- width: var(--_sf-cl-vl);
516
- // grid-template-rows: minmax(
517
- // max(0.5px, 0.09375 * (var(--_cms-scaling-factor) - var(--_cms-scrollbar-width))),
518
- // auto
519
- // );
520
- grid-template-rows: minmax(50px, auto);
521
- grid-template-columns: minmax(0px, 1fr);
522
- // padding-left: calc(var(--_embla-slide-space, 10px) * 1);
523
- // padding-left: 0px !important;
524
-
525
- img {
526
- width: 100%;
527
- }
528
- }
529
- }
530
- }
531
- }
532
- }
533
-
534
- & > div {
535
- &.wrapper {
536
- &:is(.sld > *) {
537
- gap: #{prepareMediaVariable(--_ctm-rep-lt-im-gp, 0px)};
538
- }
539
-
540
- &:is(:not(.sld > *)) {
541
- column-gap: #{prepareMediaVariable(--_ctm-rep-lt-cn-gp, 0px)};
542
- row-gap: #{prepareMediaVariable(--_ctm-rep-lt-rw-gp, 0px)};
543
- }
544
-
545
- justify-content: prepareMediaVariable(--_ctm-rep-lt-jy-ct);
546
- align-items: prepareMediaVariable(--_ctm-rep-lt-an-is);
547
- // width: 100%;
548
- // grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
549
- // grid-auto-rows: minmax(100px, 1fr);
550
- }
551
- }
552
- }
553
-
554
- .repeater-advertise-item {
555
- display: flex;
556
- justify-content: center;
557
- align-items: center;
558
-
559
- img {
560
- // width: 100%;
561
- // height: 100%;
562
- object-fit: cover;
563
- object-position: center center;
564
- max-width: 100%;
565
- max-height: 100%;
566
- }
567
- }
568
-
569
- #{$adSlotElementSelector} {
570
- // The Ad Style > Image Controls schema was dropped, so these are plain values
571
- // rather than custom properties — they reproduce what that schema defaulted to
572
- // (full-bleed, centred, no border or shadow).
573
- a {
574
- width: 100%;
575
- display: var(--_d-flex);
576
- height: 100%;
577
- justify-content: center;
578
- align-items: center;
579
- }
580
-
581
- img {
582
- max-width: 100%;
583
- max-height: 100%;
584
- width: 100%;
585
- height: 100%;
586
- object-fit: cover;
587
- object-position: center top;
588
- }
589
-
590
- #{$adSlotSliderSelector} {
591
- position: relative;
592
- width: 100%;
593
- height: 100%;
594
-
595
- & > button {
596
- position: absolute;
597
- top: 50%;
598
- transform: translateY(-50%);
599
- border-radius: 50%;
600
- border: none;
601
- cursor: var(--_sf-cursor-vl-v2, pointer);
602
- opacity: var(--_sf-opacity-vl-v2, 1);
603
- display: flex;
604
- align-items: center;
605
- justify-content: center;
606
- padding: 0;
607
- z-index: 2;
608
- // The Ad Style > Slider Controls schema was dropped, so the custom properties
609
- // only resolve on pages saved before that. The fallbacks reproduce what that
610
- // schema defaulted to (32px arrows, black).
611
- --_sf-wdt-vl-v2: #{prepareMediaVariable(--_ctm-rep-dn-ad-se-sr-cs-aw-in-se, 32px)};
612
- --_sf-bgr-clr-vl-v2: #{prepareMediaVariable(--_ctm-rep-dn-ad-se-sr-cs-cl-ae-cr, #000)};
613
- width: var(--_sf-wdt-vl-v2, 32px);
614
- height: var(--_sf-wdt-vl-v2, 32px);
615
- background: color-mix(in srgb, var(--_sf-bgr-clr-vl-v2) 10%, transparent);
616
-
617
- svg {
618
- --_perc: 0.5;
619
- width: calc(var(--_sf-wdt-vl-v2, 32px) * var(--_perc));
620
- height: calc(var(--_sf-wdt-vl-v2, 32px) * var(--_perc));
621
-
622
- path {
623
- stroke: var(--_sf-bgr-clr-vl-v2);
624
- }
625
- }
626
-
627
- &.repeater-ad-slot__nav-btn--next {
628
- right: 8px;
629
- }
630
-
631
- &.repeater-ad-slot__nav-btn--prev {
632
- left: 8px;
633
- }
634
-
635
- &:disabled {
636
- --_sf-cursor-vl-v2: not-allowed;
637
- --_sf-opacity-vl-v2: 0.4;
638
- }
639
- }
640
- }
641
- }
642
-
643
- .repeater__button__container {
644
- display: flex;
645
-
646
- &[data-button-alignment-default-state="flex-start"] {
647
- justify-content: flex-start;
648
- }
649
-
650
- &[data-button-alignment-default-state="center"] {
651
- justify-content: center;
652
- }
653
-
654
- &[data-button-alignment-default-state="flex-end"] {
655
- justify-content: flex-end;
656
- }
657
-
658
- &[data-button-alignment-hover-state="flex-start"]:hover {
659
- justify-content: flex-start;
660
- }
661
-
662
- &[data-button-alignment-hover-state="center"]:hover {
663
- justify-content: center;
664
- }
665
-
666
- &[data-button-alignment-hover-state="flex-end"]:hover {
667
- justify-content: flex-end;
668
- }
669
- }
670
-
671
- .btn__with__text[data-btn-name="loadmoreButton"] {
672
- justify-content: center;
673
-
674
- &[data-show-shadow="false"] {
675
- --_show-shadow: none;
676
- }
677
-
678
- &[data-icon-position="left"] {
679
- --_sf-fd-bn: row;
680
- }
681
-
682
- &[data-icon-position="right"] {
683
- --_sf-fd-bn: row-reverse;
684
- }
685
-
686
- &[data-icon-position="center"] {
687
- --_sf-fd-bn: row;
688
- }
689
-
690
- // &:has(p) {
691
- // width: auto;
692
- // }
693
-
694
- &:hover {
695
- --_sf-hr-bd-cr: var(
696
- --_ctm-rep-mob-dn-bn-se-hr-se-bd-cr,
697
- var(--_ctm-rep-tab-dn-bn-se-hr-se-bd-cr, var(--_ctm-rep-dn-bn-se-hr-se-bd-cr))
698
- );
699
- --_sf-hr-br-cr: var(
700
- --_ctm-rep-mob-dn-bn-se-hr-se-br-cr,
701
- var(--_ctm-rep-tab-dn-bn-se-hr-se-br-cr, var(--_ctm-rep-dn-bn-se-hr-se-br-cr))
702
- );
703
- --_sf-hr-br-se: var(
704
- --_ctm-rep-mob-dn-bn-se-hr-se-br-se,
705
- var(--_ctm-rep-tab-dn-bn-se-hr-se-br-se, var(--_ctm-rep-dn-bn-se-hr-se-br-se))
706
- );
707
- --_sf-hr-br-wh: var(
708
- --_ctm-rep-mob-dn-bn-se-hr-se-br-wh,
709
- var(--_ctm-rep-tab-dn-bn-se-hr-se-br-wh, var(--_ctm-rep-dn-bn-se-hr-se-br-wh))
710
- );
711
- --_sf-hr-br-rs: var(
712
- --_ctm-rep-mob-dn-bn-se-hr-se-br-rs,
713
- var(--_ctm-rep-tab-dn-bn-se-hr-se-br-rs, var(--_ctm-rep-dn-bn-se-hr-se-br-rs))
714
- );
715
- --_sf-hr-at: var(
716
- --_ctm-rep-mob-dn-bn-se-hr-se-at,
717
- var(--_ctm-rep-tab-dn-bn-se-hr-se-at, var(--_ctm-rep-dn-bn-se-hr-se-at))
718
- );
719
- --_sf-hr-gp: var(
720
- --_ctm-rep-mob-dn-bn-se-hr-se-gp,
721
- var(--_ctm-rep-tab-dn-bn-se-hr-se-gp, var(--_ctm-rep-dn-bn-se-hr-se-gp))
722
- );
723
-
724
- // for shadow
725
- --_sf-hr-sw-ae: var(
726
- --_ctm-rep-mob-dn-bn-se-hr-se-sw-ae,
727
- var(--_ctm-rep-tab-dn-bn-se-hr-se-sw-ae, var(--_ctm-rep-dn-bn-se-hr-se-sw-ae))
728
- );
729
- --_sf-hr-sw-br: var(
730
- --_ctm-rep-mob-dn-bn-se-hr-se-sw-br,
731
- var(--_ctm-rep-tab-dn-bn-se-hr-se-sw-br, var(--_ctm-rep-dn-bn-se-hr-se-sw-br))
732
- );
733
- --_sf-hr-sw-hr: var(
734
- --_ctm-rep-mob-dn-bn-se-hr-se-sw-hr,
735
- var(--_ctm-rep-tab-dn-bn-se-hr-se-sw-hr, var(--_ctm-rep-dn-bn-se-hr-se-sw-hr))
736
- );
737
- --_sf-hr-sw-cr: var(
738
- --_ctm-rep-mob-dn-bn-se-hr-se-sw-cr,
739
- var(--_ctm-rep-tab-dn-bn-se-hr-se-sw-cr, var(--_ctm-rep-dn-bn-se-hr-se-sw-cr))
740
- );
741
-
742
- // for font
743
-
744
- --_sf-hr-cr: var(
745
- --_ctm-rep-mob-dn-bn-se-hr-se-cr,
746
- var(--_ctm-rep-tab-dn-bn-se-hr-se-cr, var(--_ctm-rep-dn-bn-se-hr-se-cr))
747
- );
748
- --_sf-hr-ft-fy: var(
749
- --_ctm-rep-mob-dn-bn-se-hr-se-ft-fy,
750
- var(--_ctm-rep-tab-dn-bn-se-hr-se-ft-fy, var(--_ctm-rep-dn-bn-se-hr-se-ft-fy))
751
- );
752
- --_sf-hr-tt-tm: var(
753
- --_ctm-rep-mob-dn-bn-se-hr-se-tt-tm,
754
- var(--_ctm-rep-tab-dn-bn-se-hr-se-tt-tm, var(--_ctm-rep-dn-bn-se-hr-se-tt-tm))
755
- );
756
- --_sf-hr-wd-wp: var(
757
- --_ctm-rep-mob-dn-bn-se-hr-se-wd-wp,
758
- var(--_ctm-rep-tab-dn-bn-se-hr-se-wd-wp, var(--_ctm-rep-dn-bn-se-hr-se-wd-wp))
759
- );
760
- --_sf-hr-wd-bk: var(
761
- --_ctm-rep-mob-dn-bn-se-hr-se-wd-bk,
762
- var(--_ctm-rep-tab-dn-bn-se-hr-se-wd-bk, var(--_ctm-rep-dn-bn-se-hr-se-wd-bk))
763
- );
764
- --_sf-hr-ft-se: var(
765
- --_ctm-rep-mob-dn-bn-se-hr-se-ft-se,
766
- var(--_ctm-rep-tab-dn-bn-se-hr-se-ft-se, var(--_ctm-rep-dn-bn-se-hr-se-ft-se))
767
- );
768
- --_sf-hr-ft-wt: var(
769
- --_ctm-rep-mob-dn-bn-se-hr-se-ft-wt,
770
- var(--_ctm-rep-tab-dn-bn-se-hr-se-ft-wt, var(--_ctm-rep-dn-bn-se-hr-se-ft-wt))
771
- );
772
- --_sf-hr-ft-se-ic: var(
773
- --_ctm-rep-mob-dn-bn-se-hr-se-ft-se-ic,
774
- var(--_ctm-rep-tab-dn-bn-se-hr-se-ft-se-ic, var(--_ctm-rep-dn-bn-se-hr-se-ft-se-ic))
775
- );
776
- --_sf-hr-tt-an: var(
777
- --_ctm-rep-mob-dn-bn-se-hr-se-tt-an,
778
- var(--_ctm-rep-tab-dn-bn-se-hr-se-tt-an, var(--_ctm-rep-dn-bn-se-hr-se-tt-an))
779
- );
780
- --_sf-hr-lr-sg: var(
781
- --_ctm-rep-mob-dn-bn-se-hr-se-lr-sg,
782
- var(--_ctm-rep-tab-dn-bn-se-hr-se-lr-sg, var(--_ctm-rep-dn-bn-se-hr-se-lr-sg))
783
- );
784
- --_sf-hr-le-ht: var(
785
- --_ctm-rep-mob-dn-bn-se-hr-se-le-ht,
786
- var(--_ctm-rep-tab-dn-bn-se-hr-se-le-ht, var(--_ctm-rep-dn-bn-se-hr-se-le-ht))
787
- );
788
-
789
- --_sf-hr-in-se: var(
790
- --_ctm-rep-mob-dn-bn-se-hr-se-in-se,
791
- var(--_ctm-rep-tab-dn-bn-se-hr-se-in-se, var(--_ctm-rep-dn-bn-se-hr-se-in-se))
792
- );
793
- --_sf-hr-in-se: var(
794
- --_ctm-rep-mob-dn-bn-se-hr-se-in-se,
795
- var(--_ctm-rep-tab-dn-bn-se-hr-se-in-se, var(--_ctm-rep-dn-bn-se-hr-se-in-se))
796
- );
797
- --_sf-hr-in-c1: var(
798
- --_ctm-rep-mob-dn-bn-se-hr-se-in-c1,
799
- var(--_ctm-rep-tab-dn-bn-se-hr-se-in-c1, var(--_ctm-rep-dn-bn-se-hr-se-in-c1))
800
- );
801
- --_sf-hr-ue: var(
802
- --_ctm-rep-mob-dn-bn-se-hr-se-ue,
803
- var(--_ctm-rep-tab-dn-bn-se-hr-se-ue, var(--_ctm-rep-dn-bn-se-hr-se-ue))
804
- );
805
-
806
- // for pading and width
807
- --_sf-hr-pg: var(
808
- --_ctm-rep-mob-dn-bn-se-hr-pg,
809
- var(--_ctm-rep-tab-dn-bn-se-hr-pg, var(--_ctm-rep-dn-bn-se-hr-pg))
810
- );
811
- --_sf-hr-wh: var(
812
- --_ctm-rep-mob-dn-bn-se-hr-wh,
813
- var(--_ctm-rep-tab-dn-bn-se-hr-wh, var(--_ctm-rep-dn-bn-se-hr-wh))
814
- );
815
-
816
- &[data-hover-show-shadow="false"] {
817
- --_hover-show-shadow: none;
818
- }
819
-
820
- &[data-hover-show-icon="false"] {
821
- --_hover-show-icon: none;
822
- }
823
- }
824
-
825
- background-color: var(--_sf-hr-bd-cr, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-bd-cr));
826
-
827
- padding: var(--_sf-hr-pg, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-pg));
828
- width: var(--_sf-hr-wh, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-wh));
829
- display: flex;
830
- flex-direction: var(--_sf-fd-bn);
831
- align-items: center;
832
-
833
- justify-content: var(--_sf-hr-at, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-at));
834
- gap: var(--_sf-hr-gp, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-gp));
835
-
836
- border-radius: var(--_sf-hr-br-rs, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-br-rs));
837
-
838
- // Routed through the two gate variables the Show Shadow switches set above,
839
- // otherwise turning the switch off left the shadow on screen.
840
- box-shadow: var(
841
- --_hover-show-shadow,
842
- var(
843
- --_show-shadow,
844
- var(--_sf-hr-sw-ae, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-sw-ae, 0))
845
- var(--_sf-hr-sw-br, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-sw-br, 0))
846
- var(--_sf-hr-sw-sd, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-sw-sd, 0))
847
- var(--_sf-hr-sw-cr, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-sw-cr, transparent))
848
- )
849
- );
850
-
851
- &[data-show-border="true"] {
852
- border-color: var(--_sf-hr-br-cr, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-br-cr));
853
-
854
- border-style: var(--_sf-hr-br-se, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-br-se));
855
-
856
- border-width: var(--_sf-hr-br-wh, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-br-wh));
857
- }
858
-
859
- .txt {
860
- display: flex;
861
-
862
- color: var(--_sf-hr-cr, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-cr));
863
-
864
- font-family: var(--_sf-hr-ft-fy, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-ft-fy));
865
- text-transform: var(--_sf-hr-tt-tm, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-tt-tm));
866
- word-wrap: var(--_sf-hr-wd-wp, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-wd-wp));
867
- word-break: var(--_sf-hr-wd-bk, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-wd-bk));
868
-
869
- &.flex__overflow {
870
- white-space: normal;
871
- @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
872
- }
873
-
874
- font-size: var(--_sf-hr-ft-se, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-ft-se));
875
-
876
- font-weight: var(--_sf-hr-ft-wt, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-ft-wt));
877
-
878
- font-style: var(
879
- --_sf-hr-ft-se-ic,
880
- prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-ft-se-ic)
881
- );
882
-
883
- text-align: var(--_sf-hr-tt-an, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-tt-an));
884
-
885
- letter-spacing: var(--_sf-hr-lr-sg, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-lr-sg));
886
-
887
- line-height: var(--_sf-hr-le-ht, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-le-ht));
888
-
889
- text-decoration: var(--_sf-hr-ue, prepareMediaVariable(--_ctm-rep-dn-dt-ue));
890
- }
891
-
892
- .icon {
893
- display: var(--_hover-show-icon, var(--_show-icon, flex));
894
-
895
- svg {
896
- width: var(--_sf-hr-in-se, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-in-se));
897
- height: var(--_sf-hr-in-se, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-in-se));
898
-
899
- path {
900
- stroke: var(--_sf-hr-in-c1, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-in-c1));
901
- // Overrides the stroke-width presentation attribute baked into the icon markup.
902
- stroke-width: prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-se-wh, 1.25);
903
- }
904
- }
905
- }
906
-
907
- [data-element-style="Text"] {
908
- display: inline-block;
909
- width: 100%;
910
- }
911
-
912
- .icon--hover {
913
- // position: absolute;
914
- // inset: 0;
915
- // opacity: 0;
916
- display: none;
917
- transition: opacity 0.2s ease;
918
- }
919
-
920
- &:hover .icon--hover {
921
- // opacity: 1;
922
- display: flex;
923
- }
924
-
925
- &:hover .icon--default {
926
- // opacity: 0;
927
- display: none;
928
- }
929
- }
930
-
931
- // &[data-view-state="full"] {
932
- // width: auto;
933
- // margin: 0;
934
- // justify-self: stretch !important;
935
- // align-self: stretch !important;
936
- // cursor: auto;
937
-
938
- // & > div {
939
- // &[data-div-type="wrapper__layer"] {
940
- // --_sf-vt-zz: visible;
941
- // --_sf-op-zz: 1;
942
- // }
943
- // }
944
- // }
945
- }
946
- }
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+ @use "./repeater-embla-controls.scss" as *;
4
+ @use "./repeater-grid-toggle.scss" as *;
5
+ @use "./functions.scss" as *;
6
+ $childItemSelector: '[data-element-type="repeater-item"]';
7
+ $adSlotElementSelector: ".repeater-ad-slot";
8
+ $adSlotSliderSelector: ".repeater-ad-slot__inner";
9
+ $sliderControlDragging: "[flex-slider-control-moving='true']";
10
+ $rai: "repeater-advertise-item";
11
+ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
12
+
13
+ [data-div-type="element"] {
14
+ &[data-element-type="repeater"] {
15
+ // width: var(--_sf-con-nw-wh);
16
+ // width: var(--_sf-el-wh-st-mx, calc(1% * var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh))));
17
+ width: calc(
18
+ 1% *
19
+ var(
20
+ --_ctm-mob-rep-ele-nw-wh-vl,
21
+ var(--_ctm-tab-rep-ele-nw-wh-vl, var(--_ctm-rep-ele-nw-wh-vl, auto))
22
+ )
23
+ );
24
+
25
+ // width: 100%;
26
+ &:not([data-view-state="full"]) {
27
+ min-height: var(
28
+ --_ctm-mob-rep-lt-ht,
29
+ var(--_ctm-tab-rep-lt-ht, var(--_ctm-rep-lt-ht, var(--_ctm-lt-ht, var(--_tst-lt-ht))))
30
+ );
31
+ }
32
+
33
+ min-height: var();
34
+ margin: var(
35
+ --_ctm-mob-rep-lt-mn,
36
+ var(--_ctm-tab-rep-lt-mn, var(--_ctm-rep-lt-mn, var(--_ctm-lt-mn, var(--_tst-lt-mn))))
37
+ );
38
+
39
+ &[data-background-type="color"] {
40
+ background-color: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-cr);
41
+ }
42
+
43
+ &[data-background-type="gradient"] {
44
+ --_sf-rep-gradient-angle: calc(#{prepareMediaVariable(--_ctm-rep-dn-rr-wt-gt-ae, 90)} * 1deg);
45
+ --_sf-rep-gradient-start-color: #{prepareMediaVariable(
46
+ --_ctm-rep-dn-rr-wt-gt-st-cr,
47
+ transparent
48
+ )};
49
+ --_sf-rep-gradient-start-position: calc(
50
+ #{prepareMediaVariable(--_ctm-rep-dn-rr-wt-gt-st-pn, 0)} * 1%
51
+ );
52
+ --_sf-rep-gradient-end-color: #{prepareMediaVariable(
53
+ --_ctm-rep-dn-rr-wt-gt-ed-cr,
54
+ transparent
55
+ )};
56
+ --_sf-rep-gradient-end-position: calc(
57
+ #{prepareMediaVariable(--_ctm-rep-dn-rr-wt-gt-ed-pn, 100)} * 1%
58
+ );
59
+ --_sf-rep-gradient-position: #{prepareMediaVariable(--_ctm-rep-dn-rr-wt-gt-pn, center)};
60
+
61
+ &[data-gradient-type="Linear Gradient"] {
62
+ background-image: linear-gradient(
63
+ var(--_sf-rep-gradient-angle),
64
+ var(--_sf-rep-gradient-start-color) var(--_sf-rep-gradient-start-position),
65
+ var(--_sf-rep-gradient-end-color) var(--_sf-rep-gradient-end-position)
66
+ );
67
+ }
68
+
69
+ &[data-gradient-type="Radial Gradient"] {
70
+ background-image: radial-gradient(
71
+ circle at var(--_sf-rep-gradient-position),
72
+ var(--_sf-rep-gradient-start-color) var(--_sf-rep-gradient-start-position),
73
+ var(--_sf-rep-gradient-end-color) var(--_sf-rep-gradient-end-position)
74
+ );
75
+ }
76
+ }
77
+
78
+ &[data-background-type="image"] {
79
+ background-image: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-ie);
80
+ background-attachment: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-at);
81
+ background-position: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-pn);
82
+ background-position-y: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-pn-y);
83
+ background-repeat: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-rt);
84
+ background-size: prepareMediaVariable(--_ctm-rep-dn-rr-wt-bd-se);
85
+ }
86
+
87
+ // background-color: var(
88
+ // --_ctm-mob-rep-dn-rr-wt-bd-cr,
89
+ // var(--_ctm-tab-rep-dn-rr-wt-bd-cr, var(--_ctm-rep-dn-rr-wt-bd-cr))
90
+ // );
91
+ // background-image: var(
92
+ // --_ctm-mob-rep-dn-rr-wt-bd-ie,
93
+ // var(--_ctm-tab-rep-dn-rr-wt-bd-ie, var(--_ctm-rep-dn-rr-wt-bd-ie))
94
+ // );
95
+ // background-attachment: var(
96
+ // --_ctm-mob-rep-dn-rr-wt-bd-at,
97
+ // var(--_ctm-tab-rep-dn-rr-wt-bd-at, var(--_ctm-rep-dn-rr-wt-bd-at))
98
+ // );
99
+ // background-position: var(
100
+ // --_ctm-mob-rep-dn-rr-wt-bd-pn,
101
+ // var(--_ctm-tab-rep-dn-rr-wt-bd-pn, var(--_ctm-rep-dn-rr-wt-bd-pn))
102
+ // );
103
+ // background-repeat: var(
104
+ // --_ctm-mob-rep-dn-rr-wt-bd-rt,
105
+ // var(--_ctm-tab-rep-dn-rr-wt-bd-rt, var(--_ctm-rep-dn-rr-wt-bd-rt))
106
+ // );
107
+ // background-size: var(
108
+ // --_ctm-mob-rep-dn-rr-wt-bd-se,
109
+ // var(--_ctm-tab-rep-dn-rr-wt-bd-se, var(--_ctm-rep-dn-rr-wt-bd-se))
110
+ // );
111
+ &[data-show-border="true"] {
112
+ border-color: var(
113
+ --_ctm-mob-rep-dn-rr-wt-br-cr,
114
+ var(--_ctm-tab-rep-dn-rr-wt-br-cr, var(--_ctm-rep-dn-rr-wt-br-cr))
115
+ );
116
+ border-style: var(
117
+ --_ctm-mob-rep-dn-rr-wt-br-se,
118
+ var(--_ctm-tab-rep-dn-rr-wt-br-se, var(--_ctm-rep-dn-rr-wt-br-se))
119
+ );
120
+ border-width: var(
121
+ --_ctm-mob-rep-dn-rr-wt-br-wh,
122
+ var(--_ctm-tab-rep-dn-rr-wt-br-wh, var(--_ctm-rep-dn-rr-wt-br-wh))
123
+ );
124
+ }
125
+
126
+ border-radius: var(
127
+ --_ctm-mob-rep-dn-rr-wt-br-rs,
128
+ var(--_ctm-tab-rep-dn-rr-wt-br-rs, var(--_ctm-rep-dn-rr-wt-br-rs))
129
+ );
130
+
131
+ // The shadow is configured under the Repeater Widget accordion, so its variables
132
+ // carry that accordion's `rr-wt` segment — without it nothing the builder writes
133
+ // was ever read back. The Show Shadow switch arrives as `data-show-shadow`.
134
+ &[data-show-shadow="false"] {
135
+ --_show-shadow: none;
136
+ }
137
+
138
+ box-shadow: var(
139
+ --_show-shadow,
140
+ var(
141
+ --_ctm-mob-rep-dn-rr-wt-sw-ae,
142
+ var(--_ctm-tab-rep-dn-rr-wt-sw-ae, var(--_ctm-rep-dn-rr-wt-sw-ae, 0))
143
+ )
144
+ var(
145
+ --_ctm-mob-rep-dn-rr-wt-sw-br,
146
+ var(--_ctm-tab-rep-dn-rr-wt-sw-br, var(--_ctm-rep-dn-rr-wt-sw-br, 0))
147
+ )
148
+ var(
149
+ --_ctm-mob-rep-dn-rr-wt-sw-sd,
150
+ var(--_ctm-tab-rep-dn-rr-wt-sw-sd, var(--_ctm-rep-dn-rr-wt-sw-sd, 0))
151
+ )
152
+ var(
153
+ --_ctm-mob-rep-dn-rr-wt-sw-cr,
154
+ var(--_ctm-tab-rep-dn-rr-wt-sw-cr, var(--_ctm-rep-dn-rr-wt-sw-cr, transparent))
155
+ )
156
+ );
157
+ padding: var(--_ctm-mob-rep-lt-pg, var(--_ctm-tab-rep-lt-pg, var(--_ctm-rep-lt-pg)));
158
+
159
+ --_sf-ic-sz-nn: var(
160
+ --_ctm-mob-rep-lt-aw-in-se,
161
+ var(--_ctm-tab-rep-lt-aw-in-se, var(--_ctm-rep-lt-aw-in-se, 40px))
162
+ );
163
+
164
+ --_sf-ed-vl-sz: var(
165
+ --_ctm-mob-rep-lt-dt-se,
166
+ var(--_ctm-tab-rep-lt-dt-se, var(--_ctm-rep-lt-dt-se, 10px))
167
+ );
168
+
169
+ &[data-grid-toggle="enable"] {
170
+ position: var(--_p-relative);
171
+ @include FlexRepeaterGridToggleCSS();
172
+ }
173
+
174
+ &.lst_vw {
175
+ & > div {
176
+ &.wrapper {
177
+ display: var(--_d-grid);
178
+ row-gap: prepareMediaVariable(--_ctm-rep-lt-im-gp-lt, 0px);
179
+ grid-template-columns: 100%;
180
+ // grid-template-rows: repeat(
181
+ // auto-fit,
182
+ // minmax(#{prepareMediaVariable(--_ctm-rep-lt-rw-mn-ht-lt)}, 1fr)
183
+ // );
184
+ // grid-template-rows: repeat(
185
+ // 1,
186
+ // minmax(#{prepareMediaVariable(--_ctm-rep-lt-rw-mn-ht-lt)}, 1fr)
187
+ // );
188
+ grid-auto-rows: minmax(#{prepareMediaVariable(--_ctm-rep-lt-rw-mn-ht-lt)}, auto);
189
+ width: 100%;
190
+
191
+ & > div {
192
+ &#{$childItemSelector},
193
+ &#{$adSlotElementSelector} {
194
+ width: 100%;
195
+ }
196
+ }
197
+ }
198
+ }
199
+ }
200
+
201
+ &:not(.lst_vw) {
202
+ &.grd {
203
+ & > div {
204
+ &.wrapper {
205
+ width: 100%;
206
+ display: grid;
207
+ grid-template-columns: repeat(
208
+ auto-fit,
209
+ minmax(
210
+ var(
211
+ --_ctm-mob-rep-lt-mn-cn-wh,
212
+ var(--_ctm-tab-rep-lt-mn-cn-wh, var(--_ctm-rep-lt-mn-cn-wh))
213
+ ),
214
+ 1fr
215
+ )
216
+ );
217
+ grid-template-rows: repeat(
218
+ auto-fit,
219
+ minmax(
220
+ var(
221
+ --_ctm-mob-rep-lt-mn-rw-ht,
222
+ var(--_ctm-tab-rep-lt-mn-rw-ht, var(--_ctm-rep-lt-mn-rw-ht))
223
+ ),
224
+ 1fr
225
+ )
226
+ );
227
+
228
+ div {
229
+ &#{$childItemSelector},
230
+ &#{$adSlotElementSelector},
231
+ &.#{$rai} {
232
+ width: 100%;
233
+ }
234
+ }
235
+ }
236
+ }
237
+ }
238
+
239
+ &.crds {
240
+ & > div {
241
+ &.wrapper {
242
+ display: flex !important;
243
+ flex-wrap: wrap;
244
+ width: 100%;
245
+ height: auto !important;
246
+ // min-height: 100px !important;
247
+ }
248
+ }
249
+
250
+ &:not(.stimsfrRws) {
251
+ // we are not using
252
+ & > div {
253
+ &.wrapper {
254
+ justify-content: center;
255
+
256
+ & > div {
257
+ &#{$childItemSelector},
258
+ &#{$adSlotElementSelector},
259
+ &.#{$rai} {
260
+ // width: var(--_ctm-rep-lt-wh);
261
+ --_col-count: var(--_sf-gd-ct, 3);
262
+ --_col-gap: 0px;
263
+ width: 163px;
264
+ height: 100px;
265
+ // grid-template-rows: minmax(
266
+ // max(
267
+ // 0.5px,
268
+ // 0.0896337 * (var(--_cms-scaling-factor) - var(--_cms-scrollbar-width))
269
+ // ),
270
+ // auto
271
+ // );
272
+ // grid-template-rows: ;
273
+ }
274
+ }
275
+ }
276
+ }
277
+ }
278
+
279
+ &.stimsfrRws {
280
+ & > div {
281
+ &.wrapper {
282
+ align-self: prepareMediaVariable(--_ctm-rep-lt-an-is) !important;
283
+
284
+ & > div {
285
+ &#{$childItemSelector},
286
+ &#{$adSlotElementSelector},
287
+ &.#{$rai} {
288
+ // --_col-count: var(--_sf-gd-ct, 3);
289
+ --_col-count: var(
290
+ --_ctm-mob-rep-lt-st-is-pr-rw,
291
+ var(--_ctm-tab-rep-lt-st-is-pr-rw, var(--_ctm-rep-lt-st-is-pr-rw, 3))
292
+ );
293
+ // --_col-gap: var(
294
+ // --_ctm-mob-rep-lt-im-gp,
295
+ // var(--_ctm-tab-rep-lt-im-gp, var(--_ctm-rep-lt-im-gp, 0px))
296
+ // );
297
+ --_col-gap: #{prepareMediaVariable(--_ctm-rep-lt-cn-gp, 0px)};
298
+ width: calc(
299
+ (100% / var(--_col-count)) -
300
+ (((var(--_col-count) - 1) * var(--_col-gap)) / (var(--_col-count)))
301
+ );
302
+ flex: 0 0
303
+ calc(
304
+ (100% / var(--_col-count)) -
305
+ (((var(--_col-count) - 1) * var(--_col-gap)) / (var(--_col-count)))
306
+ );
307
+ // align-self: stretch;
308
+ // height: 100px;
309
+ grid-template-rows: minmax(
310
+ max(
311
+ 0.5px,
312
+ 0.09375 * (var(--_cms-scaling-factor) - var(--_cms-scrollbar-width))
313
+ ),
314
+ auto
315
+ );
316
+ grid-template-columns: minmax(0px, 1fr);
317
+ // min-height: 50px !important;
318
+ grid-template-rows:
319
+ minmax(
320
+ max(0.5px, 0.09375 * (var(--scaling-factor) - var(--scrollbar-width))),
321
+ auto
322
+ )
323
+ minmax(
324
+ max(0.5px, 0.09375 * (var(--scaling-factor) - var(--scrollbar-width))),
325
+ auto
326
+ );
327
+ }
328
+ }
329
+ }
330
+ }
331
+ }
332
+ }
333
+
334
+ &.sld {
335
+ &:is(:not(#{$sliderControlDragging} *)) {
336
+ overflow: clip;
337
+ }
338
+
339
+ height: auto;
340
+ --_sf-sl-ct-ic-dt-at-cl: var(
341
+ --_ctm-mob-rep-lt-cl-ae-cr,
342
+ var(--_ctm-tab-rep-lt-cl-ae-cr, var(--_ctm-rep-lt-cl-ae-cr))
343
+ );
344
+
345
+ // Design > Pagination Arrows.
346
+ //
347
+ // Arrow Size and the layout tab's Arrow Icon Size drive the same button box, so the
348
+ // design value wins and the layout value is the fallback — a repeater saved before
349
+ // this section existed has no `dn-pn-as-aw-se` var and keeps its `lt-aw-in-se`
350
+ // size. Both schema defaults are 40px.
351
+ --_sf-ic-sz-nn: #{prepareMediaVariable(
352
+ --_ctm-rep-dn-pn-as-aw-se,
353
+ var(
354
+ --_ctm-mob-rep-lt-aw-in-se,
355
+ var(--_ctm-tab-rep-lt-aw-in-se, var(--_ctm-rep-lt-aw-in-se, 40px))
356
+ )
357
+ )};
358
+ // Resting arrow colour. Design > Pagination Arrows > Arrow Color replaces the
359
+ // layout tab's Arrow Icon Color, which stays as the fallback; the last fallback is
360
+ // the colour baked into the chevron icons. Hover still switches to Control Active
361
+ // Color.
362
+ --_sf-sl-ct-aw-in-cl: #{prepareMediaVariable(
363
+ --_ctm-rep-dn-pn-as-aw-cr,
364
+ var(
365
+ --_ctm-mob-rep-lt-aw-in-cr,
366
+ var(--_ctm-tab-rep-lt-aw-in-cr, var(--_ctm-rep-lt-aw-in-cr, #667085))
367
+ )
368
+ )};
369
+ // Background Color, as the gallery slider and the layouter use it: the button is a
370
+ // 10% tint of the chosen colour and 20% on hover (see the hover rule further down),
371
+ // not the flat colour. Kept in its own variable so both tints read the same source.
372
+ --_sf-rep-as-bg-cr: #{prepareMediaVariable(--_ctm-rep-dn-pn-as-bd-cr, #fff)};
373
+ --_sf-nv-ic-bg: color-mix(in srgb, var(--_sf-rep-as-bg-cr) 10%, transparent);
374
+
375
+ // Design > Pagination Dots (control templates 1 and 2). Dot Size replaces the
376
+ // layout tab's Dot Size the same way Arrow Size replaces Arrow Icon Size, with the
377
+ // old var as fallback for repeaters saved before the section existed. The two
378
+ // colours had no layout equivalent: the selected dot used to follow Control Active
379
+ // Color, which still colours the arrow hover and the unselected dot border.
380
+ --_sf-ed-vl-sz: #{prepareMediaVariable(
381
+ --_ctm-rep-dn-pn-ds-dt-se,
382
+ var(
383
+ --_ctm-mob-rep-lt-dt-se,
384
+ var(--_ctm-tab-rep-lt-dt-se, var(--_ctm-rep-lt-dt-se, 10px))
385
+ )
386
+ )};
387
+ --_sf-dt-ae-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-ct-dt-cr, #162578)};
388
+ --_sf-dt-ie-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-or-dt-cr, #fff)};
389
+
390
+ // Background Shape of the arrow buttons, matching the gallery slider's mapping:
391
+ // Round is the mixin's own 50% default, None squares the button off and Square
392
+ // rounds the corners slightly. Repeaters without this section have no attribute at
393
+ // all and stay round.
394
+ button.embla__btn {
395
+ &[data-background-shape="None"] {
396
+ --_sf-nv-ic-br: 0px;
397
+ }
398
+
399
+ &[data-background-shape="Square"] {
400
+ --_sf-nv-ic-br: 4px;
401
+ }
402
+ }
403
+
404
+ // &:is([data-control-type="1"]) {
405
+ // @include CMSRepeaterEmblaControlStyles(1);
406
+ // }
407
+ @for $i from 1 through 3 {
408
+ &:is([data-control-type="#{$i}"]) {
409
+ @if ($i ==3) {
410
+ overflow-y: visible;
411
+ }
412
+
413
+ @include CMSRepeaterEmblaControlStyles($i);
414
+ }
415
+ }
416
+
417
+ // Overrides of the shared control mixin. `:is([data-control-type])` matches the
418
+ // specificity of the rules being replaced, and this block comes after the @include,
419
+ // so on the tie these win.
420
+ &:is([data-control-type]) {
421
+ // Hover of the arrow buttons. The mixin tints them with Control Active Color,
422
+ // which ignores the Background Color the Pagination Arrows section sets; the
423
+ // gallery slider instead deepens that same colour from 10% to 20%. The icon
424
+ // stroke still switches to Control Active Color — the mixin's own rule.
425
+ button.embla__btn:hover:not(:disabled) {
426
+ @include BgColorLighter(var(--_sf-rep-as-bg-cr), 20%);
427
+ }
428
+
429
+ // Design > Pagination Dots > Border and Shadow.
430
+ //
431
+ // Both are gated on the container attributes the control components publish from
432
+ // the Show Border / Show Shadow toggles: with the border off the dots keep the
433
+ // hairline the mixin derives from Control Active Color, and with it on these
434
+ // longhands take over.
435
+ .pagination__v1[data-show-border="true"] > button.embla__dot {
436
+ border-width: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-br-wh, 0px)};
437
+ border-style: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-br-se, solid)};
438
+ border-color: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-br-cr, transparent)};
439
+ }
440
+
441
+ .pagination__v1[data-show-shadow="true"] > button.embla__dot {
442
+ box-shadow: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-ae, 0px 0px)}
443
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-br, 0px)}
444
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-sd, 0px)}
445
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-cr, transparent)};
446
+ }
447
+ }
448
+
449
+ // Design > Pagination Line — template 3 only, which draws the same pagination
450
+ // buttons as bars and so reads its own section instead of Pagination Dots.
451
+ &:is([data-control-type="3"]) {
452
+ // The type-3 sizes and the inactive grey are set on `.pagination__v1` by the
453
+ // shared control mixin, so they have to be overridden at that level rather than
454
+ // on the container. Same specificity, later in the file, so these win. Defaults
455
+ // are exactly what the mixin hardcodes.
456
+ .pagination__v1 {
457
+ --_sf-dt-wh-t3: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-le-wh, 16px)};
458
+ --_sf-dt-ht-t3: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-le-ht, 2px)};
459
+ // Also overrides the dots section's Other Dot Color, which the container sets
460
+ // on `--_sf-dt-ie-bg` and would otherwise take precedence over the grey.
461
+ --_sf-dt-ie-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-or-le-cr, #d6d6d6)};
462
+ --_sf-dt-ae-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-ct-le-cr, #162578)};
463
+
464
+ // The mixin pins the active bar to 6px regardless of the others' height. Kept
465
+ // as a floor rather than a fixed value so Line Height above 6px applies to the
466
+ // active bar too, while the default (2px) leaves it at 6px as before.
467
+ > button.embla__dot.embla__dot--selected {
468
+ --_sf-dt-at-ht-t3: max(6px, var(--_sf-dt-ht-t3));
469
+ }
470
+ }
471
+
472
+ .pagination__v1[data-show-border="true"] > button.embla__dot {
473
+ border-width: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-br-wh, 0px)};
474
+ border-style: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-br-se, solid)};
475
+ border-color: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-br-cr, transparent)};
476
+ }
477
+
478
+ .pagination__v1[data-show-shadow="true"] > button.embla__dot {
479
+ box-shadow: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-ae, 0px 0px)}
480
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-br, 0px)}
481
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-sd, 0px)}
482
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-cr, transparent)};
483
+ }
484
+ }
485
+
486
+ & > div {
487
+ &.wrapper {
488
+ &.embla__container {
489
+ display: flex !important;
490
+ --_embla-slide-space: var(
491
+ --_ctm-mob-rep-lt-im-gp,
492
+ var(--_ctm-tab-rep-lt-im-gp, var(--_ctm-rep-lt-im-gp, 0px))
493
+ );
494
+ min-height: 100px !important;
495
+ --_embla-col-count: var(
496
+ --_ctm-mob-rep-lt-st-is-pr-se,
497
+ var(--_ctm-tab-rep-lt-st-is-pr-se, var(--_ctm-rep-lt-st-is-pr-se, 3))
498
+ );
499
+ // gap: 0px !important;
500
+ // margin-left: calc(var(--_embla-slide-space, 10px) * -1);
501
+ width: 100%;
502
+ height: 100%;
503
+
504
+ & > .embla__slide {
505
+ --_sf-cl-vl: calc(
506
+ (100% / var(--_embla-col-count, 3)) -
507
+ (
508
+ ((var(--_embla-col-count, 3) - 1) * (var(--_embla-slide-space, 10px))) /
509
+ (var(--_embla-col-count, 3))
510
+ )
511
+ );
512
+ // flex: 0 0 calc(var(--_embla-slide-width, 100%) / var(--_embla-col-count, 3));
513
+ // width: calc(var(--_embla-slide-width, 100%) / var(--_embla-col-count, 3));
514
+ flex: 0 0 var(--_sf-cl-vl);
515
+ width: var(--_sf-cl-vl);
516
+ // grid-template-rows: minmax(
517
+ // max(0.5px, 0.09375 * (var(--_cms-scaling-factor) - var(--_cms-scrollbar-width))),
518
+ // auto
519
+ // );
520
+ grid-template-rows: minmax(50px, auto);
521
+ grid-template-columns: minmax(0px, 1fr);
522
+ // padding-left: calc(var(--_embla-slide-space, 10px) * 1);
523
+ // padding-left: 0px !important;
524
+
525
+ img {
526
+ width: 100%;
527
+ }
528
+ }
529
+ }
530
+ }
531
+ }
532
+ }
533
+
534
+ & > div {
535
+ &.wrapper {
536
+ &:is(.sld > *) {
537
+ gap: #{prepareMediaVariable(--_ctm-rep-lt-im-gp, 0px)};
538
+ }
539
+
540
+ &:is(:not(.sld > *)) {
541
+ column-gap: #{prepareMediaVariable(--_ctm-rep-lt-cn-gp, 0px)};
542
+ row-gap: #{prepareMediaVariable(--_ctm-rep-lt-rw-gp, 0px)};
543
+ }
544
+
545
+ justify-content: prepareMediaVariable(--_ctm-rep-lt-jy-ct);
546
+ align-items: prepareMediaVariable(--_ctm-rep-lt-an-is);
547
+ // width: 100%;
548
+ // grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
549
+ // grid-auto-rows: minmax(100px, 1fr);
550
+ }
551
+ }
552
+ }
553
+
554
+ .repeater-advertise-item {
555
+ display: flex;
556
+ justify-content: center;
557
+ align-items: center;
558
+
559
+ img {
560
+ // width: 100%;
561
+ // height: 100%;
562
+ object-fit: cover;
563
+ object-position: center center;
564
+ max-width: 100%;
565
+ max-height: 100%;
566
+ }
567
+ }
568
+
569
+ #{$adSlotElementSelector} {
570
+ // The Ad Style > Image Controls schema was dropped, so these are plain values
571
+ // rather than custom properties — they reproduce what that schema defaulted to
572
+ // (full-bleed, centred, no border or shadow).
573
+ a {
574
+ width: 100%;
575
+ display: var(--_d-flex);
576
+ height: 100%;
577
+ justify-content: center;
578
+ align-items: center;
579
+ }
580
+
581
+ img {
582
+ max-width: 100%;
583
+ max-height: 100%;
584
+ width: 100%;
585
+ height: 100%;
586
+ object-fit: cover;
587
+ object-position: center top;
588
+ }
589
+
590
+ #{$adSlotSliderSelector} {
591
+ position: relative;
592
+ width: 100%;
593
+ height: 100%;
594
+
595
+ & > button {
596
+ position: absolute;
597
+ top: 50%;
598
+ transform: translateY(-50%);
599
+ border-radius: 50%;
600
+ border: none;
601
+ cursor: var(--_sf-cursor-vl-v2, pointer);
602
+ opacity: var(--_sf-opacity-vl-v2, 1);
603
+ display: flex;
604
+ align-items: center;
605
+ justify-content: center;
606
+ padding: 0;
607
+ z-index: 2;
608
+ // The Ad Style > Slider Controls schema was dropped, so the custom properties
609
+ // only resolve on pages saved before that. The fallbacks reproduce what that
610
+ // schema defaulted to (32px arrows, black).
611
+ --_sf-wdt-vl-v2: #{prepareMediaVariable(--_ctm-rep-dn-ad-se-sr-cs-aw-in-se, 32px)};
612
+ --_sf-bgr-clr-vl-v2: #{prepareMediaVariable(--_ctm-rep-dn-ad-se-sr-cs-cl-ae-cr, #000)};
613
+ width: var(--_sf-wdt-vl-v2, 32px);
614
+ height: var(--_sf-wdt-vl-v2, 32px);
615
+ background: color-mix(in srgb, var(--_sf-bgr-clr-vl-v2) 10%, transparent);
616
+
617
+ svg {
618
+ --_perc: 0.5;
619
+ width: calc(var(--_sf-wdt-vl-v2, 32px) * var(--_perc));
620
+ height: calc(var(--_sf-wdt-vl-v2, 32px) * var(--_perc));
621
+
622
+ path {
623
+ stroke: var(--_sf-bgr-clr-vl-v2);
624
+ }
625
+ }
626
+
627
+ &.repeater-ad-slot__nav-btn--next {
628
+ right: 8px;
629
+ }
630
+
631
+ &.repeater-ad-slot__nav-btn--prev {
632
+ left: 8px;
633
+ }
634
+
635
+ &:disabled {
636
+ --_sf-cursor-vl-v2: not-allowed;
637
+ --_sf-opacity-vl-v2: 0.4;
638
+ }
639
+ }
640
+ }
641
+ }
642
+
643
+ .repeater__button__container {
644
+ display: flex;
645
+
646
+ &[data-button-alignment-default-state="flex-start"] {
647
+ justify-content: flex-start;
648
+ }
649
+
650
+ &[data-button-alignment-default-state="center"] {
651
+ justify-content: center;
652
+ }
653
+
654
+ &[data-button-alignment-default-state="flex-end"] {
655
+ justify-content: flex-end;
656
+ }
657
+
658
+ &[data-button-alignment-hover-state="flex-start"]:hover {
659
+ justify-content: flex-start;
660
+ }
661
+
662
+ &[data-button-alignment-hover-state="center"]:hover {
663
+ justify-content: center;
664
+ }
665
+
666
+ &[data-button-alignment-hover-state="flex-end"]:hover {
667
+ justify-content: flex-end;
668
+ }
669
+ }
670
+
671
+ .btn__with__text[data-btn-name="loadmoreButton"] {
672
+ justify-content: center;
673
+
674
+ &[data-show-shadow="false"] {
675
+ --_show-shadow: none;
676
+ }
677
+
678
+ &[data-icon-position="left"] {
679
+ --_sf-fd-bn: row;
680
+ }
681
+
682
+ &[data-icon-position="right"] {
683
+ --_sf-fd-bn: row-reverse;
684
+ }
685
+
686
+ &[data-icon-position="center"] {
687
+ --_sf-fd-bn: row;
688
+ }
689
+
690
+ // &:has(p) {
691
+ // width: auto;
692
+ // }
693
+
694
+ &:hover {
695
+ --_sf-hr-bd-cr: var(
696
+ --_ctm-rep-mob-dn-bn-se-hr-se-bd-cr,
697
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-bd-cr, var(--_ctm-rep-dn-bn-se-hr-se-bd-cr))
698
+ );
699
+ --_sf-hr-br-cr: var(
700
+ --_ctm-rep-mob-dn-bn-se-hr-se-br-cr,
701
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-br-cr, var(--_ctm-rep-dn-bn-se-hr-se-br-cr))
702
+ );
703
+ --_sf-hr-br-se: var(
704
+ --_ctm-rep-mob-dn-bn-se-hr-se-br-se,
705
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-br-se, var(--_ctm-rep-dn-bn-se-hr-se-br-se))
706
+ );
707
+ --_sf-hr-br-wh: var(
708
+ --_ctm-rep-mob-dn-bn-se-hr-se-br-wh,
709
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-br-wh, var(--_ctm-rep-dn-bn-se-hr-se-br-wh))
710
+ );
711
+ --_sf-hr-br-rs: var(
712
+ --_ctm-rep-mob-dn-bn-se-hr-se-br-rs,
713
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-br-rs, var(--_ctm-rep-dn-bn-se-hr-se-br-rs))
714
+ );
715
+ --_sf-hr-at: var(
716
+ --_ctm-rep-mob-dn-bn-se-hr-se-at,
717
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-at, var(--_ctm-rep-dn-bn-se-hr-se-at))
718
+ );
719
+ --_sf-hr-gp: var(
720
+ --_ctm-rep-mob-dn-bn-se-hr-se-gp,
721
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-gp, var(--_ctm-rep-dn-bn-se-hr-se-gp))
722
+ );
723
+
724
+ // for shadow
725
+ --_sf-hr-sw-ae: var(
726
+ --_ctm-rep-mob-dn-bn-se-hr-se-sw-ae,
727
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-sw-ae, var(--_ctm-rep-dn-bn-se-hr-se-sw-ae))
728
+ );
729
+ --_sf-hr-sw-br: var(
730
+ --_ctm-rep-mob-dn-bn-se-hr-se-sw-br,
731
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-sw-br, var(--_ctm-rep-dn-bn-se-hr-se-sw-br))
732
+ );
733
+ --_sf-hr-sw-hr: var(
734
+ --_ctm-rep-mob-dn-bn-se-hr-se-sw-hr,
735
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-sw-hr, var(--_ctm-rep-dn-bn-se-hr-se-sw-hr))
736
+ );
737
+ --_sf-hr-sw-cr: var(
738
+ --_ctm-rep-mob-dn-bn-se-hr-se-sw-cr,
739
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-sw-cr, var(--_ctm-rep-dn-bn-se-hr-se-sw-cr))
740
+ );
741
+
742
+ // for font
743
+
744
+ --_sf-hr-cr: var(
745
+ --_ctm-rep-mob-dn-bn-se-hr-se-cr,
746
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-cr, var(--_ctm-rep-dn-bn-se-hr-se-cr))
747
+ );
748
+ --_sf-hr-ft-fy: var(
749
+ --_ctm-rep-mob-dn-bn-se-hr-se-ft-fy,
750
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-ft-fy, var(--_ctm-rep-dn-bn-se-hr-se-ft-fy))
751
+ );
752
+ --_sf-hr-tt-tm: var(
753
+ --_ctm-rep-mob-dn-bn-se-hr-se-tt-tm,
754
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-tt-tm, var(--_ctm-rep-dn-bn-se-hr-se-tt-tm))
755
+ );
756
+ --_sf-hr-wd-wp: var(
757
+ --_ctm-rep-mob-dn-bn-se-hr-se-wd-wp,
758
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-wd-wp, var(--_ctm-rep-dn-bn-se-hr-se-wd-wp))
759
+ );
760
+ --_sf-hr-wd-bk: var(
761
+ --_ctm-rep-mob-dn-bn-se-hr-se-wd-bk,
762
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-wd-bk, var(--_ctm-rep-dn-bn-se-hr-se-wd-bk))
763
+ );
764
+ --_sf-hr-ft-se: var(
765
+ --_ctm-rep-mob-dn-bn-se-hr-se-ft-se,
766
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-ft-se, var(--_ctm-rep-dn-bn-se-hr-se-ft-se))
767
+ );
768
+ --_sf-hr-ft-wt: var(
769
+ --_ctm-rep-mob-dn-bn-se-hr-se-ft-wt,
770
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-ft-wt, var(--_ctm-rep-dn-bn-se-hr-se-ft-wt))
771
+ );
772
+ --_sf-hr-ft-se-ic: var(
773
+ --_ctm-rep-mob-dn-bn-se-hr-se-ft-se-ic,
774
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-ft-se-ic, var(--_ctm-rep-dn-bn-se-hr-se-ft-se-ic))
775
+ );
776
+ --_sf-hr-tt-an: var(
777
+ --_ctm-rep-mob-dn-bn-se-hr-se-tt-an,
778
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-tt-an, var(--_ctm-rep-dn-bn-se-hr-se-tt-an))
779
+ );
780
+ --_sf-hr-lr-sg: var(
781
+ --_ctm-rep-mob-dn-bn-se-hr-se-lr-sg,
782
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-lr-sg, var(--_ctm-rep-dn-bn-se-hr-se-lr-sg))
783
+ );
784
+ --_sf-hr-le-ht: var(
785
+ --_ctm-rep-mob-dn-bn-se-hr-se-le-ht,
786
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-le-ht, var(--_ctm-rep-dn-bn-se-hr-se-le-ht))
787
+ );
788
+
789
+ --_sf-hr-in-se: var(
790
+ --_ctm-rep-mob-dn-bn-se-hr-se-in-se,
791
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-in-se, var(--_ctm-rep-dn-bn-se-hr-se-in-se))
792
+ );
793
+ --_sf-hr-in-se: var(
794
+ --_ctm-rep-mob-dn-bn-se-hr-se-in-se,
795
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-in-se, var(--_ctm-rep-dn-bn-se-hr-se-in-se))
796
+ );
797
+ --_sf-hr-in-c1: var(
798
+ --_ctm-rep-mob-dn-bn-se-hr-se-in-c1,
799
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-in-c1, var(--_ctm-rep-dn-bn-se-hr-se-in-c1))
800
+ );
801
+ --_sf-hr-ue: var(
802
+ --_ctm-rep-mob-dn-bn-se-hr-se-ue,
803
+ var(--_ctm-rep-tab-dn-bn-se-hr-se-ue, var(--_ctm-rep-dn-bn-se-hr-se-ue))
804
+ );
805
+
806
+ // for pading and width
807
+ --_sf-hr-pg: var(
808
+ --_ctm-rep-mob-dn-bn-se-hr-pg,
809
+ var(--_ctm-rep-tab-dn-bn-se-hr-pg, var(--_ctm-rep-dn-bn-se-hr-pg))
810
+ );
811
+ --_sf-hr-wh: var(
812
+ --_ctm-rep-mob-dn-bn-se-hr-wh,
813
+ var(--_ctm-rep-tab-dn-bn-se-hr-wh, var(--_ctm-rep-dn-bn-se-hr-wh))
814
+ );
815
+
816
+ &[data-hover-show-shadow="false"] {
817
+ --_hover-show-shadow: none;
818
+ }
819
+
820
+ &[data-hover-show-icon="false"] {
821
+ --_hover-show-icon: none;
822
+ }
823
+ }
824
+
825
+ background-color: var(--_sf-hr-bd-cr, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-bd-cr));
826
+
827
+ padding: var(--_sf-hr-pg, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-pg));
828
+ width: var(--_sf-hr-wh, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-wh));
829
+ display: flex;
830
+ flex-direction: var(--_sf-fd-bn);
831
+ align-items: center;
832
+
833
+ justify-content: var(--_sf-hr-at, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-at));
834
+ gap: var(--_sf-hr-gp, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-gp));
835
+
836
+ border-radius: var(--_sf-hr-br-rs, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-br-rs));
837
+
838
+ // Routed through the two gate variables the Show Shadow switches set above,
839
+ // otherwise turning the switch off left the shadow on screen.
840
+ box-shadow: var(
841
+ --_hover-show-shadow,
842
+ var(
843
+ --_show-shadow,
844
+ var(--_sf-hr-sw-ae, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-sw-ae, 0))
845
+ var(--_sf-hr-sw-br, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-sw-br, 0))
846
+ var(--_sf-hr-sw-sd, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-sw-sd, 0))
847
+ var(--_sf-hr-sw-cr, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-sw-cr, transparent))
848
+ )
849
+ );
850
+
851
+ &[data-show-border="true"] {
852
+ border-color: var(--_sf-hr-br-cr, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-br-cr));
853
+
854
+ border-style: var(--_sf-hr-br-se, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-br-se));
855
+
856
+ border-width: var(--_sf-hr-br-wh, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-br-wh));
857
+ }
858
+
859
+ .txt {
860
+ display: flex;
861
+
862
+ color: var(--_sf-hr-cr, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-cr));
863
+
864
+ font-family: var(--_sf-hr-ft-fy, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-ft-fy));
865
+ text-transform: var(--_sf-hr-tt-tm, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-tt-tm));
866
+ word-wrap: var(--_sf-hr-wd-wp, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-wd-wp));
867
+ word-break: var(--_sf-hr-wd-bk, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-wd-bk));
868
+
869
+ &.flex__overflow {
870
+ white-space: normal;
871
+ @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
872
+ }
873
+
874
+ font-size: var(--_sf-hr-ft-se, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-ft-se));
875
+
876
+ font-weight: var(--_sf-hr-ft-wt, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-ft-wt));
877
+
878
+ font-style: var(
879
+ --_sf-hr-ft-se-ic,
880
+ prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-ft-se-ic)
881
+ );
882
+
883
+ text-align: var(--_sf-hr-tt-an, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-tt-an));
884
+
885
+ letter-spacing: var(--_sf-hr-lr-sg, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-lr-sg));
886
+
887
+ line-height: var(--_sf-hr-le-ht, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-le-ht));
888
+
889
+ text-decoration: var(--_sf-hr-ue, prepareMediaVariable(--_ctm-rep-dn-dt-ue));
890
+ }
891
+
892
+ .icon {
893
+ display: var(--_hover-show-icon, var(--_show-icon, flex));
894
+
895
+ svg {
896
+ width: var(--_sf-hr-in-se, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-in-se));
897
+ height: var(--_sf-hr-in-se, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-in-se));
898
+
899
+ path {
900
+ stroke: var(--_sf-hr-in-c1, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-in-c1));
901
+ // Overrides the stroke-width presentation attribute baked into the icon markup.
902
+ stroke-width: prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-se-wh, 1.25);
903
+ }
904
+ }
905
+ }
906
+
907
+ [data-element-style="Text"] {
908
+ display: inline-block;
909
+ width: 100%;
910
+ }
911
+
912
+ .icon--hover {
913
+ // position: absolute;
914
+ // inset: 0;
915
+ // opacity: 0;
916
+ display: none;
917
+ transition: opacity 0.2s ease;
918
+ }
919
+
920
+ &:hover .icon--hover {
921
+ // opacity: 1;
922
+ display: flex;
923
+ }
924
+
925
+ &:hover .icon--default {
926
+ // opacity: 0;
927
+ display: none;
928
+ }
929
+ }
930
+
931
+ // &[data-view-state="full"] {
932
+ // width: auto;
933
+ // margin: 0;
934
+ // justify-self: stretch !important;
935
+ // align-self: stretch !important;
936
+ // cursor: auto;
937
+
938
+ // & > div {
939
+ // &[data-div-type="wrapper__layer"] {
940
+ // --_sf-vt-zz: visible;
941
+ // --_sf-op-zz: 1;
942
+ // }
943
+ // }
944
+ // }
945
+ }
946
+ }