@sc-360-v2/storefront-cms-library 0.4.57 → 0.4.59

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 (149) hide show
  1. package/dist/add-existing-form.scss +66 -66
  2. package/dist/add-order.scss +377 -377
  3. package/dist/add-products-tab copy.scss +1132 -1132
  4. package/dist/allocationDetails.scss +3 -0
  5. package/dist/allocations.scss +1603 -1603
  6. package/dist/amount-estimator.scss +1083 -1083
  7. package/dist/animation-control.scss +23 -23
  8. package/dist/badge.scss +388 -388
  9. package/dist/brand-basic-elements.scss +292 -292
  10. package/dist/brand.scss +93 -93
  11. package/dist/breadcrumbs.scss +802 -802
  12. package/dist/bulk-order-pad.scss +677 -677
  13. package/dist/bulk-variant-picker copy.scss +1121 -1121
  14. package/dist/bulk-variant-picker.scss +3294 -3294
  15. package/dist/bundle copy.scss +2805 -2805
  16. package/dist/bundle.scss +2383 -2383
  17. package/dist/bundleDetails copy.scss +1431 -1431
  18. package/dist/button copy.scss +271 -271
  19. package/dist/button.scss +292 -292
  20. package/dist/buy-for-tab-container.scss +90 -90
  21. package/dist/buy-for-tabs-container-item.scss +80 -80
  22. package/dist/buyForHeaders.scss +6718 -6718
  23. package/dist/cart-products-sidebar.scss +211 -211
  24. package/dist/cart-summary.scss +2728 -2728
  25. package/dist/cart-wrapper.scss +127 -127
  26. package/dist/cartGrouping.scss +89 -89
  27. package/dist/category-groups-element.scss +138 -138
  28. package/dist/category.scss +73 -73
  29. package/dist/categoryDetails.scss +61 -61
  30. package/dist/categoryWidget.scss +34 -34
  31. package/dist/checkbox-radio.scss +124 -124
  32. package/dist/code-temp.scss +58 -58
  33. package/dist/colorpicker_v2.scss +52 -52
  34. package/dist/common-element.scss +35 -35
  35. package/dist/confirm-modal.scss +351 -351
  36. package/dist/confirmationModal.scss +139 -139
  37. package/dist/container.scss +114 -114
  38. package/dist/countdown.scss +751 -751
  39. package/dist/coupon.scss +1254 -1254
  40. package/dist/custom-fonts.scss +100 -100
  41. package/dist/customization-tree.scss +160 -160
  42. package/dist/default-dropdown.scss +240 -240
  43. package/dist/editCartItem.scss +111 -111
  44. package/dist/embed-temp.scss +72 -72
  45. package/dist/embroider-preview-element.scss +94 -94
  46. package/dist/embroider-template-1-v2.scss +937 -937
  47. package/dist/embroider-template-1.scss +482 -482
  48. package/dist/embroidery.scss +213 -213
  49. package/dist/employee-bulk-order.scss +4057 -4057
  50. package/dist/emtpy-templates.scss +165 -165
  51. package/dist/faq.scss +564 -564
  52. package/dist/fb-dropdown.scss +125 -125
  53. package/dist/filter-results.scss +323 -323
  54. package/dist/flex-text-editor.scss +271 -271
  55. package/dist/form-preview.scss +290 -290
  56. package/dist/form-zindex-module.scss +24 -24
  57. package/dist/gallery-slider-temp.scss +1234 -1234
  58. package/dist/global-styles.scss +86 -86
  59. package/dist/grid.scss +119 -119
  60. package/dist/hotspot.scss +397 -397
  61. package/dist/icon-library.scss +74 -74
  62. package/dist/image-for-product.scss +21 -21
  63. package/dist/image-temp.scss +168 -168
  64. package/dist/item-stock.scss +87 -87
  65. package/dist/layouter-item.scss +89 -89
  66. package/dist/layouter-pro-item.scss +80 -80
  67. package/dist/layouter-pro.scss +88 -88
  68. package/dist/light-box-v2.scss +105 -105
  69. package/dist/lightbox.scss +78 -78
  70. package/dist/line.scss +166 -166
  71. package/dist/loader.scss +37 -37
  72. package/dist/map.scss +962 -962
  73. package/dist/marchandiserSets.scss +60 -60
  74. package/dist/mega-menu-container.scss +99 -99
  75. package/dist/mega-menu.scss +838 -838
  76. package/dist/menu-item.scss +19 -19
  77. package/dist/menu.scss +162 -162
  78. package/dist/modal.scss +2267 -2267
  79. package/dist/multi-select-dropdown.scss +282 -282
  80. package/dist/my-wishlist.scss +17 -17
  81. package/dist/option-bar.scss +845 -845
  82. package/dist/order-processing.scss +61 -61
  83. package/dist/overflow-module.scss +63 -63
  84. package/dist/past-orders.scss +975 -975
  85. package/dist/payment-methods.scss +289 -289
  86. package/dist/pickup-locations.scss +1167 -1167
  87. package/dist/position-module.scss +95 -95
  88. package/dist/prefix-list.scss +86 -86
  89. package/dist/product-actions copy.scss +2765 -2765
  90. package/dist/product-actions.scss +2286 -2286
  91. package/dist/product-basic-elements.scss +770 -770
  92. package/dist/product-customizations.scss +149 -149
  93. package/dist/product-highlights copy.scss +217 -217
  94. package/dist/product-highlights.scss +311 -311
  95. package/dist/product-image copy.scss +787 -787
  96. package/dist/product-image-allocation.scss +3 -0
  97. package/dist/product-inventory.scss +1378 -1378
  98. package/dist/product-options.scss +1144 -1144
  99. package/dist/product-price.scss +2598 -2598
  100. package/dist/product-promotions.scss +2759 -2759
  101. package/dist/product.scss +97 -97
  102. package/dist/productDetails.scss +70 -70
  103. package/dist/quick-links.scss +552 -552
  104. package/dist/quick-order-pad.scss +237 -237
  105. package/dist/quota-details.scss +263 -263
  106. package/dist/quotes.scss +737 -737
  107. package/dist/repeater copy.scss +635 -635
  108. package/dist/repeater-grid-toggle.scss +58 -58
  109. package/dist/repeater-item.scss +90 -90
  110. package/dist/request-for-quotes.scss +746 -746
  111. package/dist/responsive-behaviour.scss +29 -29
  112. package/dist/rfqs.scss +736 -736
  113. package/dist/scroll.scss +222 -222
  114. package/dist/search-results-heading.scss +279 -279
  115. package/dist/shareCartSideBar.scss +254 -254
  116. package/dist/shipping-estimator.scss +41 -41
  117. package/dist/shipping-payments.scss +2467 -2467
  118. package/dist/simple-list.scss +259 -259
  119. package/dist/skeleton.scss +74 -74
  120. package/dist/social.scss +276 -276
  121. package/dist/sort.scss +89 -89
  122. package/dist/spotlight.scss +1663 -1663
  123. package/dist/stack.scss +129 -129
  124. package/dist/static-text.scss +52 -52
  125. package/dist/stockStatus.scss +64 -64
  126. package/dist/store-locations.scss +1398 -1398
  127. package/dist/sub-category.scss +74 -74
  128. package/dist/submit-quote.scss +275 -275
  129. package/dist/tab-container-item.scss +80 -80
  130. package/dist/tab-container.scss +89 -89
  131. package/dist/tab-v2.scss +583 -583
  132. package/dist/table-common.scss +506 -506
  133. package/dist/table.scss +685 -685
  134. package/dist/tabs.scss +395 -395
  135. package/dist/text-temp-v2.scss +139 -139
  136. package/dist/text-temp.scss +109 -109
  137. package/dist/toaster.scss +350 -350
  138. package/dist/toggle-button.scss +32 -32
  139. package/dist/transform-properties-module.scss +20 -20
  140. package/dist/uom-selector.scss +1169 -1169
  141. package/dist/user-elements copy.scss +1437 -1437
  142. package/dist/variant-picker.scss +2384 -2384
  143. package/dist/video.scss +476 -476
  144. package/dist/volume-pricing copy 2.scss +1468 -1468
  145. package/dist/volume-pricing copy.scss +1077 -1077
  146. package/dist/volume-pricing.scss +1175 -1175
  147. package/dist/widget.scss +148 -148
  148. package/dist/wishlist-overlay.scss +48 -48
  149. package/package.json +1 -1
@@ -1,240 +1,240 @@
1
- @use "sass:map";
2
- @use "sass:list";
3
- @use "./functions.scss" as *;
4
-
5
- .default__dropdown {
6
- position: relative;
7
- width: 100%;
8
-
9
- .bo-dropdown__container {
10
- padding: 8px 12px;
11
- display: flex;
12
- align-items: center;
13
- align-self: stretch;
14
- justify-content: space-between;
15
- border: 1px solid var(--_gray-300);
16
- border-radius: 4px;
17
- background-color: var(--_base-white);
18
- min-height: 40px;
19
- cursor: pointer;
20
- transition: 0.2s ease;
21
- padding-inline: 12px !important;
22
- // .bod-trigger-left {
23
- // padding-left: 12px;
24
- // }
25
- .bo-dropdown__actions {
26
- // padding-right: 12px;
27
- .bo-dropdown__clear-btn {
28
- span {
29
- display: flex;
30
- }
31
- }
32
- }
33
- .bod-trigger-left {
34
- width: -webkit-fill-available;
35
- }
36
- }
37
-
38
- .bo-dropdown__container--search {
39
- padding: 0;
40
- cursor: text;
41
- }
42
-
43
- .bo-dropdown__container--disabled {
44
- cursor: not-allowed;
45
- opacity: 0.6;
46
- }
47
-
48
- .bo-dropdown__value-wrapper {
49
- flex: 1;
50
- min-width: 0;
51
- }
52
-
53
- .bo-dropdown__placeholder {
54
- color: #9ca3af;
55
- font-size: 14px;
56
- white-space: nowrap;
57
- overflow: hidden;
58
- text-overflow: ellipsis;
59
- }
60
-
61
- .bo-dropdown__selected {
62
- display: flex;
63
- align-items: center;
64
- gap: 8px;
65
- }
66
-
67
- .bo-dropdown__selected-info {
68
- display: flex;
69
- flex-direction: column;
70
- min-width: 0;
71
- }
72
-
73
- .bo-dropdown__selected-name {
74
- font-weight: normal;
75
- color: #111827;
76
- white-space: nowrap;
77
- overflow: hidden;
78
- text-overflow: ellipsis;
79
- }
80
-
81
- .bo-dropdown__selected-code {
82
- font-size: 12px;
83
- color: #6b7280;
84
- white-space: nowrap;
85
- overflow: hidden;
86
- text-overflow: ellipsis;
87
- }
88
-
89
- .bo-dropdown__actions {
90
- display: flex;
91
- align-items: center;
92
- gap: 4px;
93
- flex-shrink: 0;
94
- }
95
-
96
- .bo-dropdown__clear-btn,
97
- .bo-dropdown__toggle-btn {
98
- display: flex;
99
- align-items: center;
100
- justify-content: center;
101
- width: 20px;
102
- height: 20px;
103
- border: none;
104
- background: none;
105
- cursor: pointer;
106
- border-radius: 4px;
107
- }
108
-
109
- .bo-dropdown__chevron {
110
- transition: transform 0.2s ease;
111
- }
112
-
113
- .bo-dropdown__chevron--open {
114
- transform: rotate(180deg);
115
- }
116
-
117
- .bo-dropdown__panel {
118
- position: absolute;
119
- top: 100%;
120
- left: 0;
121
- right: 0;
122
- z-index: 1000;
123
- margin-top: 4px;
124
- background-color: #ffffff;
125
- border: 1px solid #d1d5db;
126
- border-radius: 8px;
127
- box-shadow:
128
- 0 10px 15px -3px rgba(0, 0, 0, 0.1),
129
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
130
- max-height: 320px;
131
- overflow: hidden;
132
- }
133
-
134
- .bo-dropdown__list {
135
- max-height: 240px;
136
- overflow-y: auto;
137
- margin: 0;
138
- padding: 0;
139
- list-style: none;
140
- padding: 4px;
141
- display: flex;
142
- flex-direction: column;
143
- gap: 2px;
144
- }
145
-
146
- .bo-dropdown__option {
147
- display: flex;
148
- align-items: center;
149
- gap: 8px;
150
- padding: 8px 12px;
151
- cursor: pointer;
152
- .variant__img {
153
- border: 1px solid var(--_gray-200);
154
- border-radius: 4px;
155
- overflow: hidden;
156
- display: flex;
157
- justify-content: center;
158
- align-items: center;
159
- img {
160
- max-height: 100%;
161
- max-width: 100%;
162
- }
163
- }
164
- }
165
-
166
- .bo-dropdown__option:last-child {
167
- border-bottom: none;
168
- }
169
-
170
- .bo-dropdown__option--highlighted {
171
- @include BgColorLighter(var(--_thm-cs-at-py), 10%);
172
- color: var(--_thm-cs-at-py);
173
- border-radius: 4px;
174
- }
175
-
176
- .bo-dropdown__option--selected {
177
- // background-color: var(--_base-white);
178
- border-radius: 4px;
179
- @include BgColorLighter(var(--_thm-cs-at-py), 10%);
180
- }
181
-
182
- .bo-dropdown__check {
183
- svg path {
184
- stroke: var(--_thm-cs-at-py);
185
- }
186
- }
187
-
188
- .bo-dropdown__option-text {
189
- flex: 1;
190
- min-width: 0;
191
- }
192
-
193
- .bo-dropdown__option-name {
194
- font-weight: 500;
195
- color: #111827;
196
- font-size: 13px;
197
- line-height: 1.2;
198
- margin-bottom: 1px;
199
- white-space: nowrap;
200
- overflow: hidden;
201
- text-overflow: ellipsis;
202
- }
203
-
204
- .bo-dropdown__option-code {
205
- font-size: 11px;
206
- color: #6b7280;
207
- line-height: 1.2;
208
- white-space: nowrap;
209
- overflow: hidden;
210
- text-overflow: ellipsis;
211
- }
212
-
213
- .bo-dropdown__empty,
214
- .bo-dropdown__loading {
215
- padding: 24px 12px;
216
- text-align: center;
217
- color: #6b7280;
218
- }
219
-
220
- .bo-dropdown__empty-title {
221
- display: block;
222
- font-weight: 500;
223
- margin-bottom: 4px;
224
- }
225
-
226
- .bo-dropdown__empty-sub {
227
- font-size: 12px;
228
- color: #9ca3af;
229
- }
230
-
231
- @keyframes pulse {
232
- 0%,
233
- 100% {
234
- opacity: 0.4;
235
- }
236
- 50% {
237
- opacity: 1;
238
- }
239
- }
240
- }
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+ @use "./functions.scss" as *;
4
+
5
+ .default__dropdown {
6
+ position: relative;
7
+ width: 100%;
8
+
9
+ .bo-dropdown__container {
10
+ padding: 8px 12px;
11
+ display: flex;
12
+ align-items: center;
13
+ align-self: stretch;
14
+ justify-content: space-between;
15
+ border: 1px solid var(--_gray-300);
16
+ border-radius: 4px;
17
+ background-color: var(--_base-white);
18
+ min-height: 40px;
19
+ cursor: pointer;
20
+ transition: 0.2s ease;
21
+ padding-inline: 12px !important;
22
+ // .bod-trigger-left {
23
+ // padding-left: 12px;
24
+ // }
25
+ .bo-dropdown__actions {
26
+ // padding-right: 12px;
27
+ .bo-dropdown__clear-btn {
28
+ span {
29
+ display: flex;
30
+ }
31
+ }
32
+ }
33
+ .bod-trigger-left {
34
+ width: -webkit-fill-available;
35
+ }
36
+ }
37
+
38
+ .bo-dropdown__container--search {
39
+ padding: 0;
40
+ cursor: text;
41
+ }
42
+
43
+ .bo-dropdown__container--disabled {
44
+ cursor: not-allowed;
45
+ opacity: 0.6;
46
+ }
47
+
48
+ .bo-dropdown__value-wrapper {
49
+ flex: 1;
50
+ min-width: 0;
51
+ }
52
+
53
+ .bo-dropdown__placeholder {
54
+ color: #9ca3af;
55
+ font-size: 14px;
56
+ white-space: nowrap;
57
+ overflow: hidden;
58
+ text-overflow: ellipsis;
59
+ }
60
+
61
+ .bo-dropdown__selected {
62
+ display: flex;
63
+ align-items: center;
64
+ gap: 8px;
65
+ }
66
+
67
+ .bo-dropdown__selected-info {
68
+ display: flex;
69
+ flex-direction: column;
70
+ min-width: 0;
71
+ }
72
+
73
+ .bo-dropdown__selected-name {
74
+ font-weight: normal;
75
+ color: #111827;
76
+ white-space: nowrap;
77
+ overflow: hidden;
78
+ text-overflow: ellipsis;
79
+ }
80
+
81
+ .bo-dropdown__selected-code {
82
+ font-size: 12px;
83
+ color: #6b7280;
84
+ white-space: nowrap;
85
+ overflow: hidden;
86
+ text-overflow: ellipsis;
87
+ }
88
+
89
+ .bo-dropdown__actions {
90
+ display: flex;
91
+ align-items: center;
92
+ gap: 4px;
93
+ flex-shrink: 0;
94
+ }
95
+
96
+ .bo-dropdown__clear-btn,
97
+ .bo-dropdown__toggle-btn {
98
+ display: flex;
99
+ align-items: center;
100
+ justify-content: center;
101
+ width: 20px;
102
+ height: 20px;
103
+ border: none;
104
+ background: none;
105
+ cursor: pointer;
106
+ border-radius: 4px;
107
+ }
108
+
109
+ .bo-dropdown__chevron {
110
+ transition: transform 0.2s ease;
111
+ }
112
+
113
+ .bo-dropdown__chevron--open {
114
+ transform: rotate(180deg);
115
+ }
116
+
117
+ .bo-dropdown__panel {
118
+ position: absolute;
119
+ top: 100%;
120
+ left: 0;
121
+ right: 0;
122
+ z-index: 1000;
123
+ margin-top: 4px;
124
+ background-color: #ffffff;
125
+ border: 1px solid #d1d5db;
126
+ border-radius: 8px;
127
+ box-shadow:
128
+ 0 10px 15px -3px rgba(0, 0, 0, 0.1),
129
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05);
130
+ max-height: 320px;
131
+ overflow: hidden;
132
+ }
133
+
134
+ .bo-dropdown__list {
135
+ max-height: 240px;
136
+ overflow-y: auto;
137
+ margin: 0;
138
+ padding: 0;
139
+ list-style: none;
140
+ padding: 4px;
141
+ display: flex;
142
+ flex-direction: column;
143
+ gap: 2px;
144
+ }
145
+
146
+ .bo-dropdown__option {
147
+ display: flex;
148
+ align-items: center;
149
+ gap: 8px;
150
+ padding: 8px 12px;
151
+ cursor: pointer;
152
+ .variant__img {
153
+ border: 1px solid var(--_gray-200);
154
+ border-radius: 4px;
155
+ overflow: hidden;
156
+ display: flex;
157
+ justify-content: center;
158
+ align-items: center;
159
+ img {
160
+ max-height: 100%;
161
+ max-width: 100%;
162
+ }
163
+ }
164
+ }
165
+
166
+ .bo-dropdown__option:last-child {
167
+ border-bottom: none;
168
+ }
169
+
170
+ .bo-dropdown__option--highlighted {
171
+ @include BgColorLighter(var(--_thm-cs-at-py), 10%);
172
+ color: var(--_thm-cs-at-py);
173
+ border-radius: 4px;
174
+ }
175
+
176
+ .bo-dropdown__option--selected {
177
+ // background-color: var(--_base-white);
178
+ border-radius: 4px;
179
+ @include BgColorLighter(var(--_thm-cs-at-py), 10%);
180
+ }
181
+
182
+ .bo-dropdown__check {
183
+ svg path {
184
+ stroke: var(--_thm-cs-at-py);
185
+ }
186
+ }
187
+
188
+ .bo-dropdown__option-text {
189
+ flex: 1;
190
+ min-width: 0;
191
+ }
192
+
193
+ .bo-dropdown__option-name {
194
+ font-weight: 500;
195
+ color: #111827;
196
+ font-size: 13px;
197
+ line-height: 1.2;
198
+ margin-bottom: 1px;
199
+ white-space: nowrap;
200
+ overflow: hidden;
201
+ text-overflow: ellipsis;
202
+ }
203
+
204
+ .bo-dropdown__option-code {
205
+ font-size: 11px;
206
+ color: #6b7280;
207
+ line-height: 1.2;
208
+ white-space: nowrap;
209
+ overflow: hidden;
210
+ text-overflow: ellipsis;
211
+ }
212
+
213
+ .bo-dropdown__empty,
214
+ .bo-dropdown__loading {
215
+ padding: 24px 12px;
216
+ text-align: center;
217
+ color: #6b7280;
218
+ }
219
+
220
+ .bo-dropdown__empty-title {
221
+ display: block;
222
+ font-weight: 500;
223
+ margin-bottom: 4px;
224
+ }
225
+
226
+ .bo-dropdown__empty-sub {
227
+ font-size: 12px;
228
+ color: #9ca3af;
229
+ }
230
+
231
+ @keyframes pulse {
232
+ 0%,
233
+ 100% {
234
+ opacity: 0.4;
235
+ }
236
+ 50% {
237
+ opacity: 1;
238
+ }
239
+ }
240
+ }
@@ -1,111 +1,111 @@
1
- @use "sass:color";
2
-
3
- // Variables
4
- $primary: #222299;
5
- $gray: #ddd;
6
- $text: #333;
7
- $font: "Segoe UI";
8
- $border-radius: 6px;
9
- $spacing: 1rem;
10
-
11
- .variant-selector {
12
- font-family: $font;
13
- padding: $spacing;
14
-
15
- .title {
16
- font-size: 1.5rem;
17
- margin-bottom: $spacing;
18
- }
19
-
20
- .section {
21
- display: flex;
22
- flex-direction: column;
23
- gap: $spacing;
24
-
25
- h3 {
26
- font-size: 1.2rem;
27
- margin-bottom: 0.5rem;
28
- color: $text;
29
- }
30
- }
31
-
32
- .group {
33
- display: flex;
34
- flex-direction: column;
35
- gap: 0.5rem;
36
-
37
- .group-label {
38
- font-weight: 500;
39
- color: $text;
40
- }
41
-
42
- .color-options {
43
- display: flex;
44
- flex-wrap: wrap;
45
- gap: 0.5rem;
46
-
47
- .color-swatch {
48
- width: 32px;
49
- height: 32px;
50
- border-radius: 50%;
51
- border: 2px solid transparent;
52
- cursor: pointer;
53
- transition: border 0.3s;
54
-
55
- &.selected {
56
- border-color: $primary;
57
- }
58
- }
59
- }
60
-
61
- .button-options {
62
- display: flex;
63
- flex-wrap: wrap;
64
- gap: 0.5rem;
65
-
66
- .option-button {
67
- padding: 0.4rem 0.75rem;
68
- border: 1px solid $gray;
69
- background: white;
70
- border-radius: $border-radius;
71
- cursor: pointer;
72
- font-size: 0.95rem;
73
- transition: all 0.3s ease;
74
-
75
- &.selected {
76
- background-color: $primary;
77
- opacity: 0.6;
78
- border-color: $primary;
79
- color: $primary;
80
- font-weight: 600;
81
- }
82
-
83
- &:hover {
84
- border-color: $primary;
85
- }
86
- }
87
-
88
- &.size-options {
89
- .option-button {
90
- min-width: 40px;
91
- text-align: center;
92
- }
93
- }
94
- }
95
- }
96
- }
97
-
98
- // Responsive
99
- @media (max-width: 600px) {
100
- .variant-selector {
101
- .color-options,
102
- .button-options {
103
- gap: 0.4rem;
104
- }
105
-
106
- .option-button {
107
- font-size: 0.85rem;
108
- padding: 0.3rem 0.6rem;
109
- }
110
- }
111
- }
1
+ @use "sass:color";
2
+
3
+ // Variables
4
+ $primary: #222299;
5
+ $gray: #ddd;
6
+ $text: #333;
7
+ $font: "Segoe UI";
8
+ $border-radius: 6px;
9
+ $spacing: 1rem;
10
+
11
+ .variant-selector {
12
+ font-family: $font;
13
+ padding: $spacing;
14
+
15
+ .title {
16
+ font-size: 1.5rem;
17
+ margin-bottom: $spacing;
18
+ }
19
+
20
+ .section {
21
+ display: flex;
22
+ flex-direction: column;
23
+ gap: $spacing;
24
+
25
+ h3 {
26
+ font-size: 1.2rem;
27
+ margin-bottom: 0.5rem;
28
+ color: $text;
29
+ }
30
+ }
31
+
32
+ .group {
33
+ display: flex;
34
+ flex-direction: column;
35
+ gap: 0.5rem;
36
+
37
+ .group-label {
38
+ font-weight: 500;
39
+ color: $text;
40
+ }
41
+
42
+ .color-options {
43
+ display: flex;
44
+ flex-wrap: wrap;
45
+ gap: 0.5rem;
46
+
47
+ .color-swatch {
48
+ width: 32px;
49
+ height: 32px;
50
+ border-radius: 50%;
51
+ border: 2px solid transparent;
52
+ cursor: pointer;
53
+ transition: border 0.3s;
54
+
55
+ &.selected {
56
+ border-color: $primary;
57
+ }
58
+ }
59
+ }
60
+
61
+ .button-options {
62
+ display: flex;
63
+ flex-wrap: wrap;
64
+ gap: 0.5rem;
65
+
66
+ .option-button {
67
+ padding: 0.4rem 0.75rem;
68
+ border: 1px solid $gray;
69
+ background: white;
70
+ border-radius: $border-radius;
71
+ cursor: pointer;
72
+ font-size: 0.95rem;
73
+ transition: all 0.3s ease;
74
+
75
+ &.selected {
76
+ background-color: $primary;
77
+ opacity: 0.6;
78
+ border-color: $primary;
79
+ color: $primary;
80
+ font-weight: 600;
81
+ }
82
+
83
+ &:hover {
84
+ border-color: $primary;
85
+ }
86
+ }
87
+
88
+ &.size-options {
89
+ .option-button {
90
+ min-width: 40px;
91
+ text-align: center;
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+
98
+ // Responsive
99
+ @media (max-width: 600px) {
100
+ .variant-selector {
101
+ .color-options,
102
+ .button-options {
103
+ gap: 0.4rem;
104
+ }
105
+
106
+ .option-button {
107
+ font-size: 0.85rem;
108
+ padding: 0.3rem 0.6rem;
109
+ }
110
+ }
111
+ }