@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,1444 +1,1444 @@
1
- @use "sass:map";
2
- @use "sass:list";
3
- @use "./functions.scss" as *;
4
-
5
- // The value text inside a swatch moved out of design.optionValueStyle into its own
6
- // schema, design.optionValueTextStyle, so the box and the text are edited from separate
7
- // accordions. Pages saved before the split still carry the typography keys under the old
8
- // section, so every value-text property resolves the new variable first and falls back to
9
- // the old one — both across breakpoints.
10
- @function optionValueTextVar($newVar, $legacyVar) {
11
- @return prepareMediaVariable($newVar, prepareMediaVariable($legacyVar));
12
- }
13
-
14
- // The value text's typography is not state-aware — the Option Value Text Style panel has
15
- // no Default / Hover / Selected picker — so its keys sit flat on optionValueTextStyle
16
- // rather than under defaultState. Three shapes can be on disk, so resolve in order: the
17
- // flat variable, then the defaultState-nested one saved while the section still had the
18
- // picker, then the pre-split optionValueStyle.defaultState one.
19
- @function optionValueTextDefaultVar($flatVar, $stateVar, $legacyVar) {
20
- @return prepareMediaVariable(
21
- $flatVar,
22
- prepareMediaVariable($stateVar, prepareMediaVariable($legacyVar))
23
- );
24
- }
25
-
26
- [data-div-type="element"] {
27
- &[data-element-type="productOptions"] {
28
- width: var(
29
- --_sf-el-wh-st-mx,
30
- calc(
31
- 1% *
32
- var(
33
- --_ctm-mob-ele-nw-wh-vl,
34
- var(--_ctm-tab-ele-nw-wh-vl, var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh)))
35
- )
36
- )
37
- );
38
- margin: var(--_ctm-mob-lt-mn, var(--_ctm-tab-lt-mn, var(--_ctm-lt-mn)));
39
-
40
- --_aspect-ratio: calc(
41
- 1 *
42
- (
43
- var(--_ctm-mob-lt-ht, var(--_ctm-tab-lt-ht, var(--_ctm-lt-ht))) /
44
- var(--_ctm-mob-lt-wh, var(--_ctm-tab-lt-wh, var(--_ctm-lt-wh)))
45
- )
46
- );
47
-
48
- & > .wrapper {
49
- // width: 100%;
50
- // height: 100%;
51
- }
52
- .product__option__element {
53
- display: flex;
54
- flex-direction: column;
55
- min-height: 30px;
56
- gap: var(
57
- --_ctm-mob-lt-on-te-ve-sg,
58
- var(--_ctm-tab-lt-on-te-ve-sg, var(--_ctm-lt-on-te-ve-sg))
59
- );
60
-
61
- background-color: var(
62
- --_ctm-mob-dn-wt-se-bd-cr,
63
- var(--_ctm-tab-dn-wt-se-bd-cr, var(--_ctm-dn-wt-se-bd-cr))
64
- );
65
- padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
66
-
67
- width: 100%;
68
- // height: 100%;
69
- border-color: var(
70
- --_ctm-mob-dn-wt-se-br-cr,
71
- var(--_ctm-tab-dn-wt-se-br-cr, var(--_ctm-dn-wt-se-br-cr))
72
- );
73
- border-style: var(
74
- --_ctm-mob-dn-wt-se-br-se,
75
- var(--_ctm-tab-dn-wt-se-br-se, var(--_ctm-dn-wt-se-br-se))
76
- );
77
- border-width: var(
78
- --_ctm-mob-dn-wt-se-br-wh,
79
- var(--_ctm-tab-dn-wt-se-br-wh, var(--_ctm-dn-wt-se-br-wh))
80
- );
81
- border-radius: var(
82
- --_ctm-mob-dn-wt-se-br-rs,
83
- var(--_ctm-tab-dn-wt-se-br-rs, var(--_ctm-dn-wt-se-br-rs))
84
- );
85
- box-shadow: var(
86
- --_show-shadow,
87
- var(--_ctm-mob-dn-wt-se-sw-ae, var(--_ctm-tab-dn-wt-se-sw-ae, var(--_ctm-dn-wt-se-sw-ae)))
88
- var(--_ctm-mob-dn-wt-se-sw-br, var(--_ctm-tab-dn-wt-se-sw-br, var(--_ctm-dn-wt-se-sw-br)))
89
- var(--_ctm-mob-dn-wt-se-sw-sd, var(--_ctm-tab-dn-wt-se-sw-sd, var(--_ctm-dn-wt-se-sw-sd)))
90
- var(--_ctm-mob-dn-wt-se-sw-cr, var(--_ctm-tab-dn-wt-se-sw-cr, var(--_ctm-dn-wt-se-sw-cr)))
91
- );
92
-
93
- .title {
94
- margin-bottom: 4px;
95
- color: var(--_ctm-mob-dn-on-te-cr, var(--_ctm-tab-dn-on-te-cr, var(--_ctm-dn-on-te-cr)));
96
- font-family: var(
97
- --_ctm-mob-dn-on-te-ft-fy,
98
- var(--_ctm-tab-dn-on-te-ft-fy, var(--_ctm-dn-on-te-ft-fy))
99
- );
100
- text-transform: var(
101
- --_ctm-mob-dn-on-te-tt-tm,
102
- var(--_ctm-tab-dn-on-te-tt-tm, var(--_ctm-dn-on-te-tt-tm))
103
- );
104
- word-wrap: var(
105
- --_ctm-mob-dn-on-te-wd-wp,
106
- var(--_ctm-tab-dn-on-te-wd-wp, var(--_ctm-dn-on-te-wd-wp))
107
- );
108
- word-break: var(
109
- --_ctm-mob-dn-on-te-wd-bk,
110
- var(--_ctm-tab-dn-on-te-wd-bk, var(--_ctm-dn-on-te-wd-bk))
111
- );
112
- font-size: var(
113
- --_ctm-mob-dn-on-te-ft-se,
114
- var(--_ctm-tab-dn-on-te-ft-se, var(--_ctm-dn-on-te-ft-se))
115
- );
116
- font-weight: var(
117
- --_ctm-mob-dn-on-te-ft-wt,
118
- var(--_ctm-tab-dn-on-te-ft-wt, var(--_ctm-dn-on-te-ft-wt))
119
- );
120
- font-style: var(
121
- --_ctm-mob-dn-on-te-ft-se-ic,
122
- var(--_ctm-tab-dn-on-te-ft-se-ic, var(--_ctm-dn-on-te-ft-se-ic))
123
- );
124
- text-align: var(
125
- --_ctm-mob-dn-on-te-tt-an,
126
- var(--_ctm-tab-dn-on-te-tt-an, var(--_ctm-dn-on-te-tt-an))
127
- );
128
- letter-spacing: var(
129
- --_ctm-mob-dn-on-te-lr-sg,
130
- var(--_ctm-tab-dn-on-te-lr-sg, var(--_ctm-dn-on-te-lr-sg))
131
- );
132
- line-height: var(
133
- --_ctm-mob-dn-on-te-le-ht,
134
- var(--_ctm-tab-dn-on-te-le-ht, var(--_ctm-dn-on-te-le-ht))
135
- );
136
- text-decoration: var(
137
- --_ctm-mob-dn-on-te-ue,
138
- var(--_ctm-tab-dn-on-te-ue, var(--_ctm-dn-on-te-ue))
139
- );
140
-
141
- // design.optionTitle container styling. The title is its own design schema, so it
142
- // carries the same Fill / Border / Border Radius / Shadow set as the value box.
143
- background-color: prepareMediaVariable(--_ctm-dn-on-te-bd-cr, transparent);
144
- border-color: prepareMediaVariable(--_ctm-dn-on-te-br-cr);
145
- border-style: prepareMediaVariable(--_ctm-dn-on-te-br-se);
146
- border-width: prepareMediaVariable(--_ctm-dn-on-te-br-wh, 0px);
147
- border-radius: prepareMediaVariable(--_ctm-dn-on-te-br-rs, 0px);
148
- // Same --_show-shadow gate the widget container uses in this file.
149
- box-shadow: var(
150
- --_show-shadow,
151
- prepareMediaVariable(--_ctm-dn-on-te-sw-ae) prepareMediaVariable(--_ctm-dn-on-te-sw-br)
152
- prepareMediaVariable(--_ctm-dn-on-te-sw-sd) prepareMediaVariable(--_ctm-dn-on-te-sw-cr)
153
- );
154
-
155
- // Text Overflow is a `controls` property, not a CSS one, so it cannot travel as a
156
- // variable — the renderer adds `.flex__overflow` and publishes the line count as
157
- // `--_sf-line-clamp`.
158
- &.flex__overflow {
159
- white-space: normal;
160
- @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
161
- }
162
- }
163
-
164
- .product__option__element__swatch {
165
- display: flex;
166
- align-items: flex-start;
167
- gap: 10px;
168
- gap: var(
169
- --_ctm-mob-lt-on-te-ve-sg,
170
- var(--_ctm-tab-lt-on-te-ve-sg, var(--_ctm-lt-on-te-ve-sg))
171
- );
172
-
173
- // margin-top: 20px;
174
-
175
- .swatch__list {
176
- display: flex;
177
- gap: var(--_ctm-mob-lt-sh-im-sg, var(--_ctm-tab-lt-sh-im-sg, var(--_ctm-lt-sh-im-sg)));
178
-
179
- width: 100%;
180
- // &[data-wrap-items="true"] {
181
- // flex-wrap: wrap;
182
- // }
183
- // flex-wrap: wrap;
184
- }
185
-
186
- &[data-overflow-items="Wrap"] {
187
- .swatch__list {
188
- flex-wrap: wrap;
189
- }
190
- }
191
- &[data-overflow-items="Scroll"] {
192
- .swatch__list {
193
- overflow-x: auto;
194
- // Gap (layout.swatchScrollGap): clearance between the swatches and the
195
- // scrollbar this mode adds underneath. Padding inside the scrolling box, so
196
- // it holds the items off the scrollbar rather than widening the element.
197
- padding-bottom: prepareMediaVariable(--_ctm-lt-sh-sl-gp, 0px);
198
- // overflow-y: hidden;
199
- flex-wrap: nowrap;
200
- }
201
- }
202
- }
203
-
204
- .swatch__item:hover {
205
- --_sf-hr-bd-cr: var(
206
- --_ctm-mob-dn-on-ve-se-hr-se-bd-cr,
207
- var(--_ctm-tab-dn-on-ve-se-hr-se-bd-cr, var(--_ctm-dn-on-ve-se-hr-se-bd-cr))
208
- );
209
- --_sf-hr-br-cr: var(
210
- --_ctm-mob-dn-on-ve-se-hr-se-br-cr,
211
- var(--_ctm-tab-dn-on-ve-se-hr-se-br-cr, var(--_ctm-dn-on-ve-se-hr-se-br-cr))
212
- );
213
- --_sf-hr-br-se: var(
214
- --_ctm-mob-dn-on-ve-se-hr-se-br-se,
215
- var(--_ctm-tab-dn-on-ve-se-hr-se-br-se, var(--_ctm-dn-on-ve-se-hr-se-br-se))
216
- );
217
- --_sf-hr-br-wh: var(
218
- --_ctm-mob-dn-on-ve-se-hr-se-br-wh,
219
- var(--_ctm-tab-dn-on-ve-se-hr-se-br-wh, var(--_ctm-dn-on-ve-se-hr-se-br-wh))
220
- );
221
- --_sf-hr-br-rs: var(
222
- --_ctm-mob-dn-on-ve-se-hr-se-br-rs,
223
- var(--_ctm-tab-dn-on-ve-se-hr-se-br-rs, var(--_ctm-dn-on-ve-se-hr-se-br-rs))
224
- );
225
-
226
- // for shadow
227
- --_sf-hr-sw-ae: var(
228
- --_ctm-mob-dn-on-ve-se-hr-se-sw-ae,
229
- var(--_ctm-tab-dn-on-ve-se-hr-se-sw-ae, var(--_ctm-dn-on-ve-se-hr-se-sw-ae))
230
- );
231
- --_sf-hr-sw-br: var(
232
- --_ctm-mob-dn-on-ve-se-hr-se-sw-br,
233
- var(--_ctm-tab-dn-on-ve-se-hr-se-sw-br, var(--_ctm-dn-on-ve-se-hr-se-sw-br))
234
- );
235
- --_sf-hr-sw-hr: var(
236
- --_ctm-mob-dn-on-ve-se-hr-se-sw-hr,
237
- var(--_ctm-tab-dn-on-ve-se-hr-se-sw-hr, var(--_ctm-dn-on-ve-se-hr-se-sw-hr))
238
- );
239
- --_sf-hr-sw-cr: var(
240
- --_ctm-mob-dn-on-ve-se-hr-se-sw-cr,
241
- var(--_ctm-tab-dn-on-ve-se-hr-se-sw-cr, var(--_ctm-dn-on-ve-se-hr-se-sw-cr))
242
- );
243
-
244
- // for font — from optionValueTextStyle.hoverState, falling back to the pre-split
245
- // optionValueStyle.hoverState keys.
246
- --_sf-hr-cr: #{optionValueTextVar(
247
- --_ctm-dn-on-ve-tt-se-hr-se-cr,
248
- --_ctm-dn-on-ve-se-hr-se-cr
249
- )};
250
- --_sf-hr-ft-fy: #{optionValueTextVar(
251
- --_ctm-dn-on-ve-tt-se-hr-se-ft-fy,
252
- --_ctm-dn-on-ve-se-hr-se-ft-fy
253
- )};
254
- --_sf-hr-tt-tm: #{optionValueTextVar(
255
- --_ctm-dn-on-ve-tt-se-hr-se-tt-tm,
256
- --_ctm-dn-on-ve-se-hr-se-tt-tm
257
- )};
258
- --_sf-hr-wd-wp: #{optionValueTextVar(
259
- --_ctm-dn-on-ve-tt-se-hr-se-wd-wp,
260
- --_ctm-dn-on-ve-se-hr-se-wd-wp
261
- )};
262
- --_sf-hr-wd-bk: #{optionValueTextVar(
263
- --_ctm-dn-on-ve-tt-se-hr-se-wd-bk,
264
- --_ctm-dn-on-ve-se-hr-se-wd-bk
265
- )};
266
- --_sf-hr-ft-se: #{optionValueTextVar(
267
- --_ctm-dn-on-ve-tt-se-hr-se-ft-se,
268
- --_ctm-dn-on-ve-se-hr-se-ft-se
269
- )};
270
- --_sf-hr-ft-wt: #{optionValueTextVar(
271
- --_ctm-dn-on-ve-tt-se-hr-se-ft-wt,
272
- --_ctm-dn-on-ve-se-hr-se-ft-wt
273
- )};
274
- --_sf-hr-ft-se-ic: #{optionValueTextVar(
275
- --_ctm-dn-on-ve-tt-se-hr-se-ft-se-ic,
276
- --_ctm-dn-on-ve-se-hr-se-ft-se-ic
277
- )};
278
- --_sf-hr-tt-an: #{optionValueTextVar(
279
- --_ctm-dn-on-ve-tt-se-hr-se-tt-an,
280
- --_ctm-dn-on-ve-se-hr-se-tt-an
281
- )};
282
- --_sf-hr-lr-sg: #{optionValueTextVar(
283
- --_ctm-dn-on-ve-tt-se-hr-se-lr-sg,
284
- --_ctm-dn-on-ve-se-hr-se-lr-sg
285
- )};
286
- --_sf-hr-le-ht: #{optionValueTextVar(
287
- --_ctm-dn-on-ve-tt-se-hr-se-le-ht,
288
- --_ctm-dn-on-ve-se-hr-se-le-ht
289
- )};
290
-
291
- --_sf-hr-ue: #{optionValueTextVar(
292
- --_ctm-dn-on-ve-tt-se-hr-se-ue,
293
- --_ctm-dn-on-ve-se-hr-se-ue
294
- )};
295
- }
296
- .swatch__item[data-selected="true"] {
297
- --_sf-sd-bd-cr: var(
298
- --_ctm-mob-dn-on-ve-se-sd-se-bd-cr,
299
- var(--_ctm-tab-dn-on-ve-se-sd-se-bd-cr, var(--_ctm-dn-on-ve-se-sd-se-bd-cr))
300
- );
301
- --_sf-sd-br-cr: var(
302
- --_ctm-mob-dn-on-ve-se-sd-se-br-cr,
303
- var(--_ctm-tab-dn-on-ve-se-sd-se-br-cr, var(--_ctm-dn-on-ve-se-sd-se-br-cr))
304
- );
305
- --_sf-sd-br-se: var(
306
- --_ctm-mob-dn-on-ve-se-sd-se-br-se,
307
- var(--_ctm-tab-dn-on-ve-se-sd-se-br-se, var(--_ctm-dn-on-ve-se-sd-se-br-se))
308
- );
309
- --_sf-sd-br-wh: var(
310
- --_ctm-mob-dn-on-ve-se-sd-se-br-wh,
311
- var(--_ctm-tab-dn-on-ve-se-sd-se-br-wh, var(--_ctm-dn-on-ve-se-sd-se-br-wh))
312
- );
313
- // new
314
- --_sf-sd-sw-ae: var(
315
- --_ctm-mob-dn-on-ve-se-sd-se-sw-ae,
316
- var(--_ctm-tab-dn-on-ve-se-sd-se-sw-ae, var(--_ctm-dn-on-ve-se-sd-se-sw-ae))
317
- );
318
- --_sf-sd-sw-br: var(
319
- --_ctm-mob-dn-on-ve-se-sd-se-sw-br,
320
- var(--_ctm-tab-dn-on-ve-se-sd-se-sw-br, var(--_ctm-dn-on-ve-se-sd-se-sw-br))
321
- );
322
- --_sf-sd-sw-sd: var(
323
- --_ctm-mob-dn-on-ve-se-sd-se-sw-sd,
324
- var(--_ctm-tab-dn-on-ve-se-sd-se-sw-sd, var(--_ctm-dn-on-ve-se-sd-se-sw-sd))
325
- );
326
- --_sf-sd-sw-cr: var(
327
- --_ctm-mob-dn-on-ve-se-sd-se-sw-cr,
328
- var(--_ctm-tab-dn-on-ve-se-sd-se-sw-cr, var(--_ctm-dn-on-ve-se-sd-se-sw-cr))
329
- );
330
-
331
- // for font — from optionValueTextStyle.selectedState, falling back to the
332
- // pre-split optionValueStyle.selectedState keys.
333
- --_sf-hr-cr: #{optionValueTextVar(
334
- --_ctm-dn-on-ve-tt-se-sd-se-cr,
335
- --_ctm-dn-on-ve-se-sd-se-cr
336
- )};
337
- --_sf-hr-ft-fy: #{optionValueTextVar(
338
- --_ctm-dn-on-ve-tt-se-sd-se-ft-fy,
339
- --_ctm-dn-on-ve-se-sd-se-ft-fy
340
- )};
341
- --_sf-hr-tt-tm: #{optionValueTextVar(
342
- --_ctm-dn-on-ve-tt-se-sd-se-tt-tm,
343
- --_ctm-dn-on-ve-se-sd-se-tt-tm
344
- )};
345
- --_sf-hr-wd-wp: #{optionValueTextVar(
346
- --_ctm-dn-on-ve-tt-se-sd-se-wd-wp,
347
- --_ctm-dn-on-ve-se-sd-se-wd-wp
348
- )};
349
- --_sf-hr-wd-bk: #{optionValueTextVar(
350
- --_ctm-dn-on-ve-tt-se-sd-se-wd-bk,
351
- --_ctm-dn-on-ve-se-sd-se-wd-bk
352
- )};
353
- --_sf-hr-ft-se: #{optionValueTextVar(
354
- --_ctm-dn-on-ve-tt-se-sd-se-ft-se,
355
- --_ctm-dn-on-ve-se-sd-se-ft-se
356
- )};
357
- --_sf-hr-ft-wt: #{optionValueTextVar(
358
- --_ctm-dn-on-ve-tt-se-sd-se-ft-wt,
359
- --_ctm-dn-on-ve-se-sd-se-ft-wt
360
- )};
361
- --_sf-hr-ft-se-ic: #{optionValueTextVar(
362
- --_ctm-dn-on-ve-tt-se-sd-se-ft-se-ic,
363
- --_ctm-dn-on-ve-se-sd-se-ft-se-ic
364
- )};
365
- --_sf-hr-tt-an: #{optionValueTextVar(
366
- --_ctm-dn-on-ve-tt-se-sd-se-tt-an,
367
- --_ctm-dn-on-ve-se-sd-se-tt-an
368
- )};
369
- --_sf-hr-lr-sg: #{optionValueTextVar(
370
- --_ctm-dn-on-ve-tt-se-sd-se-lr-sg,
371
- --_ctm-dn-on-ve-se-sd-se-lr-sg
372
- )};
373
- --_sf-hr-le-ht: #{optionValueTextVar(
374
- --_ctm-dn-on-ve-tt-se-sd-se-le-ht,
375
- --_ctm-dn-on-ve-se-sd-se-le-ht
376
- )};
377
-
378
- --_sf-hr-ue: #{optionValueTextVar(
379
- --_ctm-dn-on-ve-tt-se-sd-se-ue,
380
- --_ctm-dn-on-ve-se-sd-se-ue
381
- )};
382
- }
383
-
384
- .swatch__item {
385
- text-align: center;
386
- overflow: hidden;
387
- flex-shrink: 0;
388
- display: flex;
389
- align-items: center;
390
- justify-content: center;
391
- transition: width 0.3s ease;
392
- // border: 1px solid gray;
393
- width: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
394
- height: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
395
-
396
- // A Single Select value is text, not a swatch image. `white-space: nowrap` on
397
- // .option__value__text keeps it on one line, but this box is fixed-size with
398
- // overflow:hidden, so a value wider than Swatch Item Size was clipped instead.
399
- // Grow to the content and keep Swatch Item Size as the floor, so short values look
400
- // exactly as before and only the ones that would have been cut off get wider.
401
- &[data-display-style="Single Select"] {
402
- width: auto;
403
- height: auto;
404
- min-width: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
405
- min-height: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
406
- }
407
-
408
- // &[data-display-style="Swatch"] {
409
- // height: prepareMediaVariable(--_ctm-lt-sh-im-se);
410
- // width: prepareMediaVariable(--_ctm-lt-sh-im-se);
411
- // }
412
- // &[data-display-style="Single Select"] {
413
- // // min-width: 20px;
414
- // // min-height: 20px;
415
- // box-sizing: content-box;
416
- // }
417
-
418
- gap: prepareMediaVariable(--_ctm-lt-im-gp);
419
- padding: prepareMediaVariable(--_ctm-lt-sh-im-pg);
420
-
421
- cursor: pointer;
422
-
423
- border-color: var(--_sf-hr-br-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-cr));
424
-
425
- background-color: var(--_sf-hr-bd-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-bd-cr));
426
- border-style: var(--_sf-hr-br-se, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-se));
427
- border-width: var(--_sf-hr-br-wh, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-wh));
428
-
429
- box-shadow: var(--_sf-hr-sw-ae, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-ae))
430
- var(--_sf-hr-sw-br, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-br))
431
- var(--_sf-hr-sw-sd, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-sd))
432
- var(--_sf-hr-sw-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-cr));
433
- & div,
434
- .product-select-image {
435
- height: 100%;
436
- width: 100%;
437
- object-fit: cover;
438
- }
439
-
440
- &[data-background-shape="circle"] {
441
- border-radius: 50%;
442
- }
443
- &[data-background-shape="square"] {
444
- border-radius: 5px;
445
- }
446
- &[data-background-shape="capsule"] {
447
- &:not([data-display-style="Single Select"]) {
448
- --toggle-height: var(--_ctm-lt-sh-im-se);
449
- --toggle-width: calc(var(--_ctm-lt-sh-im-se) * 1.5);
450
-
451
- width: var(--toggle-width);
452
- height: var(--toggle-height);
453
- }
454
-
455
- border-radius: var(--toggle-height); /* Full pill shape */
456
- box-sizing: border-box;
457
- }
458
- &[data-swatch-shape="circle"] {
459
- & div,
460
- .product-select-image {
461
- border-radius: 50%;
462
- }
463
- // border-radius: 50%;
464
- }
465
- &[data-swatch-shape="capsule"] {
466
- & div,
467
- .product-select-image {
468
- // border-radius: 50%;
469
- width: 100%;
470
- height: 100%;
471
- border-radius: inherit;
472
- }
473
- // border-radius: 50%;
474
- }
475
-
476
- &:hover {
477
- &[data-background-shape-hover="circle"] {
478
- border-radius: 50%;
479
- }
480
- &[data-background-shape-hover="square"] {
481
- border-radius: 5px;
482
- }
483
- &[data-background-shape-hover="capsule"] {
484
- --toggle-height: var(--_ctm-lt-sh-im-se);
485
- --toggle-width: calc(var(--_ctm-lt-sh-im-se) * 1.5);
486
-
487
- width: var(--toggle-width);
488
- height: var(--toggle-height);
489
-
490
- border-radius: var(--toggle-height); /* Full pill shape */
491
- box-sizing: border-box;
492
- }
493
-
494
- &[data-swatch-shape-hover="circle"] {
495
- & div,
496
- .product-select-image {
497
- border-radius: 50%;
498
- }
499
- // border-radius: 50%;
500
- }
501
- &[data-swatch-shape-hover="capsule"] {
502
- & div,
503
- .product-select-image {
504
- // border-radius: 50%;
505
- width: 100%;
506
- height: 100%;
507
- border-radius: inherit;
508
- }
509
- }
510
- &[data-swatch-shape-hover="square"] {
511
- & div,
512
- .product-select-image {
513
- border-radius: 5px;
514
- }
515
- }
516
- }
517
- &[data-selected="true"] {
518
- border-color: var(--_sf-sd-br-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-cr));
519
-
520
- background-color: var(
521
- --_sf-sd-bd-cr,
522
- prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-bd-cr)
523
- );
524
- border-style: var(--_sf-sd-br-se, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-se));
525
- border-width: var(--_sf-sd-br-wh, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-wh));
526
- box-shadow: var(--_sf-sd-sw-ae, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-ae))
527
- var(--_sf-sd-sw-br, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-br))
528
- var(--_sf-sd-sw-sd, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-sd))
529
- var(--_sf-sd-sw-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-cr));
530
-
531
- &[data-background-shape-selected="circle"] {
532
- border-radius: 50%;
533
- }
534
- &[data-background-shape-selected="square"] {
535
- border-radius: 5px;
536
- }
537
- &[data-background-shape-selected="capsule"] {
538
- --toggle-height: #{prepareMediaVariable(--_ctm-lt-sh-im-se)};
539
- --toggle-width: calc(#{prepareMediaVariable(--_ctm-lt-sh-im-se)} * 1.5);
540
-
541
- width: var(--toggle-width);
542
- // height: var(--toggle-height);
543
-
544
- border-radius: var(--toggle-height); /* Full pill shape */
545
- box-sizing: border-box;
546
- }
547
- &[data-swatch-shape-selected="circle"] {
548
- & div,
549
- .product-select-image {
550
- border-radius: 50%;
551
- }
552
- }
553
- &[data-swatch-shape-selected="capsule"] {
554
- & div,
555
- .product-select-image {
556
- // border-radius: 50%;
557
- width: 100%;
558
- height: 100%;
559
- border-radius: inherit;
560
- }
561
- }
562
- &[data-swatch-shape-selected="square"] {
563
- & div,
564
- .product-select-image {
565
- border-radius: 5px;
566
- }
567
- }
568
- }
569
-
570
- .option__value__text {
571
- color: var(
572
- --_sf-hr-cr,
573
- #{optionValueTextDefaultVar(
574
- --_ctm-dn-on-ve-tt-se-cr,
575
- --_ctm-dn-on-ve-tt-se-dt-se-cr,
576
- --_ctm-dn-on-ve-se-dt-se-cr
577
- )}
578
- );
579
- font-family: var(
580
- --_sf-hr-ft-fy,
581
- #{optionValueTextDefaultVar(
582
- --_ctm-dn-on-ve-tt-se-ft-fy,
583
- --_ctm-dn-on-ve-tt-se-dt-se-ft-fy,
584
- --_ctm-dn-on-ve-se-dt-se-ft-fy
585
- )}
586
- );
587
- text-transform: var(
588
- --_sf-hr-tt-tm,
589
- #{optionValueTextDefaultVar(
590
- --_ctm-dn-on-ve-tt-se-tt-tm,
591
- --_ctm-dn-on-ve-tt-se-dt-se-tt-tm,
592
- --_ctm-dn-on-ve-se-dt-se-tt-tm
593
- )}
594
- );
595
- word-wrap: var(
596
- --_sf-hr-wd-wp,
597
- #{optionValueTextDefaultVar(
598
- --_ctm-dn-on-ve-tt-se-wd-wp,
599
- --_ctm-dn-on-ve-tt-se-dt-se-wd-wp,
600
- --_ctm-dn-on-ve-se-dt-se-wd-wp
601
- )}
602
- );
603
- word-break: var(
604
- --_sf-hr-wd-bk,
605
- #{optionValueTextDefaultVar(
606
- --_ctm-dn-on-ve-tt-se-wd-bk,
607
- --_ctm-dn-on-ve-tt-se-dt-se-wd-bk,
608
- --_ctm-dn-on-ve-se-dt-se-wd-bk
609
- )}
610
- );
611
- font-size: var(
612
- --_sf-hr-ft-se,
613
- #{optionValueTextDefaultVar(
614
- --_ctm-dn-on-ve-tt-se-ft-se,
615
- --_ctm-dn-on-ve-tt-se-dt-se-ft-se,
616
- --_ctm-dn-on-ve-se-dt-se-ft-se
617
- )}
618
- );
619
- font-weight: var(
620
- --_sf-hr-ft-wt,
621
- #{optionValueTextDefaultVar(
622
- --_ctm-dn-on-ve-tt-se-ft-wt,
623
- --_ctm-dn-on-ve-tt-se-dt-se-ft-wt,
624
- --_ctm-dn-on-ve-se-dt-se-ft-wt
625
- )}
626
- );
627
- font-style: var(
628
- --_sf-hr-ft-se-ic,
629
- #{optionValueTextDefaultVar(
630
- --_ctm-dn-on-ve-tt-se-ft-se-ic,
631
- --_ctm-dn-on-ve-tt-se-dt-se-ft-se-ic,
632
- --_ctm-dn-on-ve-se-dt-se-ft-se-ic
633
- )}
634
- );
635
- text-align: var(
636
- --_sf-hr-tt-an,
637
- #{optionValueTextDefaultVar(
638
- --_ctm-dn-on-ve-tt-se-tt-an,
639
- --_ctm-dn-on-ve-tt-se-dt-se-tt-an,
640
- --_ctm-dn-on-ve-se-dt-se-tt-an
641
- )}
642
- );
643
- letter-spacing: var(
644
- --_sf-hr-lr-sg,
645
- #{optionValueTextDefaultVar(
646
- --_ctm-dn-on-ve-tt-se-lr-sg,
647
- --_ctm-dn-on-ve-tt-se-dt-se-lr-sg,
648
- --_ctm-dn-on-ve-se-dt-se-lr-sg
649
- )}
650
- );
651
- // The pre-split key is `le-ht-dc`; the new section is read under both spellings
652
- // so whichever one the converter writes resolves.
653
- line-height: var(
654
- --_sf-hr-le-ht,
655
- prepareMediaVariable(
656
- --_ctm-dn-on-ve-tt-se-dt-se-le-ht,
657
- #{optionValueTextDefaultVar(
658
- --_ctm-dn-on-ve-tt-se-le-ht-dc,
659
- --_ctm-dn-on-ve-tt-se-dt-se-le-ht-dc,
660
- --_ctm-dn-on-ve-se-dt-se-le-ht-dc
661
- )}
662
- )
663
- );
664
- text-decoration: var(
665
- --_sf-hr-ue,
666
- #{optionValueTextDefaultVar(
667
- --_ctm-dn-on-ve-tt-se-ue,
668
- --_ctm-dn-on-ve-tt-se-dt-se-ue,
669
- --_ctm-dn-on-ve-se-dt-se-ue
670
- )}
671
- );
672
- // The swatch item is a fixed box (Swatch Item Size), so a value like "Small"
673
- // broke onto a second line inside it. Keep it on one line.
674
- white-space: nowrap;
675
- }
676
- &.disabled {
677
- color: #aaa;
678
- background-color: #f9f9f9;
679
- border-color: #ddd;
680
- cursor: not-allowed;
681
- opacity: 0.3;
682
- overflow: hidden;
683
- position: relative;
684
- }
685
-
686
- .cross-line {
687
- position: absolute;
688
- inset: 0;
689
- background-color: #cccccc;
690
- clip-path: polygon(100% 0, 100% 1px, 0 100%, 0 96%);
691
- pointer-events: none;
692
- }
693
- }
694
-
695
- // .disabled {
696
- // cursor: not-allowed;
697
- // opacity: 0.4;
698
-
699
- // &[data-swatch-type="Swatch image"] {
700
- // position: relative;
701
- // overflow: hidden;
702
- // &::after {
703
- // content: "";
704
- // width: 172%;
705
- // height: 1px;
706
- // position: absolute;
707
- // background: #f00;
708
- // left: -14px;
709
- // transform: rotate(48deg);
710
- // /* -webkit-transform: rotate(48deg); */
711
- // -moz-transform: rotate(48deg);
712
- // top: 14px;
713
- // box-shadow: 2px 0 5px rgba(255, 255, 255, 1);
714
- // }
715
- // &::before {
716
- // content: "";
717
- // width: 164%;
718
- // height: 1px;
719
- // position: absolute;
720
- // background: #f00;
721
- // left: -14px;
722
- // transform: rotate(-48deg);
723
- // -webkit-transform: rotate(-48deg);
724
- // -moz-transform: rotate(-48deg);
725
- // top: 14px;
726
- // box-shadow: 2px 0 5px rgba(255, 255, 255, 1);
727
- // }
728
- // }
729
- // }
730
-
731
- .option__value__text {
732
- color: var(
733
- --_sf-hr-cr,
734
- #{optionValueTextDefaultVar(
735
- --_ctm-dn-on-ve-tt-se-cr,
736
- --_ctm-dn-on-ve-tt-se-dt-se-cr,
737
- --_ctm-dn-on-ve-se-dt-se-cr
738
- )}
739
- );
740
- font-family: var(
741
- --_sf-hr-ft-fy,
742
- #{optionValueTextDefaultVar(
743
- --_ctm-dn-on-ve-tt-se-ft-fy,
744
- --_ctm-dn-on-ve-tt-se-dt-se-ft-fy,
745
- --_ctm-dn-on-ve-se-dt-se-ft-fy
746
- )}
747
- );
748
- text-transform: var(
749
- --_sf-hr-tt-tm,
750
- #{optionValueTextDefaultVar(
751
- --_ctm-dn-on-ve-tt-se-tt-tm,
752
- --_ctm-dn-on-ve-tt-se-dt-se-tt-tm,
753
- --_ctm-dn-on-ve-se-dt-se-tt-tm
754
- )}
755
- );
756
- word-wrap: var(
757
- --_sf-hr-wd-wp,
758
- #{optionValueTextDefaultVar(
759
- --_ctm-dn-on-ve-tt-se-wd-wp,
760
- --_ctm-dn-on-ve-tt-se-dt-se-wd-wp,
761
- --_ctm-dn-on-ve-se-dt-se-wd-wp
762
- )}
763
- );
764
- word-break: var(
765
- --_sf-hr-wd-bk,
766
- #{optionValueTextDefaultVar(
767
- --_ctm-dn-on-ve-tt-se-wd-bk,
768
- --_ctm-dn-on-ve-tt-se-dt-se-wd-bk,
769
- --_ctm-dn-on-ve-se-dt-se-wd-bk
770
- )}
771
- );
772
- font-size: var(
773
- --_sf-hr-ft-se,
774
- #{optionValueTextDefaultVar(
775
- --_ctm-dn-on-ve-tt-se-ft-se,
776
- --_ctm-dn-on-ve-tt-se-dt-se-ft-se,
777
- --_ctm-dn-on-ve-se-dt-se-ft-se
778
- )}
779
- );
780
- font-weight: var(
781
- --_sf-hr-ft-wt,
782
- #{optionValueTextDefaultVar(
783
- --_ctm-dn-on-ve-tt-se-ft-wt,
784
- --_ctm-dn-on-ve-tt-se-dt-se-ft-wt,
785
- --_ctm-dn-on-ve-se-dt-se-ft-wt
786
- )}
787
- );
788
- font-style: var(
789
- --_sf-hr-ft-se-ic,
790
- #{optionValueTextDefaultVar(
791
- --_ctm-dn-on-ve-tt-se-ft-se-ic,
792
- --_ctm-dn-on-ve-tt-se-dt-se-ft-se-ic,
793
- --_ctm-dn-on-ve-se-dt-se-ft-se-ic
794
- )}
795
- );
796
- text-align: var(
797
- --_sf-hr-tt-an,
798
- #{optionValueTextDefaultVar(
799
- --_ctm-dn-on-ve-tt-se-tt-an,
800
- --_ctm-dn-on-ve-tt-se-dt-se-tt-an,
801
- --_ctm-dn-on-ve-se-dt-se-tt-an
802
- )}
803
- );
804
- letter-spacing: var(
805
- --_sf-hr-lr-sg,
806
- #{optionValueTextDefaultVar(
807
- --_ctm-dn-on-ve-tt-se-lr-sg,
808
- --_ctm-dn-on-ve-tt-se-dt-se-lr-sg,
809
- --_ctm-dn-on-ve-se-dt-se-lr-sg
810
- )}
811
- );
812
- // The pre-split key is `le-ht-dc`; the new section is read under both spellings
813
- // so whichever one the converter writes resolves.
814
- line-height: var(
815
- --_sf-hr-le-ht,
816
- prepareMediaVariable(
817
- --_ctm-dn-on-ve-tt-se-dt-se-le-ht,
818
- #{optionValueTextDefaultVar(
819
- --_ctm-dn-on-ve-tt-se-le-ht-dc,
820
- --_ctm-dn-on-ve-tt-se-dt-se-le-ht-dc,
821
- --_ctm-dn-on-ve-se-dt-se-le-ht-dc
822
- )}
823
- )
824
- );
825
- text-decoration: var(
826
- --_sf-hr-ue,
827
- #{optionValueTextDefaultVar(
828
- --_ctm-dn-on-ve-tt-se-ue,
829
- --_ctm-dn-on-ve-tt-se-dt-se-ue,
830
- --_ctm-dn-on-ve-se-dt-se-ue
831
- )}
832
- );
833
- // The swatch item is a fixed box (Swatch Item Size), so a value like "Small"
834
- // broke onto a second line inside it. Keep it on one line.
835
- white-space: nowrap;
836
- }
837
-
838
- .product-select-image {
839
- height: 100%;
840
- width: 100%;
841
- object-fit: cover;
842
- }
843
- //Dropdown
844
- .est__dropdown__main {
845
- position: relative;
846
- width: 100%;
847
- display: flex;
848
- flex-direction: column;
849
- gap: var(
850
- --_ctm-mob-lt-on-te-ve-sg,
851
- var(
852
- --_ctm-tab-lt-on-te-ve-sg,
853
- var(--_ctm-lt-on-te-ve-sg, var(--_ctm-lt-dn-dy-se-on-ad-lt-sg))
854
- )
855
- );
856
- padding: var(
857
- --_ctm-mob-lt-dn-dy-se-dn-os-pg,
858
- var(--_ctm-tab-lt-dn-dy-se-dn-os-pg, var(--_ctm-lt-dn-dy-se-dn-os-pg))
859
- );
860
- margin-top: 10px;
861
-
862
- label {
863
- font-size: var(
864
- --_ctm-mob-dn-on-te-ft-se,
865
- var(--_ctm-tab-dn-on-te-ft-se, var(--_ctm-dn-on-te-ft-se))
866
- );
867
- font-family: var(
868
- --_ctm-mob-dn-on-te-ft-fy,
869
- var(--_ctm-tab-dn-on-te-ft-fy, var(--_ctm-dn-on-te-ft-fy))
870
- );
871
- text-transform: var(
872
- --_ctm-mob-dn-on-te-tt-tm,
873
- var(--_ctm-tab-dn-on-te-tt-tm, var(--_ctm-dn-on-te-tt-tm))
874
- );
875
- word-wrap: var(
876
- --_ctm-mob-dn-on-te-wd-wp,
877
- var(--_ctm-tab-dn-on-te-wd-wp, var(--_ctm-dn-on-te-wd-wp))
878
- );
879
- word-break: var(
880
- --_ctm-mob-dn-on-te-wd-bk,
881
- var(--_ctm-tab-dn-on-te-wd-bk, var(--_ctm-dn-on-te-wd-bk))
882
- );
883
- &.flex__overflow {
884
- white-space: normal;
885
- @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
886
- }
887
- color: var(
888
- --_ctm-mob-dn-on-te-cr,
889
- var(--_ctm-tab-dn-on-te-cr, var(--_gray-700, var(--_ctm-dn-on-te-cr)))
890
- );
891
- font-weight: var(
892
- --_ctm-mob-dn-on-te-ft-wt,
893
- var(--_ctm-tab-dn-on-te-ft-wt, var(--_ctm-dn-on-te-ft-wt))
894
- );
895
- text-decoration: var(
896
- --_ctm-mob-dn-on-te-ue,
897
- var(--_ctm-tab-dn-on-te-ue, var(--_ctm-dn-on-te-ue))
898
- );
899
- letter-spacing: var(
900
- --_ctm-mob-dn-on-te-lr-sg,
901
- var(--_ctm-tab-dn-on-te-lr-sg, var(--_ctm-dn-on-te-lr-sg))
902
- );
903
- text-align: var(
904
- --_ctm-mob-dn-on-te-tt-an,
905
- var(--_ctm-tab-dn-on-te-tt-an, var(--_ctm-dn-on-te-tt-an))
906
- );
907
- line-height: var(
908
- --_ctm-mob-dn-on-te-le-ht,
909
- var(--_ctm-tab-dn-on-te-le-ht, var(--_ctm-dn-on-te-le-ht))
910
- );
911
- display: block;
912
- }
913
-
914
- .est__dropdown {
915
- cursor: pointer;
916
- position: relative;
917
- color: var(--_gray-700);
918
-
919
- border-radius: 6px;
920
- background-color: #fff;
921
- display: flex;
922
- justify-content: space-between;
923
- align-items: center;
924
- width: 100%;
925
- .value__selected {
926
- width: 100%;
927
- }
928
-
929
- &.open .list {
930
- display: none;
931
- margin-top: var(
932
- --_ctm-mob-lt-dn-dy-se-on-ad-lt-sg,
933
- var(--_ctm-tab-lt-dn-dy-se-on-ad-lt-sg, var(--_ctm-lt-dn-dy-se-on-ad-lt-sg))
934
- );
935
- gap: var(
936
- --_ctm-mob-lt-dn-dy-se-dn-lt-im-sg,
937
- var(--_ctm-tab-lt-dn-dy-se-dn-lt-im-sg, var(--_ctm-lt-dn-dy-se-dn-lt-im-sg))
938
- );
939
- background-color: var(
940
- --_ctm-mob-dn-dn-se-bd-cr,
941
- var(--_ctm-tab-dn-dn-se-bd-cr, var(--_ctm-dn-dn-se-bd-cr))
942
- );
943
- }
944
-
945
- .list {
946
- display: flex !important;
947
- flex-direction: column;
948
- gap: var(
949
- --_ctm-mob-lt-dn-dy-se-dn-lt-im-sg,
950
- var(--_ctm-tab-lt-dn-dy-se-dn-lt-im-sg, var(--_ctm-lt-dn-dy-se-dn-lt-im-sg))
951
- );
952
- border: var(
953
- --_ctm-mob-dn-dn-se-br-wh,
954
- var(--_ctm-tab-dn-dn-se-br-wh, var(--_ctm-dn-dn-se-br-wh))
955
- )
956
- var(
957
- --_ctm-mob-dn-dn-se-br-se,
958
- var(--_ctm-tab-dn-dn-se-br-se, var(--_ctm-dn-dn-se-br-se))
959
- )
960
- var(
961
- --_gray-200,
962
- var(
963
- --_ctm-mob-dn-dn-se-br-cr,
964
- var(--_ctm-tab-dn-dn-se-br-cr, var(--_ctm-dn-dn-se-br-cr))
965
- )
966
- );
967
- border-radius: var(
968
- --_ctm-mob-dn-dn-se-br-rs,
969
- var(--_ctm-tab-dn-dn-se-br-rs, var(--_ctm-dn-dn-se-br-rs))
970
- );
971
- box-shadow: var(
972
- --_show-shadow-dn-se,
973
- var(
974
- --_ctm-mob-dn-dn-se-sw-ae,
975
- var(--_ctm-tab-dn-dn-se-sw-ae, var(--_ctm-dn-dn-se-sw-ae, var(--_tst-dn-sw-ae)))
976
- )
977
- var(
978
- --_ctm-mob-dn-dn-se-sw-br,
979
- var(--_ctm-tab-dn-dn-se-sw-br, var(--_ctm-dn-dn-se-sw-br, var(--_tst-dn-sw-br)))
980
- )
981
- var(
982
- --_ctm-mob-dn-dn-se-sw-sd,
983
- var(--_ctm-tab-dn-dn-se-sw-sd, var(--_ctm-dn-dn-se-sw-sd, var(--_tst-dn-sw-sd)))
984
- )
985
- var(
986
- --_ctm-mob-dn-dn-se-sw-cr,
987
- var(--_ctm-tab-dn-dn-se-sw-cr, var(--_ctm-dn-dn-se-sw-cr, var(--_tst-dn-sw-cr)))
988
- )
989
- );
990
- position: absolute;
991
- top: 100%;
992
- left: 0;
993
- width: 100%;
994
- background-color: var(
995
- --_ctm-mob-dn-dn-se-bd-cr,
996
- var(--_ctm-tab-dn-dn-se-bd-cr, var(--_ctm-dn-dn-se-bd-cr))
997
- );
998
- border-radius: 4px;
999
- z-index: var(--_higher-zIndex);
1000
- max-height: 200px;
1001
- overflow-y: auto;
1002
-
1003
- &.top {
1004
- bottom: 100%;
1005
- top: auto;
1006
- }
1007
-
1008
- .list__option {
1009
- padding: var(
1010
- --_ctm-mob-lt-dn-dy-se-dn-lt-im-pg,
1011
- var(--_ctm-tab-lt-dn-dy-se-dn-lt-im-pg, var(--_ctm-lt-dn-dy-se-dn-lt-im-pg))
1012
- );
1013
- cursor: pointer;
1014
-
1015
- &:hover {
1016
- background-color: var(--_primary-25);
1017
- color: var(--_primary-400);
1018
- }
1019
-
1020
- &.disabled {
1021
- cursor: not-allowed;
1022
- opacity: 0.4;
1023
- }
1024
- }
1025
- }
1026
- }
1027
- }
1028
-
1029
- // variant dropdown selection
1030
- .var__drop__selection {
1031
- display: flex;
1032
- width: 100%;
1033
- gap: var(
1034
- --_ctm-mob-lt-dn-dy-se-dn-lt-im-sg,
1035
- var(
1036
- --_ctm-tab-lt-dn-dy-se-dn-lt-im-sg,
1037
- var(--_ctm-lt-dn-dy-se-dn-lt-im-sg, var(--_ctm-lt-im-sg))
1038
- )
1039
- );
1040
-
1041
- flex-direction: row;
1042
- &[data-dropdown-style="Vertical List"] {
1043
- flex-direction: column;
1044
- gap: var(--_ctm-mob-lt-im-sg, var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg)));
1045
- }
1046
- .dropdown_wrapper {
1047
- position: relative;
1048
- &[data-show-divider="true"] {
1049
- &:not(:last-child)::after {
1050
- content: "";
1051
- position: relative;
1052
- background-color: #000;
1053
- height: 1px;
1054
- width: 100%;
1055
- display: flex;
1056
- top: calc(
1057
- calc(
1058
- var(--_ctm-mob-lt-im-sg, var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg))) + 8px
1059
- ) /
1060
- 2
1061
- );
1062
- }
1063
- }
1064
-
1065
- &[data-show-item-divider="true"] {
1066
- .est__dropdown__main {
1067
- .est__dropdown {
1068
- .list {
1069
- :not(:last-child).list__option {
1070
- &::after {
1071
- content: "";
1072
- position: relative;
1073
- background-color: #000;
1074
- height: 1px;
1075
- width: 100%;
1076
- display: flex;
1077
- top: calc(
1078
- var(
1079
- --_ctm-mob-lt-dn-dy-se-dn-lt-im-sg,
1080
- var(
1081
- --_ctm-tab-lt-dn-dy-se-dn-lt-im-sg,
1082
- var(--_ctm-lt-dn-dy-se-dn-lt-im-sg)
1083
- )
1084
- ) /
1085
- 2
1086
- );
1087
- }
1088
- }
1089
- }
1090
- }
1091
- }
1092
- }
1093
- }
1094
- & > div {
1095
- width: 100%;
1096
- }
1097
- }
1098
- .embla {
1099
- width: 100%;
1100
- height: 100%;
1101
- position: relative;
1102
- display: flex;
1103
- flex-direction: column;
1104
-
1105
- // overflow: hidden;
1106
-
1107
- .embla__viewport {
1108
- width: 100%;
1109
- height: 100%;
1110
- position: relative;
1111
- display: flex;
1112
- flex-direction: column;
1113
-
1114
- overflow: hidden;
1115
-
1116
- .embla__container {
1117
- width: 100%;
1118
- height: 100%;
1119
- display: flex;
1120
- grid-template-rows: 100%;
1121
- // grid-template-columns: 100%;
1122
- // grid-template-columns: repeat(
1123
- // var(--_ctm-lt-is-pr-se),
1124
- // calc(100% / var(--_ctm-lt-is-pr-se))
1125
- // );
1126
- // grid-auto-flow: column;
1127
- gap: var(--_ctm-mob-lt-sh-im-sg, var(--_ctm-tab-lt-sh-im-sg, var(--_ctm-lt-sh-im-sg)));
1128
-
1129
- &[data-control-type="Bottom"][data-slider-control="Arrows"] {
1130
- height: calc(
1131
- 100% - calc(
1132
- var(
1133
- --_ctm-mob-dn-pn-as-aw-se,
1134
- var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1135
- ) +
1136
- 8px
1137
- )
1138
- );
1139
- }
1140
- &[data-control-type="Bottom"][data-slider-control="Pagination Line"] {
1141
- height: calc(
1142
- 100% - calc(
1143
- var(
1144
- --_ctm-mob-dn-pn-le-le-ht,
1145
- var(--_ctm-tab-dn-pn-le-le-ht, var(--_ctm-dn-pn-le-le-ht))
1146
- ) +
1147
- 20px
1148
- )
1149
- );
1150
- }
1151
- &[data-control-type="Bottom"][data-slider-control="Dots"] {
1152
- height: calc(
1153
- 100% - calc(
1154
- var(
1155
- --_ctm-mob-dn-pn-ds-dt-se,
1156
- var(--_ctm-tab-dn-pn-ds-dt-se, var(--_ctm-dn-pn-ds-dt-se))
1157
- ) +
1158
- 20px
1159
- )
1160
- );
1161
- }
1162
-
1163
- .embla__slide {
1164
- // width: 100%;
1165
- height: 100%;
1166
- }
1167
- }
1168
- }
1169
-
1170
- .arrow-navigation {
1171
- display: flex;
1172
- position: absolute;
1173
- top: 50%;
1174
- left: 50%;
1175
- width: 100%;
1176
- justify-content: space-between;
1177
- transform: translate(-50%, -50%);
1178
- // padding-left: 20px;
1179
- &[data-control-type="Side"] {
1180
- .left-button,
1181
- .right-button {
1182
- background-color: transparent;
1183
- }
1184
- }
1185
- &[data-background-shape="Round"] {
1186
- .left-button,
1187
- .right-button {
1188
- background-color: #f2f5f5;
1189
- box-sizing: 0 4px 8px rgba(0, 0, 0, 0.1);
1190
- }
1191
- }
1192
- &[data-control-type="Bottom-Overflow"] {
1193
- transform: translateX(-50%);
1194
- width: 100%;
1195
- justify-content: center;
1196
- gap: 12px;
1197
- top: unset;
1198
- bottom: 6px;
1199
- }
1200
- &[data-control-type="Bottom"] {
1201
- transform: unset;
1202
- position: static;
1203
- width: 100%;
1204
- justify-content: center;
1205
- gap: 12px;
1206
- margin-top: 10px;
1207
- }
1208
- .left-button {
1209
- padding: 10px;
1210
- border-radius: 50%;
1211
- border: none;
1212
- width: var(
1213
- --_ctm-mob-dn-pn-as-aw-se,
1214
- var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1215
- );
1216
- height: var(
1217
- --_ctm-mob-dn-pn-as-aw-se,
1218
- var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1219
- );
1220
-
1221
- display: flex;
1222
- align-items: center;
1223
- justify-content: center;
1224
- cursor: pointer;
1225
- outline: none;
1226
- margin-left: 12px;
1227
- &:disabled {
1228
- & svg {
1229
- path {
1230
- stroke: rgb(192, 192, 192);
1231
- }
1232
- }
1233
- }
1234
- }
1235
- .right-button {
1236
- border-radius: 50%;
1237
- border: none;
1238
- width: var(
1239
- --_ctm-mob-dn-pn-as-aw-se,
1240
- var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1241
- );
1242
- height: var(
1243
- --_ctm-mob-dn-pn-as-aw-se,
1244
- var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1245
- );
1246
-
1247
- display: flex;
1248
- align-items: center;
1249
- justify-content: center;
1250
- cursor: pointer;
1251
- outline: none;
1252
- margin-right: 12px;
1253
- padding: 10px;
1254
-
1255
- &:disabled {
1256
- & svg {
1257
- path {
1258
- stroke: rgb(192, 192, 192);
1259
- }
1260
- }
1261
- }
1262
- }
1263
- .icon {
1264
- display: flex;
1265
- svg {
1266
- width: calc(
1267
- var(
1268
- --_ctm-mob-dn-pn-as-aw-se,
1269
- var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1270
- ) *
1271
- 0.5
1272
- );
1273
- height: calc(
1274
- var(
1275
- --_ctm-mob-dn-pn-as-aw-se,
1276
- var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1277
- ) *
1278
- 0.5
1279
- );
1280
- path {
1281
- stroke: var(
1282
- --_ctm-mob-dn-pn-as-aw-cr,
1283
- var(--_ctm-tab-dn-pn-as-aw-cr, var(--_ctm-dn-pn-as-aw-cr))
1284
- );
1285
- }
1286
- }
1287
- }
1288
- }
1289
-
1290
- &[data-thumbnail-placement="top"] {
1291
- flex-direction: column-reverse;
1292
- }
1293
- &[data-thumbnail-placement="bottom"] {
1294
- flex-direction: column;
1295
- }
1296
- &[data-thumbnail-placement="left"] {
1297
- flex-direction: row-reverse;
1298
-
1299
- .embla__thumbs {
1300
- width: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1301
-
1302
- height: 100%;
1303
-
1304
- & .embla__thumbs__container {
1305
- flex-direction: column;
1306
- height: 100%;
1307
- }
1308
- }
1309
- }
1310
- &[data-thumbnail-placement="right"] {
1311
- flex-direction: row;
1312
- .embla__thumbs {
1313
- width: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1314
-
1315
- height: 100%;
1316
-
1317
- & .embla__thumbs__container {
1318
- flex-direction: column;
1319
- height: 100%;
1320
- }
1321
- }
1322
- }
1323
- &[data-control-type="Side"] {
1324
- display: flex;
1325
- align-self: center;
1326
- flex-direction: row;
1327
- .left-button:disabled,
1328
- .right-button:disabled {
1329
- display: none;
1330
- }
1331
- }
1332
- .embla__dots {
1333
- display: flex;
1334
- flex-wrap: wrap;
1335
- justify-content: center;
1336
- align-items: center;
1337
- margin-right: calc((2.6rem - 1.4rem) / 2 * -1);
1338
- gap: 6px;
1339
- margin-top: 16px;
1340
-
1341
- &[data-control-type="Bottom-Overflow"] {
1342
- position: absolute;
1343
- bottom: 10px;
1344
- left: 50%;
1345
- transform: translateX(-50%);
1346
- width: 75%;
1347
- }
1348
- .embla__dot {
1349
- -webkit-tap-highlight-color: rgba(var(--text-high-contrast-rgb-value), 0.5);
1350
- -webkit-appearance: none;
1351
- appearance: none;
1352
- background-color: var(--_ctm-dn-pn-ds-or-dt-cr, var(--_tst-dn-pn-ds-or-dt-cr));
1353
- touch-action: manipulation;
1354
- display: inline-flex;
1355
- text-decoration: none;
1356
- cursor: pointer;
1357
- border: 0;
1358
- padding: 0;
1359
- margin: 0;
1360
- // width: 0.6rem;
1361
- // height: 0.6rem;
1362
- width: var(--_ctm-dn-pn-ds-dt-se, var(--_tst-dn-pn-ds-dt-se));
1363
- height: var(--_ctm-dn-pn-ds-dt-se, var(--_tst-dn-pn-ds-dt-se));
1364
- display: flex;
1365
- align-items: center;
1366
- justify-content: center;
1367
- border-radius: 50%;
1368
- }
1369
- .embla__dot:after {
1370
- // box-shadow: inset 0 0 0 0.2rem var(--detail-medium-contrast);
1371
- width: var(--_ctm-dn-pn-ds-dt-se, var(--_tst-dn-pn-ds-dt-se));
1372
- height: var(--_ctm-dn-pn-ds-dt-se, var(--_tst-dn-pn-ds-dt-se));
1373
- border-radius: 50%;
1374
- display: flex;
1375
- align-items: center;
1376
- content: "";
1377
- }
1378
- .embla__dot--selected:after {
1379
- box-shadow: inset 0 0 0 1px var(--text-body);
1380
- background-color: var(--_ctm-dn-pn-ds-ct-dt-cr, var(--_tst-dn-pn-ds-ct-dt-cr));
1381
- }
1382
- &[data-slider-control="Pagination Line"] {
1383
- .embla__dot {
1384
- width: var(--_ctm-dn-pn-le-le-wh, var(--_ctm-dn-pn-le-le-wh));
1385
- height: var(--_ctm-dn-pn-le-le-ht, var(--_tst-dn-pn-le-le-ht));
1386
- background-color: var(--_ctm-dn-pn-le-or-le-cr, var(--_ctm-dn-pn-le-or-le-cr));
1387
-
1388
- border-radius: 6px;
1389
- }
1390
- .embla__dot--selected:after {
1391
- box-shadow: inset 0 0 0 1px var(--text-body);
1392
- border-radius: 6px;
1393
- width: var(--_ctm-dn-pn-le-le-wh, var(--_ctm-dn-pn-le-le-wh));
1394
- height: var(--_ctm-dn-pn-le-le-ht, var(--_tst-dn-pn-le-le-ht));
1395
- // background-color: #fff;
1396
- background-color: var(--_ctm-dn-pn-le-ct-le-cr, var(--_tst-dn-pn-le-ct-le-cr));
1397
- }
1398
- }
1399
- }
1400
-
1401
- .embla__thumbs {
1402
- width: 100%;
1403
- height: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1404
-
1405
- position: relative;
1406
- display: grid;
1407
- grid-template-columns: 1fr;
1408
- overflow: hidden;
1409
- // margin: 10px;
1410
- padding: 10px;
1411
-
1412
- .embla__thumbs__viewport {
1413
- width: 100%;
1414
- height: 100%;
1415
- position: relative;
1416
- display: flex;
1417
- flex-direction: column;
1418
-
1419
- overflow: hidden;
1420
- }
1421
- .embla__thumbs__container {
1422
- display: flex;
1423
- flex-direction: row;
1424
- margin-left: calc(var(--thumbs-slide-spacing) * -1);
1425
- gap: var(--_ctm-lt-tl-sg);
1426
- width: 100%;
1427
- // justify-content: center;
1428
- // height: 200px;
1429
-
1430
- .embla__thumbs__slide {
1431
- min-width: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1432
- max-width: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1433
- height: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1434
- & img {
1435
- width: 100%;
1436
- height: 100%;
1437
- }
1438
- }
1439
- }
1440
- }
1441
- }
1442
- }
1443
- }
1444
- }
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+ @use "./functions.scss" as *;
4
+
5
+ // The value text inside a swatch moved out of design.optionValueStyle into its own
6
+ // schema, design.optionValueTextStyle, so the box and the text are edited from separate
7
+ // accordions. Pages saved before the split still carry the typography keys under the old
8
+ // section, so every value-text property resolves the new variable first and falls back to
9
+ // the old one — both across breakpoints.
10
+ @function optionValueTextVar($newVar, $legacyVar) {
11
+ @return prepareMediaVariable($newVar, prepareMediaVariable($legacyVar));
12
+ }
13
+
14
+ // The value text's typography is not state-aware — the Option Value Text Style panel has
15
+ // no Default / Hover / Selected picker — so its keys sit flat on optionValueTextStyle
16
+ // rather than under defaultState. Three shapes can be on disk, so resolve in order: the
17
+ // flat variable, then the defaultState-nested one saved while the section still had the
18
+ // picker, then the pre-split optionValueStyle.defaultState one.
19
+ @function optionValueTextDefaultVar($flatVar, $stateVar, $legacyVar) {
20
+ @return prepareMediaVariable(
21
+ $flatVar,
22
+ prepareMediaVariable($stateVar, prepareMediaVariable($legacyVar))
23
+ );
24
+ }
25
+
26
+ [data-div-type="element"] {
27
+ &[data-element-type="productOptions"] {
28
+ width: var(
29
+ --_sf-el-wh-st-mx,
30
+ calc(
31
+ 1% *
32
+ var(
33
+ --_ctm-mob-ele-nw-wh-vl,
34
+ var(--_ctm-tab-ele-nw-wh-vl, var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh)))
35
+ )
36
+ )
37
+ );
38
+ margin: var(--_ctm-mob-lt-mn, var(--_ctm-tab-lt-mn, var(--_ctm-lt-mn)));
39
+
40
+ --_aspect-ratio: calc(
41
+ 1 *
42
+ (
43
+ var(--_ctm-mob-lt-ht, var(--_ctm-tab-lt-ht, var(--_ctm-lt-ht))) /
44
+ var(--_ctm-mob-lt-wh, var(--_ctm-tab-lt-wh, var(--_ctm-lt-wh)))
45
+ )
46
+ );
47
+
48
+ & > .wrapper {
49
+ // width: 100%;
50
+ // height: 100%;
51
+ }
52
+ .product__option__element {
53
+ display: flex;
54
+ flex-direction: column;
55
+ min-height: 30px;
56
+ gap: var(
57
+ --_ctm-mob-lt-on-te-ve-sg,
58
+ var(--_ctm-tab-lt-on-te-ve-sg, var(--_ctm-lt-on-te-ve-sg))
59
+ );
60
+
61
+ background-color: var(
62
+ --_ctm-mob-dn-wt-se-bd-cr,
63
+ var(--_ctm-tab-dn-wt-se-bd-cr, var(--_ctm-dn-wt-se-bd-cr))
64
+ );
65
+ padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
66
+
67
+ width: 100%;
68
+ // height: 100%;
69
+ border-color: var(
70
+ --_ctm-mob-dn-wt-se-br-cr,
71
+ var(--_ctm-tab-dn-wt-se-br-cr, var(--_ctm-dn-wt-se-br-cr))
72
+ );
73
+ border-style: var(
74
+ --_ctm-mob-dn-wt-se-br-se,
75
+ var(--_ctm-tab-dn-wt-se-br-se, var(--_ctm-dn-wt-se-br-se))
76
+ );
77
+ border-width: var(
78
+ --_ctm-mob-dn-wt-se-br-wh,
79
+ var(--_ctm-tab-dn-wt-se-br-wh, var(--_ctm-dn-wt-se-br-wh))
80
+ );
81
+ border-radius: var(
82
+ --_ctm-mob-dn-wt-se-br-rs,
83
+ var(--_ctm-tab-dn-wt-se-br-rs, var(--_ctm-dn-wt-se-br-rs))
84
+ );
85
+ box-shadow: var(
86
+ --_show-shadow,
87
+ var(--_ctm-mob-dn-wt-se-sw-ae, var(--_ctm-tab-dn-wt-se-sw-ae, var(--_ctm-dn-wt-se-sw-ae)))
88
+ var(--_ctm-mob-dn-wt-se-sw-br, var(--_ctm-tab-dn-wt-se-sw-br, var(--_ctm-dn-wt-se-sw-br)))
89
+ var(--_ctm-mob-dn-wt-se-sw-sd, var(--_ctm-tab-dn-wt-se-sw-sd, var(--_ctm-dn-wt-se-sw-sd)))
90
+ var(--_ctm-mob-dn-wt-se-sw-cr, var(--_ctm-tab-dn-wt-se-sw-cr, var(--_ctm-dn-wt-se-sw-cr)))
91
+ );
92
+
93
+ .title {
94
+ margin-bottom: 4px;
95
+ color: var(--_ctm-mob-dn-on-te-cr, var(--_ctm-tab-dn-on-te-cr, var(--_ctm-dn-on-te-cr)));
96
+ font-family: var(
97
+ --_ctm-mob-dn-on-te-ft-fy,
98
+ var(--_ctm-tab-dn-on-te-ft-fy, var(--_ctm-dn-on-te-ft-fy))
99
+ );
100
+ text-transform: var(
101
+ --_ctm-mob-dn-on-te-tt-tm,
102
+ var(--_ctm-tab-dn-on-te-tt-tm, var(--_ctm-dn-on-te-tt-tm))
103
+ );
104
+ word-wrap: var(
105
+ --_ctm-mob-dn-on-te-wd-wp,
106
+ var(--_ctm-tab-dn-on-te-wd-wp, var(--_ctm-dn-on-te-wd-wp))
107
+ );
108
+ word-break: var(
109
+ --_ctm-mob-dn-on-te-wd-bk,
110
+ var(--_ctm-tab-dn-on-te-wd-bk, var(--_ctm-dn-on-te-wd-bk))
111
+ );
112
+ font-size: var(
113
+ --_ctm-mob-dn-on-te-ft-se,
114
+ var(--_ctm-tab-dn-on-te-ft-se, var(--_ctm-dn-on-te-ft-se))
115
+ );
116
+ font-weight: var(
117
+ --_ctm-mob-dn-on-te-ft-wt,
118
+ var(--_ctm-tab-dn-on-te-ft-wt, var(--_ctm-dn-on-te-ft-wt))
119
+ );
120
+ font-style: var(
121
+ --_ctm-mob-dn-on-te-ft-se-ic,
122
+ var(--_ctm-tab-dn-on-te-ft-se-ic, var(--_ctm-dn-on-te-ft-se-ic))
123
+ );
124
+ text-align: var(
125
+ --_ctm-mob-dn-on-te-tt-an,
126
+ var(--_ctm-tab-dn-on-te-tt-an, var(--_ctm-dn-on-te-tt-an))
127
+ );
128
+ letter-spacing: var(
129
+ --_ctm-mob-dn-on-te-lr-sg,
130
+ var(--_ctm-tab-dn-on-te-lr-sg, var(--_ctm-dn-on-te-lr-sg))
131
+ );
132
+ line-height: var(
133
+ --_ctm-mob-dn-on-te-le-ht,
134
+ var(--_ctm-tab-dn-on-te-le-ht, var(--_ctm-dn-on-te-le-ht))
135
+ );
136
+ text-decoration: var(
137
+ --_ctm-mob-dn-on-te-ue,
138
+ var(--_ctm-tab-dn-on-te-ue, var(--_ctm-dn-on-te-ue))
139
+ );
140
+
141
+ // design.optionTitle container styling. The title is its own design schema, so it
142
+ // carries the same Fill / Border / Border Radius / Shadow set as the value box.
143
+ background-color: prepareMediaVariable(--_ctm-dn-on-te-bd-cr, transparent);
144
+ border-color: prepareMediaVariable(--_ctm-dn-on-te-br-cr);
145
+ border-style: prepareMediaVariable(--_ctm-dn-on-te-br-se);
146
+ border-width: prepareMediaVariable(--_ctm-dn-on-te-br-wh, 0px);
147
+ border-radius: prepareMediaVariable(--_ctm-dn-on-te-br-rs, 0px);
148
+ // Same --_show-shadow gate the widget container uses in this file.
149
+ box-shadow: var(
150
+ --_show-shadow,
151
+ prepareMediaVariable(--_ctm-dn-on-te-sw-ae) prepareMediaVariable(--_ctm-dn-on-te-sw-br)
152
+ prepareMediaVariable(--_ctm-dn-on-te-sw-sd) prepareMediaVariable(--_ctm-dn-on-te-sw-cr)
153
+ );
154
+
155
+ // Text Overflow is a `controls` property, not a CSS one, so it cannot travel as a
156
+ // variable — the renderer adds `.flex__overflow` and publishes the line count as
157
+ // `--_sf-line-clamp`.
158
+ &.flex__overflow {
159
+ white-space: normal;
160
+ @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
161
+ }
162
+ }
163
+
164
+ .product__option__element__swatch {
165
+ display: flex;
166
+ align-items: flex-start;
167
+ gap: 10px;
168
+ gap: var(
169
+ --_ctm-mob-lt-on-te-ve-sg,
170
+ var(--_ctm-tab-lt-on-te-ve-sg, var(--_ctm-lt-on-te-ve-sg))
171
+ );
172
+
173
+ // margin-top: 20px;
174
+
175
+ .swatch__list {
176
+ display: flex;
177
+ gap: var(--_ctm-mob-lt-sh-im-sg, var(--_ctm-tab-lt-sh-im-sg, var(--_ctm-lt-sh-im-sg)));
178
+
179
+ width: 100%;
180
+ // &[data-wrap-items="true"] {
181
+ // flex-wrap: wrap;
182
+ // }
183
+ // flex-wrap: wrap;
184
+ }
185
+
186
+ &[data-overflow-items="Wrap"] {
187
+ .swatch__list {
188
+ flex-wrap: wrap;
189
+ }
190
+ }
191
+ &[data-overflow-items="Scroll"] {
192
+ .swatch__list {
193
+ overflow-x: auto;
194
+ // Gap (layout.swatchScrollGap): clearance between the swatches and the
195
+ // scrollbar this mode adds underneath. Padding inside the scrolling box, so
196
+ // it holds the items off the scrollbar rather than widening the element.
197
+ padding-bottom: prepareMediaVariable(--_ctm-lt-sh-sl-gp, 0px);
198
+ // overflow-y: hidden;
199
+ flex-wrap: nowrap;
200
+ }
201
+ }
202
+ }
203
+
204
+ .swatch__item:hover {
205
+ --_sf-hr-bd-cr: var(
206
+ --_ctm-mob-dn-on-ve-se-hr-se-bd-cr,
207
+ var(--_ctm-tab-dn-on-ve-se-hr-se-bd-cr, var(--_ctm-dn-on-ve-se-hr-se-bd-cr))
208
+ );
209
+ --_sf-hr-br-cr: var(
210
+ --_ctm-mob-dn-on-ve-se-hr-se-br-cr,
211
+ var(--_ctm-tab-dn-on-ve-se-hr-se-br-cr, var(--_ctm-dn-on-ve-se-hr-se-br-cr))
212
+ );
213
+ --_sf-hr-br-se: var(
214
+ --_ctm-mob-dn-on-ve-se-hr-se-br-se,
215
+ var(--_ctm-tab-dn-on-ve-se-hr-se-br-se, var(--_ctm-dn-on-ve-se-hr-se-br-se))
216
+ );
217
+ --_sf-hr-br-wh: var(
218
+ --_ctm-mob-dn-on-ve-se-hr-se-br-wh,
219
+ var(--_ctm-tab-dn-on-ve-se-hr-se-br-wh, var(--_ctm-dn-on-ve-se-hr-se-br-wh))
220
+ );
221
+ --_sf-hr-br-rs: var(
222
+ --_ctm-mob-dn-on-ve-se-hr-se-br-rs,
223
+ var(--_ctm-tab-dn-on-ve-se-hr-se-br-rs, var(--_ctm-dn-on-ve-se-hr-se-br-rs))
224
+ );
225
+
226
+ // for shadow
227
+ --_sf-hr-sw-ae: var(
228
+ --_ctm-mob-dn-on-ve-se-hr-se-sw-ae,
229
+ var(--_ctm-tab-dn-on-ve-se-hr-se-sw-ae, var(--_ctm-dn-on-ve-se-hr-se-sw-ae))
230
+ );
231
+ --_sf-hr-sw-br: var(
232
+ --_ctm-mob-dn-on-ve-se-hr-se-sw-br,
233
+ var(--_ctm-tab-dn-on-ve-se-hr-se-sw-br, var(--_ctm-dn-on-ve-se-hr-se-sw-br))
234
+ );
235
+ --_sf-hr-sw-hr: var(
236
+ --_ctm-mob-dn-on-ve-se-hr-se-sw-hr,
237
+ var(--_ctm-tab-dn-on-ve-se-hr-se-sw-hr, var(--_ctm-dn-on-ve-se-hr-se-sw-hr))
238
+ );
239
+ --_sf-hr-sw-cr: var(
240
+ --_ctm-mob-dn-on-ve-se-hr-se-sw-cr,
241
+ var(--_ctm-tab-dn-on-ve-se-hr-se-sw-cr, var(--_ctm-dn-on-ve-se-hr-se-sw-cr))
242
+ );
243
+
244
+ // for font — from optionValueTextStyle.hoverState, falling back to the pre-split
245
+ // optionValueStyle.hoverState keys.
246
+ --_sf-hr-cr: #{optionValueTextVar(
247
+ --_ctm-dn-on-ve-tt-se-hr-se-cr,
248
+ --_ctm-dn-on-ve-se-hr-se-cr
249
+ )};
250
+ --_sf-hr-ft-fy: #{optionValueTextVar(
251
+ --_ctm-dn-on-ve-tt-se-hr-se-ft-fy,
252
+ --_ctm-dn-on-ve-se-hr-se-ft-fy
253
+ )};
254
+ --_sf-hr-tt-tm: #{optionValueTextVar(
255
+ --_ctm-dn-on-ve-tt-se-hr-se-tt-tm,
256
+ --_ctm-dn-on-ve-se-hr-se-tt-tm
257
+ )};
258
+ --_sf-hr-wd-wp: #{optionValueTextVar(
259
+ --_ctm-dn-on-ve-tt-se-hr-se-wd-wp,
260
+ --_ctm-dn-on-ve-se-hr-se-wd-wp
261
+ )};
262
+ --_sf-hr-wd-bk: #{optionValueTextVar(
263
+ --_ctm-dn-on-ve-tt-se-hr-se-wd-bk,
264
+ --_ctm-dn-on-ve-se-hr-se-wd-bk
265
+ )};
266
+ --_sf-hr-ft-se: #{optionValueTextVar(
267
+ --_ctm-dn-on-ve-tt-se-hr-se-ft-se,
268
+ --_ctm-dn-on-ve-se-hr-se-ft-se
269
+ )};
270
+ --_sf-hr-ft-wt: #{optionValueTextVar(
271
+ --_ctm-dn-on-ve-tt-se-hr-se-ft-wt,
272
+ --_ctm-dn-on-ve-se-hr-se-ft-wt
273
+ )};
274
+ --_sf-hr-ft-se-ic: #{optionValueTextVar(
275
+ --_ctm-dn-on-ve-tt-se-hr-se-ft-se-ic,
276
+ --_ctm-dn-on-ve-se-hr-se-ft-se-ic
277
+ )};
278
+ --_sf-hr-tt-an: #{optionValueTextVar(
279
+ --_ctm-dn-on-ve-tt-se-hr-se-tt-an,
280
+ --_ctm-dn-on-ve-se-hr-se-tt-an
281
+ )};
282
+ --_sf-hr-lr-sg: #{optionValueTextVar(
283
+ --_ctm-dn-on-ve-tt-se-hr-se-lr-sg,
284
+ --_ctm-dn-on-ve-se-hr-se-lr-sg
285
+ )};
286
+ --_sf-hr-le-ht: #{optionValueTextVar(
287
+ --_ctm-dn-on-ve-tt-se-hr-se-le-ht,
288
+ --_ctm-dn-on-ve-se-hr-se-le-ht
289
+ )};
290
+
291
+ --_sf-hr-ue: #{optionValueTextVar(
292
+ --_ctm-dn-on-ve-tt-se-hr-se-ue,
293
+ --_ctm-dn-on-ve-se-hr-se-ue
294
+ )};
295
+ }
296
+ .swatch__item[data-selected="true"] {
297
+ --_sf-sd-bd-cr: var(
298
+ --_ctm-mob-dn-on-ve-se-sd-se-bd-cr,
299
+ var(--_ctm-tab-dn-on-ve-se-sd-se-bd-cr, var(--_ctm-dn-on-ve-se-sd-se-bd-cr))
300
+ );
301
+ --_sf-sd-br-cr: var(
302
+ --_ctm-mob-dn-on-ve-se-sd-se-br-cr,
303
+ var(--_ctm-tab-dn-on-ve-se-sd-se-br-cr, var(--_ctm-dn-on-ve-se-sd-se-br-cr))
304
+ );
305
+ --_sf-sd-br-se: var(
306
+ --_ctm-mob-dn-on-ve-se-sd-se-br-se,
307
+ var(--_ctm-tab-dn-on-ve-se-sd-se-br-se, var(--_ctm-dn-on-ve-se-sd-se-br-se))
308
+ );
309
+ --_sf-sd-br-wh: var(
310
+ --_ctm-mob-dn-on-ve-se-sd-se-br-wh,
311
+ var(--_ctm-tab-dn-on-ve-se-sd-se-br-wh, var(--_ctm-dn-on-ve-se-sd-se-br-wh))
312
+ );
313
+ // new
314
+ --_sf-sd-sw-ae: var(
315
+ --_ctm-mob-dn-on-ve-se-sd-se-sw-ae,
316
+ var(--_ctm-tab-dn-on-ve-se-sd-se-sw-ae, var(--_ctm-dn-on-ve-se-sd-se-sw-ae))
317
+ );
318
+ --_sf-sd-sw-br: var(
319
+ --_ctm-mob-dn-on-ve-se-sd-se-sw-br,
320
+ var(--_ctm-tab-dn-on-ve-se-sd-se-sw-br, var(--_ctm-dn-on-ve-se-sd-se-sw-br))
321
+ );
322
+ --_sf-sd-sw-sd: var(
323
+ --_ctm-mob-dn-on-ve-se-sd-se-sw-sd,
324
+ var(--_ctm-tab-dn-on-ve-se-sd-se-sw-sd, var(--_ctm-dn-on-ve-se-sd-se-sw-sd))
325
+ );
326
+ --_sf-sd-sw-cr: var(
327
+ --_ctm-mob-dn-on-ve-se-sd-se-sw-cr,
328
+ var(--_ctm-tab-dn-on-ve-se-sd-se-sw-cr, var(--_ctm-dn-on-ve-se-sd-se-sw-cr))
329
+ );
330
+
331
+ // for font — from optionValueTextStyle.selectedState, falling back to the
332
+ // pre-split optionValueStyle.selectedState keys.
333
+ --_sf-hr-cr: #{optionValueTextVar(
334
+ --_ctm-dn-on-ve-tt-se-sd-se-cr,
335
+ --_ctm-dn-on-ve-se-sd-se-cr
336
+ )};
337
+ --_sf-hr-ft-fy: #{optionValueTextVar(
338
+ --_ctm-dn-on-ve-tt-se-sd-se-ft-fy,
339
+ --_ctm-dn-on-ve-se-sd-se-ft-fy
340
+ )};
341
+ --_sf-hr-tt-tm: #{optionValueTextVar(
342
+ --_ctm-dn-on-ve-tt-se-sd-se-tt-tm,
343
+ --_ctm-dn-on-ve-se-sd-se-tt-tm
344
+ )};
345
+ --_sf-hr-wd-wp: #{optionValueTextVar(
346
+ --_ctm-dn-on-ve-tt-se-sd-se-wd-wp,
347
+ --_ctm-dn-on-ve-se-sd-se-wd-wp
348
+ )};
349
+ --_sf-hr-wd-bk: #{optionValueTextVar(
350
+ --_ctm-dn-on-ve-tt-se-sd-se-wd-bk,
351
+ --_ctm-dn-on-ve-se-sd-se-wd-bk
352
+ )};
353
+ --_sf-hr-ft-se: #{optionValueTextVar(
354
+ --_ctm-dn-on-ve-tt-se-sd-se-ft-se,
355
+ --_ctm-dn-on-ve-se-sd-se-ft-se
356
+ )};
357
+ --_sf-hr-ft-wt: #{optionValueTextVar(
358
+ --_ctm-dn-on-ve-tt-se-sd-se-ft-wt,
359
+ --_ctm-dn-on-ve-se-sd-se-ft-wt
360
+ )};
361
+ --_sf-hr-ft-se-ic: #{optionValueTextVar(
362
+ --_ctm-dn-on-ve-tt-se-sd-se-ft-se-ic,
363
+ --_ctm-dn-on-ve-se-sd-se-ft-se-ic
364
+ )};
365
+ --_sf-hr-tt-an: #{optionValueTextVar(
366
+ --_ctm-dn-on-ve-tt-se-sd-se-tt-an,
367
+ --_ctm-dn-on-ve-se-sd-se-tt-an
368
+ )};
369
+ --_sf-hr-lr-sg: #{optionValueTextVar(
370
+ --_ctm-dn-on-ve-tt-se-sd-se-lr-sg,
371
+ --_ctm-dn-on-ve-se-sd-se-lr-sg
372
+ )};
373
+ --_sf-hr-le-ht: #{optionValueTextVar(
374
+ --_ctm-dn-on-ve-tt-se-sd-se-le-ht,
375
+ --_ctm-dn-on-ve-se-sd-se-le-ht
376
+ )};
377
+
378
+ --_sf-hr-ue: #{optionValueTextVar(
379
+ --_ctm-dn-on-ve-tt-se-sd-se-ue,
380
+ --_ctm-dn-on-ve-se-sd-se-ue
381
+ )};
382
+ }
383
+
384
+ .swatch__item {
385
+ text-align: center;
386
+ overflow: hidden;
387
+ flex-shrink: 0;
388
+ display: flex;
389
+ align-items: center;
390
+ justify-content: center;
391
+ transition: width 0.3s ease;
392
+ // border: 1px solid gray;
393
+ width: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
394
+ height: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
395
+
396
+ // A Single Select value is text, not a swatch image. `white-space: nowrap` on
397
+ // .option__value__text keeps it on one line, but this box is fixed-size with
398
+ // overflow:hidden, so a value wider than Swatch Item Size was clipped instead.
399
+ // Grow to the content and keep Swatch Item Size as the floor, so short values look
400
+ // exactly as before and only the ones that would have been cut off get wider.
401
+ &[data-display-style="Single Select"] {
402
+ width: auto;
403
+ height: auto;
404
+ min-width: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
405
+ min-height: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
406
+ }
407
+
408
+ // &[data-display-style="Swatch"] {
409
+ // height: prepareMediaVariable(--_ctm-lt-sh-im-se);
410
+ // width: prepareMediaVariable(--_ctm-lt-sh-im-se);
411
+ // }
412
+ // &[data-display-style="Single Select"] {
413
+ // // min-width: 20px;
414
+ // // min-height: 20px;
415
+ // box-sizing: content-box;
416
+ // }
417
+
418
+ gap: prepareMediaVariable(--_ctm-lt-im-gp);
419
+ padding: prepareMediaVariable(--_ctm-lt-sh-im-pg);
420
+
421
+ cursor: pointer;
422
+
423
+ border-color: var(--_sf-hr-br-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-cr));
424
+
425
+ background-color: var(--_sf-hr-bd-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-bd-cr));
426
+ border-style: var(--_sf-hr-br-se, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-se));
427
+ border-width: var(--_sf-hr-br-wh, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-wh));
428
+
429
+ box-shadow: var(--_sf-hr-sw-ae, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-ae))
430
+ var(--_sf-hr-sw-br, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-br))
431
+ var(--_sf-hr-sw-sd, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-sd))
432
+ var(--_sf-hr-sw-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-cr));
433
+ & div,
434
+ .product-select-image {
435
+ height: 100%;
436
+ width: 100%;
437
+ object-fit: cover;
438
+ }
439
+
440
+ &[data-background-shape="circle"] {
441
+ border-radius: 50%;
442
+ }
443
+ &[data-background-shape="square"] {
444
+ border-radius: 5px;
445
+ }
446
+ &[data-background-shape="capsule"] {
447
+ &:not([data-display-style="Single Select"]) {
448
+ --toggle-height: var(--_ctm-lt-sh-im-se);
449
+ --toggle-width: calc(var(--_ctm-lt-sh-im-se) * 1.5);
450
+
451
+ width: var(--toggle-width);
452
+ height: var(--toggle-height);
453
+ }
454
+
455
+ border-radius: var(--toggle-height); /* Full pill shape */
456
+ box-sizing: border-box;
457
+ }
458
+ &[data-swatch-shape="circle"] {
459
+ & div,
460
+ .product-select-image {
461
+ border-radius: 50%;
462
+ }
463
+ // border-radius: 50%;
464
+ }
465
+ &[data-swatch-shape="capsule"] {
466
+ & div,
467
+ .product-select-image {
468
+ // border-radius: 50%;
469
+ width: 100%;
470
+ height: 100%;
471
+ border-radius: inherit;
472
+ }
473
+ // border-radius: 50%;
474
+ }
475
+
476
+ &:hover {
477
+ &[data-background-shape-hover="circle"] {
478
+ border-radius: 50%;
479
+ }
480
+ &[data-background-shape-hover="square"] {
481
+ border-radius: 5px;
482
+ }
483
+ &[data-background-shape-hover="capsule"] {
484
+ --toggle-height: var(--_ctm-lt-sh-im-se);
485
+ --toggle-width: calc(var(--_ctm-lt-sh-im-se) * 1.5);
486
+
487
+ width: var(--toggle-width);
488
+ height: var(--toggle-height);
489
+
490
+ border-radius: var(--toggle-height); /* Full pill shape */
491
+ box-sizing: border-box;
492
+ }
493
+
494
+ &[data-swatch-shape-hover="circle"] {
495
+ & div,
496
+ .product-select-image {
497
+ border-radius: 50%;
498
+ }
499
+ // border-radius: 50%;
500
+ }
501
+ &[data-swatch-shape-hover="capsule"] {
502
+ & div,
503
+ .product-select-image {
504
+ // border-radius: 50%;
505
+ width: 100%;
506
+ height: 100%;
507
+ border-radius: inherit;
508
+ }
509
+ }
510
+ &[data-swatch-shape-hover="square"] {
511
+ & div,
512
+ .product-select-image {
513
+ border-radius: 5px;
514
+ }
515
+ }
516
+ }
517
+ &[data-selected="true"] {
518
+ border-color: var(--_sf-sd-br-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-cr));
519
+
520
+ background-color: var(
521
+ --_sf-sd-bd-cr,
522
+ prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-bd-cr)
523
+ );
524
+ border-style: var(--_sf-sd-br-se, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-se));
525
+ border-width: var(--_sf-sd-br-wh, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-br-wh));
526
+ box-shadow: var(--_sf-sd-sw-ae, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-ae))
527
+ var(--_sf-sd-sw-br, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-br))
528
+ var(--_sf-sd-sw-sd, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-sd))
529
+ var(--_sf-sd-sw-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-sw-cr));
530
+
531
+ &[data-background-shape-selected="circle"] {
532
+ border-radius: 50%;
533
+ }
534
+ &[data-background-shape-selected="square"] {
535
+ border-radius: 5px;
536
+ }
537
+ &[data-background-shape-selected="capsule"] {
538
+ --toggle-height: #{prepareMediaVariable(--_ctm-lt-sh-im-se)};
539
+ --toggle-width: calc(#{prepareMediaVariable(--_ctm-lt-sh-im-se)} * 1.5);
540
+
541
+ width: var(--toggle-width);
542
+ // height: var(--toggle-height);
543
+
544
+ border-radius: var(--toggle-height); /* Full pill shape */
545
+ box-sizing: border-box;
546
+ }
547
+ &[data-swatch-shape-selected="circle"] {
548
+ & div,
549
+ .product-select-image {
550
+ border-radius: 50%;
551
+ }
552
+ }
553
+ &[data-swatch-shape-selected="capsule"] {
554
+ & div,
555
+ .product-select-image {
556
+ // border-radius: 50%;
557
+ width: 100%;
558
+ height: 100%;
559
+ border-radius: inherit;
560
+ }
561
+ }
562
+ &[data-swatch-shape-selected="square"] {
563
+ & div,
564
+ .product-select-image {
565
+ border-radius: 5px;
566
+ }
567
+ }
568
+ }
569
+
570
+ .option__value__text {
571
+ color: var(
572
+ --_sf-hr-cr,
573
+ #{optionValueTextDefaultVar(
574
+ --_ctm-dn-on-ve-tt-se-cr,
575
+ --_ctm-dn-on-ve-tt-se-dt-se-cr,
576
+ --_ctm-dn-on-ve-se-dt-se-cr
577
+ )}
578
+ );
579
+ font-family: var(
580
+ --_sf-hr-ft-fy,
581
+ #{optionValueTextDefaultVar(
582
+ --_ctm-dn-on-ve-tt-se-ft-fy,
583
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-fy,
584
+ --_ctm-dn-on-ve-se-dt-se-ft-fy
585
+ )}
586
+ );
587
+ text-transform: var(
588
+ --_sf-hr-tt-tm,
589
+ #{optionValueTextDefaultVar(
590
+ --_ctm-dn-on-ve-tt-se-tt-tm,
591
+ --_ctm-dn-on-ve-tt-se-dt-se-tt-tm,
592
+ --_ctm-dn-on-ve-se-dt-se-tt-tm
593
+ )}
594
+ );
595
+ word-wrap: var(
596
+ --_sf-hr-wd-wp,
597
+ #{optionValueTextDefaultVar(
598
+ --_ctm-dn-on-ve-tt-se-wd-wp,
599
+ --_ctm-dn-on-ve-tt-se-dt-se-wd-wp,
600
+ --_ctm-dn-on-ve-se-dt-se-wd-wp
601
+ )}
602
+ );
603
+ word-break: var(
604
+ --_sf-hr-wd-bk,
605
+ #{optionValueTextDefaultVar(
606
+ --_ctm-dn-on-ve-tt-se-wd-bk,
607
+ --_ctm-dn-on-ve-tt-se-dt-se-wd-bk,
608
+ --_ctm-dn-on-ve-se-dt-se-wd-bk
609
+ )}
610
+ );
611
+ font-size: var(
612
+ --_sf-hr-ft-se,
613
+ #{optionValueTextDefaultVar(
614
+ --_ctm-dn-on-ve-tt-se-ft-se,
615
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-se,
616
+ --_ctm-dn-on-ve-se-dt-se-ft-se
617
+ )}
618
+ );
619
+ font-weight: var(
620
+ --_sf-hr-ft-wt,
621
+ #{optionValueTextDefaultVar(
622
+ --_ctm-dn-on-ve-tt-se-ft-wt,
623
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-wt,
624
+ --_ctm-dn-on-ve-se-dt-se-ft-wt
625
+ )}
626
+ );
627
+ font-style: var(
628
+ --_sf-hr-ft-se-ic,
629
+ #{optionValueTextDefaultVar(
630
+ --_ctm-dn-on-ve-tt-se-ft-se-ic,
631
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-se-ic,
632
+ --_ctm-dn-on-ve-se-dt-se-ft-se-ic
633
+ )}
634
+ );
635
+ text-align: var(
636
+ --_sf-hr-tt-an,
637
+ #{optionValueTextDefaultVar(
638
+ --_ctm-dn-on-ve-tt-se-tt-an,
639
+ --_ctm-dn-on-ve-tt-se-dt-se-tt-an,
640
+ --_ctm-dn-on-ve-se-dt-se-tt-an
641
+ )}
642
+ );
643
+ letter-spacing: var(
644
+ --_sf-hr-lr-sg,
645
+ #{optionValueTextDefaultVar(
646
+ --_ctm-dn-on-ve-tt-se-lr-sg,
647
+ --_ctm-dn-on-ve-tt-se-dt-se-lr-sg,
648
+ --_ctm-dn-on-ve-se-dt-se-lr-sg
649
+ )}
650
+ );
651
+ // The pre-split key is `le-ht-dc`; the new section is read under both spellings
652
+ // so whichever one the converter writes resolves.
653
+ line-height: var(
654
+ --_sf-hr-le-ht,
655
+ prepareMediaVariable(
656
+ --_ctm-dn-on-ve-tt-se-dt-se-le-ht,
657
+ #{optionValueTextDefaultVar(
658
+ --_ctm-dn-on-ve-tt-se-le-ht-dc,
659
+ --_ctm-dn-on-ve-tt-se-dt-se-le-ht-dc,
660
+ --_ctm-dn-on-ve-se-dt-se-le-ht-dc
661
+ )}
662
+ )
663
+ );
664
+ text-decoration: var(
665
+ --_sf-hr-ue,
666
+ #{optionValueTextDefaultVar(
667
+ --_ctm-dn-on-ve-tt-se-ue,
668
+ --_ctm-dn-on-ve-tt-se-dt-se-ue,
669
+ --_ctm-dn-on-ve-se-dt-se-ue
670
+ )}
671
+ );
672
+ // The swatch item is a fixed box (Swatch Item Size), so a value like "Small"
673
+ // broke onto a second line inside it. Keep it on one line.
674
+ white-space: nowrap;
675
+ }
676
+ &.disabled {
677
+ color: #aaa;
678
+ background-color: #f9f9f9;
679
+ border-color: #ddd;
680
+ cursor: not-allowed;
681
+ opacity: 0.3;
682
+ overflow: hidden;
683
+ position: relative;
684
+ }
685
+
686
+ .cross-line {
687
+ position: absolute;
688
+ inset: 0;
689
+ background-color: #cccccc;
690
+ clip-path: polygon(100% 0, 100% 1px, 0 100%, 0 96%);
691
+ pointer-events: none;
692
+ }
693
+ }
694
+
695
+ // .disabled {
696
+ // cursor: not-allowed;
697
+ // opacity: 0.4;
698
+
699
+ // &[data-swatch-type="Swatch image"] {
700
+ // position: relative;
701
+ // overflow: hidden;
702
+ // &::after {
703
+ // content: "";
704
+ // width: 172%;
705
+ // height: 1px;
706
+ // position: absolute;
707
+ // background: #f00;
708
+ // left: -14px;
709
+ // transform: rotate(48deg);
710
+ // /* -webkit-transform: rotate(48deg); */
711
+ // -moz-transform: rotate(48deg);
712
+ // top: 14px;
713
+ // box-shadow: 2px 0 5px rgba(255, 255, 255, 1);
714
+ // }
715
+ // &::before {
716
+ // content: "";
717
+ // width: 164%;
718
+ // height: 1px;
719
+ // position: absolute;
720
+ // background: #f00;
721
+ // left: -14px;
722
+ // transform: rotate(-48deg);
723
+ // -webkit-transform: rotate(-48deg);
724
+ // -moz-transform: rotate(-48deg);
725
+ // top: 14px;
726
+ // box-shadow: 2px 0 5px rgba(255, 255, 255, 1);
727
+ // }
728
+ // }
729
+ // }
730
+
731
+ .option__value__text {
732
+ color: var(
733
+ --_sf-hr-cr,
734
+ #{optionValueTextDefaultVar(
735
+ --_ctm-dn-on-ve-tt-se-cr,
736
+ --_ctm-dn-on-ve-tt-se-dt-se-cr,
737
+ --_ctm-dn-on-ve-se-dt-se-cr
738
+ )}
739
+ );
740
+ font-family: var(
741
+ --_sf-hr-ft-fy,
742
+ #{optionValueTextDefaultVar(
743
+ --_ctm-dn-on-ve-tt-se-ft-fy,
744
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-fy,
745
+ --_ctm-dn-on-ve-se-dt-se-ft-fy
746
+ )}
747
+ );
748
+ text-transform: var(
749
+ --_sf-hr-tt-tm,
750
+ #{optionValueTextDefaultVar(
751
+ --_ctm-dn-on-ve-tt-se-tt-tm,
752
+ --_ctm-dn-on-ve-tt-se-dt-se-tt-tm,
753
+ --_ctm-dn-on-ve-se-dt-se-tt-tm
754
+ )}
755
+ );
756
+ word-wrap: var(
757
+ --_sf-hr-wd-wp,
758
+ #{optionValueTextDefaultVar(
759
+ --_ctm-dn-on-ve-tt-se-wd-wp,
760
+ --_ctm-dn-on-ve-tt-se-dt-se-wd-wp,
761
+ --_ctm-dn-on-ve-se-dt-se-wd-wp
762
+ )}
763
+ );
764
+ word-break: var(
765
+ --_sf-hr-wd-bk,
766
+ #{optionValueTextDefaultVar(
767
+ --_ctm-dn-on-ve-tt-se-wd-bk,
768
+ --_ctm-dn-on-ve-tt-se-dt-se-wd-bk,
769
+ --_ctm-dn-on-ve-se-dt-se-wd-bk
770
+ )}
771
+ );
772
+ font-size: var(
773
+ --_sf-hr-ft-se,
774
+ #{optionValueTextDefaultVar(
775
+ --_ctm-dn-on-ve-tt-se-ft-se,
776
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-se,
777
+ --_ctm-dn-on-ve-se-dt-se-ft-se
778
+ )}
779
+ );
780
+ font-weight: var(
781
+ --_sf-hr-ft-wt,
782
+ #{optionValueTextDefaultVar(
783
+ --_ctm-dn-on-ve-tt-se-ft-wt,
784
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-wt,
785
+ --_ctm-dn-on-ve-se-dt-se-ft-wt
786
+ )}
787
+ );
788
+ font-style: var(
789
+ --_sf-hr-ft-se-ic,
790
+ #{optionValueTextDefaultVar(
791
+ --_ctm-dn-on-ve-tt-se-ft-se-ic,
792
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-se-ic,
793
+ --_ctm-dn-on-ve-se-dt-se-ft-se-ic
794
+ )}
795
+ );
796
+ text-align: var(
797
+ --_sf-hr-tt-an,
798
+ #{optionValueTextDefaultVar(
799
+ --_ctm-dn-on-ve-tt-se-tt-an,
800
+ --_ctm-dn-on-ve-tt-se-dt-se-tt-an,
801
+ --_ctm-dn-on-ve-se-dt-se-tt-an
802
+ )}
803
+ );
804
+ letter-spacing: var(
805
+ --_sf-hr-lr-sg,
806
+ #{optionValueTextDefaultVar(
807
+ --_ctm-dn-on-ve-tt-se-lr-sg,
808
+ --_ctm-dn-on-ve-tt-se-dt-se-lr-sg,
809
+ --_ctm-dn-on-ve-se-dt-se-lr-sg
810
+ )}
811
+ );
812
+ // The pre-split key is `le-ht-dc`; the new section is read under both spellings
813
+ // so whichever one the converter writes resolves.
814
+ line-height: var(
815
+ --_sf-hr-le-ht,
816
+ prepareMediaVariable(
817
+ --_ctm-dn-on-ve-tt-se-dt-se-le-ht,
818
+ #{optionValueTextDefaultVar(
819
+ --_ctm-dn-on-ve-tt-se-le-ht-dc,
820
+ --_ctm-dn-on-ve-tt-se-dt-se-le-ht-dc,
821
+ --_ctm-dn-on-ve-se-dt-se-le-ht-dc
822
+ )}
823
+ )
824
+ );
825
+ text-decoration: var(
826
+ --_sf-hr-ue,
827
+ #{optionValueTextDefaultVar(
828
+ --_ctm-dn-on-ve-tt-se-ue,
829
+ --_ctm-dn-on-ve-tt-se-dt-se-ue,
830
+ --_ctm-dn-on-ve-se-dt-se-ue
831
+ )}
832
+ );
833
+ // The swatch item is a fixed box (Swatch Item Size), so a value like "Small"
834
+ // broke onto a second line inside it. Keep it on one line.
835
+ white-space: nowrap;
836
+ }
837
+
838
+ .product-select-image {
839
+ height: 100%;
840
+ width: 100%;
841
+ object-fit: cover;
842
+ }
843
+ //Dropdown
844
+ .est__dropdown__main {
845
+ position: relative;
846
+ width: 100%;
847
+ display: flex;
848
+ flex-direction: column;
849
+ gap: var(
850
+ --_ctm-mob-lt-on-te-ve-sg,
851
+ var(
852
+ --_ctm-tab-lt-on-te-ve-sg,
853
+ var(--_ctm-lt-on-te-ve-sg, var(--_ctm-lt-dn-dy-se-on-ad-lt-sg))
854
+ )
855
+ );
856
+ padding: var(
857
+ --_ctm-mob-lt-dn-dy-se-dn-os-pg,
858
+ var(--_ctm-tab-lt-dn-dy-se-dn-os-pg, var(--_ctm-lt-dn-dy-se-dn-os-pg))
859
+ );
860
+ margin-top: 10px;
861
+
862
+ label {
863
+ font-size: var(
864
+ --_ctm-mob-dn-on-te-ft-se,
865
+ var(--_ctm-tab-dn-on-te-ft-se, var(--_ctm-dn-on-te-ft-se))
866
+ );
867
+ font-family: var(
868
+ --_ctm-mob-dn-on-te-ft-fy,
869
+ var(--_ctm-tab-dn-on-te-ft-fy, var(--_ctm-dn-on-te-ft-fy))
870
+ );
871
+ text-transform: var(
872
+ --_ctm-mob-dn-on-te-tt-tm,
873
+ var(--_ctm-tab-dn-on-te-tt-tm, var(--_ctm-dn-on-te-tt-tm))
874
+ );
875
+ word-wrap: var(
876
+ --_ctm-mob-dn-on-te-wd-wp,
877
+ var(--_ctm-tab-dn-on-te-wd-wp, var(--_ctm-dn-on-te-wd-wp))
878
+ );
879
+ word-break: var(
880
+ --_ctm-mob-dn-on-te-wd-bk,
881
+ var(--_ctm-tab-dn-on-te-wd-bk, var(--_ctm-dn-on-te-wd-bk))
882
+ );
883
+ &.flex__overflow {
884
+ white-space: normal;
885
+ @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
886
+ }
887
+ color: var(
888
+ --_ctm-mob-dn-on-te-cr,
889
+ var(--_ctm-tab-dn-on-te-cr, var(--_gray-700, var(--_ctm-dn-on-te-cr)))
890
+ );
891
+ font-weight: var(
892
+ --_ctm-mob-dn-on-te-ft-wt,
893
+ var(--_ctm-tab-dn-on-te-ft-wt, var(--_ctm-dn-on-te-ft-wt))
894
+ );
895
+ text-decoration: var(
896
+ --_ctm-mob-dn-on-te-ue,
897
+ var(--_ctm-tab-dn-on-te-ue, var(--_ctm-dn-on-te-ue))
898
+ );
899
+ letter-spacing: var(
900
+ --_ctm-mob-dn-on-te-lr-sg,
901
+ var(--_ctm-tab-dn-on-te-lr-sg, var(--_ctm-dn-on-te-lr-sg))
902
+ );
903
+ text-align: var(
904
+ --_ctm-mob-dn-on-te-tt-an,
905
+ var(--_ctm-tab-dn-on-te-tt-an, var(--_ctm-dn-on-te-tt-an))
906
+ );
907
+ line-height: var(
908
+ --_ctm-mob-dn-on-te-le-ht,
909
+ var(--_ctm-tab-dn-on-te-le-ht, var(--_ctm-dn-on-te-le-ht))
910
+ );
911
+ display: block;
912
+ }
913
+
914
+ .est__dropdown {
915
+ cursor: pointer;
916
+ position: relative;
917
+ color: var(--_gray-700);
918
+
919
+ border-radius: 6px;
920
+ background-color: #fff;
921
+ display: flex;
922
+ justify-content: space-between;
923
+ align-items: center;
924
+ width: 100%;
925
+ .value__selected {
926
+ width: 100%;
927
+ }
928
+
929
+ &.open .list {
930
+ display: none;
931
+ margin-top: var(
932
+ --_ctm-mob-lt-dn-dy-se-on-ad-lt-sg,
933
+ var(--_ctm-tab-lt-dn-dy-se-on-ad-lt-sg, var(--_ctm-lt-dn-dy-se-on-ad-lt-sg))
934
+ );
935
+ gap: var(
936
+ --_ctm-mob-lt-dn-dy-se-dn-lt-im-sg,
937
+ var(--_ctm-tab-lt-dn-dy-se-dn-lt-im-sg, var(--_ctm-lt-dn-dy-se-dn-lt-im-sg))
938
+ );
939
+ background-color: var(
940
+ --_ctm-mob-dn-dn-se-bd-cr,
941
+ var(--_ctm-tab-dn-dn-se-bd-cr, var(--_ctm-dn-dn-se-bd-cr))
942
+ );
943
+ }
944
+
945
+ .list {
946
+ display: flex !important;
947
+ flex-direction: column;
948
+ gap: var(
949
+ --_ctm-mob-lt-dn-dy-se-dn-lt-im-sg,
950
+ var(--_ctm-tab-lt-dn-dy-se-dn-lt-im-sg, var(--_ctm-lt-dn-dy-se-dn-lt-im-sg))
951
+ );
952
+ border: var(
953
+ --_ctm-mob-dn-dn-se-br-wh,
954
+ var(--_ctm-tab-dn-dn-se-br-wh, var(--_ctm-dn-dn-se-br-wh))
955
+ )
956
+ var(
957
+ --_ctm-mob-dn-dn-se-br-se,
958
+ var(--_ctm-tab-dn-dn-se-br-se, var(--_ctm-dn-dn-se-br-se))
959
+ )
960
+ var(
961
+ --_gray-200,
962
+ var(
963
+ --_ctm-mob-dn-dn-se-br-cr,
964
+ var(--_ctm-tab-dn-dn-se-br-cr, var(--_ctm-dn-dn-se-br-cr))
965
+ )
966
+ );
967
+ border-radius: var(
968
+ --_ctm-mob-dn-dn-se-br-rs,
969
+ var(--_ctm-tab-dn-dn-se-br-rs, var(--_ctm-dn-dn-se-br-rs))
970
+ );
971
+ box-shadow: var(
972
+ --_show-shadow-dn-se,
973
+ var(
974
+ --_ctm-mob-dn-dn-se-sw-ae,
975
+ var(--_ctm-tab-dn-dn-se-sw-ae, var(--_ctm-dn-dn-se-sw-ae, var(--_tst-dn-sw-ae)))
976
+ )
977
+ var(
978
+ --_ctm-mob-dn-dn-se-sw-br,
979
+ var(--_ctm-tab-dn-dn-se-sw-br, var(--_ctm-dn-dn-se-sw-br, var(--_tst-dn-sw-br)))
980
+ )
981
+ var(
982
+ --_ctm-mob-dn-dn-se-sw-sd,
983
+ var(--_ctm-tab-dn-dn-se-sw-sd, var(--_ctm-dn-dn-se-sw-sd, var(--_tst-dn-sw-sd)))
984
+ )
985
+ var(
986
+ --_ctm-mob-dn-dn-se-sw-cr,
987
+ var(--_ctm-tab-dn-dn-se-sw-cr, var(--_ctm-dn-dn-se-sw-cr, var(--_tst-dn-sw-cr)))
988
+ )
989
+ );
990
+ position: absolute;
991
+ top: 100%;
992
+ left: 0;
993
+ width: 100%;
994
+ background-color: var(
995
+ --_ctm-mob-dn-dn-se-bd-cr,
996
+ var(--_ctm-tab-dn-dn-se-bd-cr, var(--_ctm-dn-dn-se-bd-cr))
997
+ );
998
+ border-radius: 4px;
999
+ z-index: var(--_higher-zIndex);
1000
+ max-height: 200px;
1001
+ overflow-y: auto;
1002
+
1003
+ &.top {
1004
+ bottom: 100%;
1005
+ top: auto;
1006
+ }
1007
+
1008
+ .list__option {
1009
+ padding: var(
1010
+ --_ctm-mob-lt-dn-dy-se-dn-lt-im-pg,
1011
+ var(--_ctm-tab-lt-dn-dy-se-dn-lt-im-pg, var(--_ctm-lt-dn-dy-se-dn-lt-im-pg))
1012
+ );
1013
+ cursor: pointer;
1014
+
1015
+ &:hover {
1016
+ background-color: var(--_primary-25);
1017
+ color: var(--_primary-400);
1018
+ }
1019
+
1020
+ &.disabled {
1021
+ cursor: not-allowed;
1022
+ opacity: 0.4;
1023
+ }
1024
+ }
1025
+ }
1026
+ }
1027
+ }
1028
+
1029
+ // variant dropdown selection
1030
+ .var__drop__selection {
1031
+ display: flex;
1032
+ width: 100%;
1033
+ gap: var(
1034
+ --_ctm-mob-lt-dn-dy-se-dn-lt-im-sg,
1035
+ var(
1036
+ --_ctm-tab-lt-dn-dy-se-dn-lt-im-sg,
1037
+ var(--_ctm-lt-dn-dy-se-dn-lt-im-sg, var(--_ctm-lt-im-sg))
1038
+ )
1039
+ );
1040
+
1041
+ flex-direction: row;
1042
+ &[data-dropdown-style="Vertical List"] {
1043
+ flex-direction: column;
1044
+ gap: var(--_ctm-mob-lt-im-sg, var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg)));
1045
+ }
1046
+ .dropdown_wrapper {
1047
+ position: relative;
1048
+ &[data-show-divider="true"] {
1049
+ &:not(:last-child)::after {
1050
+ content: "";
1051
+ position: relative;
1052
+ background-color: #000;
1053
+ height: 1px;
1054
+ width: 100%;
1055
+ display: flex;
1056
+ top: calc(
1057
+ calc(
1058
+ var(--_ctm-mob-lt-im-sg, var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg))) + 8px
1059
+ ) /
1060
+ 2
1061
+ );
1062
+ }
1063
+ }
1064
+
1065
+ &[data-show-item-divider="true"] {
1066
+ .est__dropdown__main {
1067
+ .est__dropdown {
1068
+ .list {
1069
+ :not(:last-child).list__option {
1070
+ &::after {
1071
+ content: "";
1072
+ position: relative;
1073
+ background-color: #000;
1074
+ height: 1px;
1075
+ width: 100%;
1076
+ display: flex;
1077
+ top: calc(
1078
+ var(
1079
+ --_ctm-mob-lt-dn-dy-se-dn-lt-im-sg,
1080
+ var(
1081
+ --_ctm-tab-lt-dn-dy-se-dn-lt-im-sg,
1082
+ var(--_ctm-lt-dn-dy-se-dn-lt-im-sg)
1083
+ )
1084
+ ) /
1085
+ 2
1086
+ );
1087
+ }
1088
+ }
1089
+ }
1090
+ }
1091
+ }
1092
+ }
1093
+ }
1094
+ & > div {
1095
+ width: 100%;
1096
+ }
1097
+ }
1098
+ .embla {
1099
+ width: 100%;
1100
+ height: 100%;
1101
+ position: relative;
1102
+ display: flex;
1103
+ flex-direction: column;
1104
+
1105
+ // overflow: hidden;
1106
+
1107
+ .embla__viewport {
1108
+ width: 100%;
1109
+ height: 100%;
1110
+ position: relative;
1111
+ display: flex;
1112
+ flex-direction: column;
1113
+
1114
+ overflow: hidden;
1115
+
1116
+ .embla__container {
1117
+ width: 100%;
1118
+ height: 100%;
1119
+ display: flex;
1120
+ grid-template-rows: 100%;
1121
+ // grid-template-columns: 100%;
1122
+ // grid-template-columns: repeat(
1123
+ // var(--_ctm-lt-is-pr-se),
1124
+ // calc(100% / var(--_ctm-lt-is-pr-se))
1125
+ // );
1126
+ // grid-auto-flow: column;
1127
+ gap: var(--_ctm-mob-lt-sh-im-sg, var(--_ctm-tab-lt-sh-im-sg, var(--_ctm-lt-sh-im-sg)));
1128
+
1129
+ &[data-control-type="Bottom"][data-slider-control="Arrows"] {
1130
+ height: calc(
1131
+ 100% - calc(
1132
+ var(
1133
+ --_ctm-mob-dn-pn-as-aw-se,
1134
+ var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1135
+ ) +
1136
+ 8px
1137
+ )
1138
+ );
1139
+ }
1140
+ &[data-control-type="Bottom"][data-slider-control="Pagination Line"] {
1141
+ height: calc(
1142
+ 100% - calc(
1143
+ var(
1144
+ --_ctm-mob-dn-pn-le-le-ht,
1145
+ var(--_ctm-tab-dn-pn-le-le-ht, var(--_ctm-dn-pn-le-le-ht))
1146
+ ) +
1147
+ 20px
1148
+ )
1149
+ );
1150
+ }
1151
+ &[data-control-type="Bottom"][data-slider-control="Dots"] {
1152
+ height: calc(
1153
+ 100% - calc(
1154
+ var(
1155
+ --_ctm-mob-dn-pn-ds-dt-se,
1156
+ var(--_ctm-tab-dn-pn-ds-dt-se, var(--_ctm-dn-pn-ds-dt-se))
1157
+ ) +
1158
+ 20px
1159
+ )
1160
+ );
1161
+ }
1162
+
1163
+ .embla__slide {
1164
+ // width: 100%;
1165
+ height: 100%;
1166
+ }
1167
+ }
1168
+ }
1169
+
1170
+ .arrow-navigation {
1171
+ display: flex;
1172
+ position: absolute;
1173
+ top: 50%;
1174
+ left: 50%;
1175
+ width: 100%;
1176
+ justify-content: space-between;
1177
+ transform: translate(-50%, -50%);
1178
+ // padding-left: 20px;
1179
+ &[data-control-type="Side"] {
1180
+ .left-button,
1181
+ .right-button {
1182
+ background-color: transparent;
1183
+ }
1184
+ }
1185
+ &[data-background-shape="Round"] {
1186
+ .left-button,
1187
+ .right-button {
1188
+ background-color: #f2f5f5;
1189
+ box-sizing: 0 4px 8px rgba(0, 0, 0, 0.1);
1190
+ }
1191
+ }
1192
+ &[data-control-type="Bottom-Overflow"] {
1193
+ transform: translateX(-50%);
1194
+ width: 100%;
1195
+ justify-content: center;
1196
+ gap: 12px;
1197
+ top: unset;
1198
+ bottom: 6px;
1199
+ }
1200
+ &[data-control-type="Bottom"] {
1201
+ transform: unset;
1202
+ position: static;
1203
+ width: 100%;
1204
+ justify-content: center;
1205
+ gap: 12px;
1206
+ margin-top: 10px;
1207
+ }
1208
+ .left-button {
1209
+ padding: 10px;
1210
+ border-radius: 50%;
1211
+ border: none;
1212
+ width: var(
1213
+ --_ctm-mob-dn-pn-as-aw-se,
1214
+ var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1215
+ );
1216
+ height: var(
1217
+ --_ctm-mob-dn-pn-as-aw-se,
1218
+ var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1219
+ );
1220
+
1221
+ display: flex;
1222
+ align-items: center;
1223
+ justify-content: center;
1224
+ cursor: pointer;
1225
+ outline: none;
1226
+ margin-left: 12px;
1227
+ &:disabled {
1228
+ & svg {
1229
+ path {
1230
+ stroke: rgb(192, 192, 192);
1231
+ }
1232
+ }
1233
+ }
1234
+ }
1235
+ .right-button {
1236
+ border-radius: 50%;
1237
+ border: none;
1238
+ width: var(
1239
+ --_ctm-mob-dn-pn-as-aw-se,
1240
+ var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1241
+ );
1242
+ height: var(
1243
+ --_ctm-mob-dn-pn-as-aw-se,
1244
+ var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1245
+ );
1246
+
1247
+ display: flex;
1248
+ align-items: center;
1249
+ justify-content: center;
1250
+ cursor: pointer;
1251
+ outline: none;
1252
+ margin-right: 12px;
1253
+ padding: 10px;
1254
+
1255
+ &:disabled {
1256
+ & svg {
1257
+ path {
1258
+ stroke: rgb(192, 192, 192);
1259
+ }
1260
+ }
1261
+ }
1262
+ }
1263
+ .icon {
1264
+ display: flex;
1265
+ svg {
1266
+ width: calc(
1267
+ var(
1268
+ --_ctm-mob-dn-pn-as-aw-se,
1269
+ var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1270
+ ) *
1271
+ 0.5
1272
+ );
1273
+ height: calc(
1274
+ var(
1275
+ --_ctm-mob-dn-pn-as-aw-se,
1276
+ var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
1277
+ ) *
1278
+ 0.5
1279
+ );
1280
+ path {
1281
+ stroke: var(
1282
+ --_ctm-mob-dn-pn-as-aw-cr,
1283
+ var(--_ctm-tab-dn-pn-as-aw-cr, var(--_ctm-dn-pn-as-aw-cr))
1284
+ );
1285
+ }
1286
+ }
1287
+ }
1288
+ }
1289
+
1290
+ &[data-thumbnail-placement="top"] {
1291
+ flex-direction: column-reverse;
1292
+ }
1293
+ &[data-thumbnail-placement="bottom"] {
1294
+ flex-direction: column;
1295
+ }
1296
+ &[data-thumbnail-placement="left"] {
1297
+ flex-direction: row-reverse;
1298
+
1299
+ .embla__thumbs {
1300
+ width: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1301
+
1302
+ height: 100%;
1303
+
1304
+ & .embla__thumbs__container {
1305
+ flex-direction: column;
1306
+ height: 100%;
1307
+ }
1308
+ }
1309
+ }
1310
+ &[data-thumbnail-placement="right"] {
1311
+ flex-direction: row;
1312
+ .embla__thumbs {
1313
+ width: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1314
+
1315
+ height: 100%;
1316
+
1317
+ & .embla__thumbs__container {
1318
+ flex-direction: column;
1319
+ height: 100%;
1320
+ }
1321
+ }
1322
+ }
1323
+ &[data-control-type="Side"] {
1324
+ display: flex;
1325
+ align-self: center;
1326
+ flex-direction: row;
1327
+ .left-button:disabled,
1328
+ .right-button:disabled {
1329
+ display: none;
1330
+ }
1331
+ }
1332
+ .embla__dots {
1333
+ display: flex;
1334
+ flex-wrap: wrap;
1335
+ justify-content: center;
1336
+ align-items: center;
1337
+ margin-right: calc((2.6rem - 1.4rem) / 2 * -1);
1338
+ gap: 6px;
1339
+ margin-top: 16px;
1340
+
1341
+ &[data-control-type="Bottom-Overflow"] {
1342
+ position: absolute;
1343
+ bottom: 10px;
1344
+ left: 50%;
1345
+ transform: translateX(-50%);
1346
+ width: 75%;
1347
+ }
1348
+ .embla__dot {
1349
+ -webkit-tap-highlight-color: rgba(var(--text-high-contrast-rgb-value), 0.5);
1350
+ -webkit-appearance: none;
1351
+ appearance: none;
1352
+ background-color: var(--_ctm-dn-pn-ds-or-dt-cr, var(--_tst-dn-pn-ds-or-dt-cr));
1353
+ touch-action: manipulation;
1354
+ display: inline-flex;
1355
+ text-decoration: none;
1356
+ cursor: pointer;
1357
+ border: 0;
1358
+ padding: 0;
1359
+ margin: 0;
1360
+ // width: 0.6rem;
1361
+ // height: 0.6rem;
1362
+ width: var(--_ctm-dn-pn-ds-dt-se, var(--_tst-dn-pn-ds-dt-se));
1363
+ height: var(--_ctm-dn-pn-ds-dt-se, var(--_tst-dn-pn-ds-dt-se));
1364
+ display: flex;
1365
+ align-items: center;
1366
+ justify-content: center;
1367
+ border-radius: 50%;
1368
+ }
1369
+ .embla__dot:after {
1370
+ // box-shadow: inset 0 0 0 0.2rem var(--detail-medium-contrast);
1371
+ width: var(--_ctm-dn-pn-ds-dt-se, var(--_tst-dn-pn-ds-dt-se));
1372
+ height: var(--_ctm-dn-pn-ds-dt-se, var(--_tst-dn-pn-ds-dt-se));
1373
+ border-radius: 50%;
1374
+ display: flex;
1375
+ align-items: center;
1376
+ content: "";
1377
+ }
1378
+ .embla__dot--selected:after {
1379
+ box-shadow: inset 0 0 0 1px var(--text-body);
1380
+ background-color: var(--_ctm-dn-pn-ds-ct-dt-cr, var(--_tst-dn-pn-ds-ct-dt-cr));
1381
+ }
1382
+ &[data-slider-control="Pagination Line"] {
1383
+ .embla__dot {
1384
+ width: var(--_ctm-dn-pn-le-le-wh, var(--_ctm-dn-pn-le-le-wh));
1385
+ height: var(--_ctm-dn-pn-le-le-ht, var(--_tst-dn-pn-le-le-ht));
1386
+ background-color: var(--_ctm-dn-pn-le-or-le-cr, var(--_ctm-dn-pn-le-or-le-cr));
1387
+
1388
+ border-radius: 6px;
1389
+ }
1390
+ .embla__dot--selected:after {
1391
+ box-shadow: inset 0 0 0 1px var(--text-body);
1392
+ border-radius: 6px;
1393
+ width: var(--_ctm-dn-pn-le-le-wh, var(--_ctm-dn-pn-le-le-wh));
1394
+ height: var(--_ctm-dn-pn-le-le-ht, var(--_tst-dn-pn-le-le-ht));
1395
+ // background-color: #fff;
1396
+ background-color: var(--_ctm-dn-pn-le-ct-le-cr, var(--_tst-dn-pn-le-ct-le-cr));
1397
+ }
1398
+ }
1399
+ }
1400
+
1401
+ .embla__thumbs {
1402
+ width: 100%;
1403
+ height: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1404
+
1405
+ position: relative;
1406
+ display: grid;
1407
+ grid-template-columns: 1fr;
1408
+ overflow: hidden;
1409
+ // margin: 10px;
1410
+ padding: 10px;
1411
+
1412
+ .embla__thumbs__viewport {
1413
+ width: 100%;
1414
+ height: 100%;
1415
+ position: relative;
1416
+ display: flex;
1417
+ flex-direction: column;
1418
+
1419
+ overflow: hidden;
1420
+ }
1421
+ .embla__thumbs__container {
1422
+ display: flex;
1423
+ flex-direction: row;
1424
+ margin-left: calc(var(--thumbs-slide-spacing) * -1);
1425
+ gap: var(--_ctm-lt-tl-sg);
1426
+ width: 100%;
1427
+ // justify-content: center;
1428
+ // height: 200px;
1429
+
1430
+ .embla__thumbs__slide {
1431
+ min-width: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1432
+ max-width: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1433
+ height: var(--_ctm-mob-lt-tl-se, var(--_ctm-tab-lt-tl-se, var(--_ctm-lt-tl-se)));
1434
+ & img {
1435
+ width: 100%;
1436
+ height: 100%;
1437
+ }
1438
+ }
1439
+ }
1440
+ }
1441
+ }
1442
+ }
1443
+ }
1444
+ }