@chinggis.systems/collection-ui 1.0.0

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 (39) hide show
  1. package/README.md +159 -0
  2. package/dist/CollectionRenderer.d.ts +3 -0
  3. package/dist/CollectionRenderer.d.ts.map +1 -0
  4. package/dist/CollectionRenderer.js +293 -0
  5. package/dist/CollectionRenderer.js.map +1 -0
  6. package/dist/createAdapters.d.ts +75 -0
  7. package/dist/createAdapters.d.ts.map +1 -0
  8. package/dist/createAdapters.js +224 -0
  9. package/dist/createAdapters.js.map +1 -0
  10. package/dist/defaultAdapters.d.ts +8 -0
  11. package/dist/defaultAdapters.d.ts.map +1 -0
  12. package/dist/defaultAdapters.js +9 -0
  13. package/dist/defaultAdapters.js.map +1 -0
  14. package/dist/index.d.ts +12 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +7 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/layoutPresets.d.ts +19 -0
  19. package/dist/layoutPresets.d.ts.map +1 -0
  20. package/dist/layoutPresets.js +130 -0
  21. package/dist/layoutPresets.js.map +1 -0
  22. package/dist/primitives/BookSpine.d.ts +12 -0
  23. package/dist/primitives/BookSpine.d.ts.map +1 -0
  24. package/dist/primitives/BookSpine.js +11 -0
  25. package/dist/primitives/BookSpine.js.map +1 -0
  26. package/dist/primitives/CollectionCarousel.d.ts +4 -0
  27. package/dist/primitives/CollectionCarousel.d.ts.map +1 -0
  28. package/dist/primitives/CollectionCarousel.js +14 -0
  29. package/dist/primitives/CollectionCarousel.js.map +1 -0
  30. package/dist/styles.css +773 -0
  31. package/dist/types.d.ts +142 -0
  32. package/dist/types.d.ts.map +1 -0
  33. package/dist/types.js +2 -0
  34. package/dist/types.js.map +1 -0
  35. package/dist/utils.d.ts +9 -0
  36. package/dist/utils.d.ts.map +1 -0
  37. package/dist/utils.js +27 -0
  38. package/dist/utils.js.map +1 -0
  39. package/package.json +41 -0
@@ -0,0 +1,773 @@
1
+ @import "swiper/css";
2
+ @import "swiper/css/navigation";
3
+
4
+ .collection-ui {
5
+ --collection-ui-bg: transparent;
6
+ --collection-ui-band-bg: rgb(0 0 0 / 4%);
7
+ --collection-ui-card-bg: transparent;
8
+ --collection-ui-fg: inherit;
9
+ --collection-ui-muted: color-mix(in srgb, currentColor 62%, transparent);
10
+ --collection-ui-link: #0f79d0;
11
+ --collection-ui-button-bg: #111827;
12
+ --collection-ui-button-fg: #fff;
13
+ --collection-ui-special-bg: rgb(0 0 0 / 4%);
14
+ --collection-ui-special-panel: transparent;
15
+ color: var(--collection-ui-fg);
16
+ min-width: 0;
17
+ }
18
+
19
+ .collection-ui--dark {
20
+ --collection-ui-bg: #141515;
21
+ --collection-ui-band-bg: #141515;
22
+ --collection-ui-card-bg: #1f2020;
23
+ --collection-ui-fg: #f5f5f5;
24
+ --collection-ui-muted: #a7a7a7;
25
+ --collection-ui-link: #22b7ff;
26
+ --collection-ui-button-bg: #f6a0a8;
27
+ --collection-ui-button-fg: #151515;
28
+ --collection-ui-special-bg: #141515;
29
+ --collection-ui-special-panel: #202121;
30
+ background: var(--collection-ui-bg);
31
+ }
32
+
33
+ .collection-ui--preview {
34
+ --collection-ui-preview-max-height: 420px;
35
+ border-radius: 6px;
36
+ max-height: var(--collection-ui-preview-max-height);
37
+ overflow: auto;
38
+ }
39
+
40
+ .collection-ui--preview .collection-ui-container {
41
+ max-width: 960px;
42
+ padding-inline: 16px;
43
+ }
44
+
45
+ .collection-ui *,
46
+ .collection-ui *::before,
47
+ .collection-ui *::after {
48
+ box-sizing: border-box;
49
+ }
50
+
51
+ .collection-ui a {
52
+ color: inherit;
53
+ text-decoration: none;
54
+ }
55
+
56
+ .collection-ui-container {
57
+ margin-inline: auto;
58
+ max-width: 1200px;
59
+ padding-inline: 16px;
60
+ width: 100%;
61
+ }
62
+
63
+ .collection-ui-container--wide {
64
+ max-width: 1280px;
65
+ }
66
+
67
+ .collection-ui-title {
68
+ display: flex;
69
+ flex-direction: column;
70
+ gap: 4px;
71
+ margin-bottom: 8px;
72
+ }
73
+
74
+ .collection-ui-title__row {
75
+ align-items: center;
76
+ display: flex;
77
+ gap: 12px;
78
+ justify-content: space-between;
79
+ }
80
+
81
+ .collection-ui-title__heading {
82
+ font-size: 1.125rem;
83
+ font-weight: 600;
84
+ line-height: 1.35;
85
+ margin: 0;
86
+ }
87
+
88
+ .collection-ui-title__heading--small {
89
+ border-bottom: 2px solid currentColor;
90
+ font-size: 1rem;
91
+ font-weight: 400;
92
+ }
93
+
94
+ .collection-ui-title__description {
95
+ color: var(--collection-ui-muted);
96
+ font-size: 0.8125rem;
97
+ line-height: 1.45;
98
+ margin: 0;
99
+ }
100
+
101
+ .collection-ui-title__link,
102
+ .collection-ui-featured-card__link {
103
+ color: var(--collection-ui-link);
104
+ flex-shrink: 0;
105
+ font-size: 0.875rem;
106
+ font-weight: 600;
107
+ }
108
+
109
+ .collection-ui-scroll {
110
+ display: grid;
111
+ gap: 20px;
112
+ grid-auto-columns: max-content;
113
+ grid-auto-flow: column;
114
+ margin-inline: -16px;
115
+ overflow-x: auto;
116
+ padding: 16px;
117
+ scroll-snap-type: x proximity;
118
+ }
119
+
120
+ .collection-ui-scroll__item {
121
+ scroll-snap-align: start;
122
+ }
123
+
124
+ .collection-ui-carousel {
125
+ min-width: 0;
126
+ position: relative;
127
+ }
128
+
129
+ .collection-ui-carousel__track {
130
+ margin-inline: -16px;
131
+ overflow: hidden;
132
+ padding-inline: 16px;
133
+ }
134
+
135
+ .collection-ui-carousel__slide {
136
+ height: auto;
137
+ padding-top: 16px;
138
+ width: max-content;
139
+ }
140
+
141
+ .collection-ui-grid-title.collection-ui-grid-title {
142
+ margin-inline: -16px;
143
+ padding-inline: 16px;
144
+ }
145
+
146
+ .collection-ui-grid-title__slide {
147
+ height: auto;
148
+ }
149
+
150
+ .collection-ui-carousel__controls {
151
+ display: none;
152
+ }
153
+
154
+ .collection-ui-carousel__controls button {
155
+ align-items: center;
156
+ background: transparent;
157
+ border: 0;
158
+ border-radius: 999px;
159
+ color: inherit;
160
+ cursor: pointer;
161
+ display: inline-flex;
162
+ font: inherit;
163
+ height: 32px;
164
+ justify-content: center;
165
+ width: 32px;
166
+ }
167
+
168
+ .collection-ui-view-all {
169
+ align-items: center;
170
+ background: linear-gradient(135deg, #1f2937, #111827);
171
+ border: 1px solid rgb(255 255 255 / 12%);
172
+ border-radius: 6px;
173
+ color: white;
174
+ display: flex;
175
+ flex-direction: column;
176
+ gap: 16px;
177
+ height: 266px;
178
+ justify-content: center;
179
+ padding: 24px;
180
+ width: 180px;
181
+ }
182
+
183
+ .collection-ui-view-all__icon {
184
+ align-items: center;
185
+ background: rgb(255 255 255 / 10%);
186
+ border-radius: 999px;
187
+ display: inline-flex;
188
+ font-size: 1.5rem;
189
+ height: 56px;
190
+ justify-content: center;
191
+ width: 56px;
192
+ }
193
+
194
+ .collection-ui-vertical__grid {
195
+ display: grid;
196
+ gap: 16px;
197
+ }
198
+
199
+ .collection-ui-item {
200
+ align-items: flex-start;
201
+ display: flex;
202
+ gap: 20px;
203
+ max-width: 420px;
204
+ }
205
+
206
+ .collection-ui-item__image {
207
+ background: rgb(0 0 0 / 8%);
208
+ border-radius: 4px;
209
+ flex: 0 0 auto;
210
+ height: auto;
211
+ object-fit: cover;
212
+ }
213
+
214
+ .collection-ui-item__title {
215
+ display: -webkit-box;
216
+ font-size: 1rem;
217
+ font-weight: 600;
218
+ line-height: 1.35;
219
+ margin: 0;
220
+ overflow: hidden;
221
+ -webkit-box-orient: vertical;
222
+ -webkit-line-clamp: 2;
223
+ }
224
+
225
+ .collection-ui-item__meta,
226
+ .collection-ui-item__description {
227
+ color: color-mix(in srgb, currentColor 62%, transparent);
228
+ font-size: 0.875rem;
229
+ line-height: 1.45;
230
+ margin: 4px 0 0;
231
+ }
232
+
233
+ .collection-ui-item__number {
234
+ display: block;
235
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
236
+ font-size: 1.25rem;
237
+ font-weight: 700;
238
+ margin-bottom: 4px;
239
+ }
240
+
241
+ .collection-ui-card {
242
+ color: inherit;
243
+ display: flex;
244
+ flex-direction: column;
245
+ height: 100%;
246
+ justify-content: flex-end;
247
+ width: 180px;
248
+ }
249
+
250
+ .collection-ui-card__media {
251
+ align-items: flex-end;
252
+ display: flex;
253
+ justify-content: center;
254
+ min-height: 266px;
255
+ }
256
+
257
+ .collection-ui-card__body {
258
+ display: flex;
259
+ gap: 12px;
260
+ min-height: 112px;
261
+ padding-top: 8px;
262
+ }
263
+
264
+ .collection-ui-card__rank,
265
+ .collection-ui-row-item__number {
266
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
267
+ font-size: 1.125rem;
268
+ font-weight: 700;
269
+ }
270
+
271
+ .collection-ui-card__title,
272
+ .collection-ui-row-item__title {
273
+ color: var(--collection-ui-link);
274
+ display: -webkit-box;
275
+ font-size: 0.875rem;
276
+ font-weight: 500;
277
+ line-height: 1.2;
278
+ margin: 0 0 4px;
279
+ overflow: hidden;
280
+ -webkit-box-orient: vertical;
281
+ -webkit-line-clamp: 2;
282
+ }
283
+
284
+ .collection-ui-card__author,
285
+ .collection-ui-row-item__author {
286
+ color: var(--collection-ui-muted);
287
+ display: -webkit-box;
288
+ font-size: 0.75rem;
289
+ line-height: 1.35;
290
+ margin: 0;
291
+ overflow: hidden;
292
+ -webkit-box-orient: vertical;
293
+ -webkit-line-clamp: 1;
294
+ }
295
+
296
+ .collection-ui-book-media {
297
+ align-items: center;
298
+ display: flex;
299
+ justify-content: center;
300
+ overflow: visible;
301
+ }
302
+
303
+ .collection-ui-book-media__artwork {
304
+ display: block;
305
+ flex: 0 0 auto;
306
+ overflow: visible;
307
+ position: relative;
308
+ z-index: 1;
309
+ }
310
+
311
+ .collection-ui-book-media__artwork::before {
312
+ background-image: url("./assets/spine/FlatShadow.webp");
313
+ background-size: 100% 100%;
314
+ content: "";
315
+ display: block;
316
+ height: 115%;
317
+ left: -10%;
318
+ opacity: 0.6;
319
+ position: absolute;
320
+ top: -4%;
321
+ width: 120%;
322
+ z-index: 1;
323
+ }
324
+
325
+ .collection-ui-book-media__lighting {
326
+ inset: 0;
327
+ position: relative;
328
+ z-index: 2;
329
+ }
330
+
331
+ .collection-ui-book-media__background {
332
+ filter: blur(8px);
333
+ inset: 0;
334
+ left: 50%;
335
+ margin: 0;
336
+ opacity: 0.25;
337
+ position: absolute;
338
+ top: 50%;
339
+ transform: translate(-50%, -50%);
340
+ z-index: 1;
341
+ }
342
+
343
+ @supports (mix-blend-mode: multiply) {
344
+ .collection-ui-book-media__background {
345
+ mix-blend-mode: multiply;
346
+ }
347
+ }
348
+
349
+ @supports (mix-blend-mode: multiply) {
350
+ .collection-ui-book-media__lighting::after {
351
+ background-image: url("./assets/spine/BurnBlend.png");
352
+ background-size: 100% 100%;
353
+ border-radius: 2.5px;
354
+ content: "";
355
+ display: block;
356
+ height: 100%;
357
+ inset: 0;
358
+ mix-blend-mode: multiply;
359
+ position: absolute;
360
+ z-index: 1;
361
+ }
362
+ }
363
+
364
+ .collection-ui-book-media__foreground {
365
+ inset: 0;
366
+ position: relative;
367
+ z-index: 2;
368
+ }
369
+
370
+ .collection-ui-book-media__foreground::before {
371
+ background-image: url("./assets/spine/NormalBlend.webp");
372
+ background-size: 100% 100%;
373
+ border-radius: 2.5px;
374
+ content: "";
375
+ display: block;
376
+ height: 100%;
377
+ inset: 0;
378
+ position: absolute;
379
+ z-index: 1;
380
+ }
381
+
382
+ @supports (mix-blend-mode: soft-light) {
383
+ .collection-ui-book-media__foreground::after {
384
+ background-color: transparent;
385
+ background-image: url("./assets/spine/SoftLightBlend.webp");
386
+ background-size: 100% 100%;
387
+ border-radius: 2.5px;
388
+ content: "";
389
+ display: block;
390
+ height: 100%;
391
+ inset: 0;
392
+ mix-blend-mode: soft-light;
393
+ position: absolute;
394
+ z-index: 1;
395
+ }
396
+ }
397
+
398
+ .collection-ui-book-media__background img,
399
+ .collection-ui-book-media__foreground img {
400
+ border-radius: 2.5px;
401
+ display: block;
402
+ object-fit: cover;
403
+ position: relative;
404
+ z-index: 0;
405
+ }
406
+
407
+ .collection-ui-book-media__artwork::after {
408
+ background-image: url("./assets/spine/FlatEdges.webp");
409
+ background-size: 100% 100%;
410
+ border-radius: 2.5px;
411
+ content: "";
412
+ display: block;
413
+ height: 100%;
414
+ inset: 0;
415
+ position: absolute;
416
+ z-index: 3;
417
+ }
418
+
419
+ .collection-ui-audio-media,
420
+ .collection-ui-product-media {
421
+ align-items: center;
422
+ display: flex;
423
+ justify-content: center;
424
+ }
425
+
426
+ .collection-ui-audio-media img,
427
+ .collection-ui-product-media img {
428
+ display: block;
429
+ max-height: 100%;
430
+ max-width: 100%;
431
+ object-fit: contain;
432
+ }
433
+
434
+ .collection-ui-audio-media img {
435
+ border-radius: 8px;
436
+ box-shadow: 0 12px 22px rgb(0 0 0 / 18%);
437
+ }
438
+
439
+ .collection-ui-price {
440
+ align-items: center;
441
+ display: flex;
442
+ flex-wrap: wrap;
443
+ font-weight: 600;
444
+ gap: 4px;
445
+ margin-top: 8px;
446
+ }
447
+
448
+ .collection-ui-price__compare {
449
+ color: rgb(107 114 128);
450
+ font-size: 0.75rem;
451
+ text-decoration: line-through;
452
+ }
453
+
454
+ .collection-ui-price__value--large {
455
+ font-size: 1.25rem;
456
+ font-weight: 700;
457
+ }
458
+
459
+ .collection-ui-html {
460
+ font-size: 0.875rem;
461
+ font-weight: 300;
462
+ line-height: 1.55;
463
+ overflow: hidden;
464
+ }
465
+
466
+ .collection-ui-html--sm {
467
+ max-height: 80px;
468
+ }
469
+
470
+ .collection-ui-html--md {
471
+ max-height: 144px;
472
+ }
473
+
474
+ .collection-ui-html--lg {
475
+ max-height: 240px;
476
+ }
477
+
478
+ .collection-ui-html button {
479
+ background: transparent;
480
+ border: 0;
481
+ color: var(--collection-ui-link);
482
+ cursor: pointer;
483
+ font: inherit;
484
+ padding: 4px 0 0;
485
+ }
486
+
487
+ .collection-ui-row-item {
488
+ align-items: flex-start;
489
+ display: flex;
490
+ gap: 24px;
491
+ }
492
+
493
+ .collection-ui-row-item__media {
494
+ flex: 0 0 auto;
495
+ }
496
+
497
+ .collection-ui-row-item__body {
498
+ display: flex;
499
+ flex-direction: column;
500
+ min-width: 0;
501
+ }
502
+
503
+ .collection-ui-special-item {
504
+ align-items: center;
505
+ background: var(--collection-ui-special-panel);
506
+ display: grid;
507
+ gap: 32px;
508
+ justify-items: center;
509
+ padding: clamp(20px, 3vw, 32px);
510
+ width: 100%;
511
+ }
512
+
513
+ .collection-ui-special-item__media {
514
+ display: flex;
515
+ justify-content: center;
516
+ transform: scale(1.08);
517
+ }
518
+
519
+ .collection-ui--preview .collection-ui-special-section,
520
+ .collection-ui--preview .collection-ui-band {
521
+ padding-block: 20px;
522
+ }
523
+
524
+ .collection-ui--preview .collection-ui-special-item {
525
+ gap: 20px;
526
+ min-height: 0;
527
+ padding: 24px;
528
+ }
529
+
530
+ .collection-ui--preview .collection-ui-special-item__media {
531
+ transform: none;
532
+ }
533
+
534
+ .collection-ui-special-item__content h3 {
535
+ font-size: 1.5rem;
536
+ font-weight: 600;
537
+ line-height: 1.25;
538
+ margin: 0 0 16px;
539
+ text-align: center;
540
+ }
541
+
542
+ .collection-ui-special-item__description {
543
+ color: var(--collection-ui-muted);
544
+ font-size: 1rem;
545
+ max-width: 560px;
546
+ }
547
+
548
+ .collection-ui-special-item__aside {
549
+ align-items: flex-start;
550
+ display: flex;
551
+ flex-direction: column;
552
+ gap: 18px;
553
+ justify-content: center;
554
+ }
555
+
556
+ .collection-ui-special-item__button {
557
+ margin-top: 0;
558
+ }
559
+
560
+ .collection-ui-band {
561
+ background: var(--collection-ui-band-bg);
562
+ padding-block: 32px;
563
+ }
564
+
565
+ .collection-ui-special-section {
566
+ background: var(--collection-ui-special-bg);
567
+ padding-block: 40px;
568
+ }
569
+
570
+ .collection-ui-grid-title {
571
+ display: grid;
572
+ gap: 24px;
573
+ }
574
+
575
+ .collection-ui-grid-title__panel {
576
+ min-width: 0;
577
+ }
578
+
579
+ .collection-ui-banner {
580
+ align-items: center;
581
+ display: grid;
582
+ gap: 24px;
583
+ grid-template-columns: 1fr;
584
+ }
585
+
586
+ .collection-ui-banner__copy {
587
+ padding-top: 16px;
588
+ }
589
+
590
+ .collection-ui-banner__eyebrow {
591
+ border-bottom: 2px solid currentColor;
592
+ display: inline-block;
593
+ font-size: 0.875rem;
594
+ font-weight: 600;
595
+ margin-bottom: 24px;
596
+ padding-bottom: 4px;
597
+ }
598
+
599
+ .collection-ui-banner__title {
600
+ font-size: clamp(1.5rem, 2vw, 2.5rem);
601
+ font-weight: 600;
602
+ line-height: 1.15;
603
+ margin: 0 0 16px;
604
+ }
605
+
606
+ .collection-ui-banner__description {
607
+ font-size: 1rem;
608
+ line-height: 1.65;
609
+ margin: 0;
610
+ }
611
+
612
+ .collection-ui-banner__image,
613
+ .collection-ui-featured-card__image {
614
+ border-radius: 8px;
615
+ display: block;
616
+ max-width: 100%;
617
+ object-fit: cover;
618
+ width: 100%;
619
+ }
620
+
621
+ .collection-ui-button {
622
+ align-items: center;
623
+ background: var(--collection-ui-button-bg);
624
+ border-radius: 6px;
625
+ color: var(--collection-ui-button-fg);
626
+ display: inline-flex;
627
+ font-weight: 600;
628
+ justify-content: center;
629
+ margin-top: 20px;
630
+ min-height: 44px;
631
+ padding: 10px 20px;
632
+ }
633
+
634
+ .collection-ui-special {
635
+ align-items: center;
636
+ display: grid;
637
+ justify-items: stretch;
638
+ }
639
+
640
+ .collection-ui-special > .collection-ui-special__button {
641
+ display: none;
642
+ }
643
+
644
+ .collection-ui-featured {
645
+ display: grid;
646
+ gap: 24px;
647
+ }
648
+
649
+ .collection-ui-featured-card__body {
650
+ padding-top: 16px;
651
+ }
652
+
653
+ .collection-ui-featured-card__title {
654
+ font-size: 1.125rem;
655
+ font-weight: 600;
656
+ line-height: 1.35;
657
+ margin: 0 0 10px;
658
+ }
659
+
660
+ .collection-ui-featured-card__description {
661
+ font-size: 0.875rem;
662
+ line-height: 1.55;
663
+ margin: 0 0 10px;
664
+ }
665
+
666
+ .collection-ui-image-grid {
667
+ text-align: center;
668
+ }
669
+
670
+ .collection-ui-image-grid .collection-ui-title__row {
671
+ justify-content: center;
672
+ }
673
+
674
+ .collection-ui-image-grid__items {
675
+ align-items: center;
676
+ display: grid;
677
+ gap: 32px;
678
+ grid-template-columns: repeat(var(--collection-ui-columns, 2), minmax(0, 1fr));
679
+ justify-content: center;
680
+ margin-top: 32px;
681
+ }
682
+
683
+ .collection-ui-image-grid__item {
684
+ display: flex;
685
+ justify-content: center;
686
+ }
687
+
688
+ .collection-ui-image-grid__image {
689
+ border-radius: 8px;
690
+ display: block;
691
+ height: auto;
692
+ max-width: 100%;
693
+ object-fit: cover;
694
+ }
695
+
696
+ .collection-ui-image-grid__image--circle {
697
+ aspect-ratio: 1;
698
+ border-radius: 999px;
699
+ }
700
+
701
+ .collection-ui-image-grid__image--square {
702
+ aspect-ratio: 1;
703
+ }
704
+
705
+ .collection-ui--preview .collection-ui-image-grid__items {
706
+ gap: 16px;
707
+ margin-top: 20px;
708
+ }
709
+
710
+ .collection-ui--preview .collection-ui-image-grid__image {
711
+ max-height: 112px;
712
+ width: auto;
713
+ }
714
+
715
+ @media (min-width: 768px) {
716
+ .collection-ui-container {
717
+ padding-inline: 24px;
718
+ }
719
+
720
+ .collection-ui-vertical__grid {
721
+ grid-template-columns: repeat(2, minmax(0, 1fr));
722
+ }
723
+
724
+ .collection-ui-grid-title {
725
+ grid-template-columns: repeat(2, minmax(0, 1fr));
726
+ }
727
+
728
+ .collection-ui-banner {
729
+ grid-template-columns: minmax(240px, 0.35fr) minmax(0, 0.65fr);
730
+ }
731
+
732
+ .collection-ui-featured {
733
+ grid-template-columns: repeat(var(--collection-ui-columns, 2), minmax(0, 1fr));
734
+ }
735
+
736
+ .collection-ui-featured--three {
737
+ grid-template-columns: repeat(var(--collection-ui-columns, 3), minmax(0, 1fr));
738
+ }
739
+
740
+ .collection-ui-carousel__controls {
741
+ align-items: center;
742
+ display: flex;
743
+ gap: 4px;
744
+ position: absolute;
745
+ right: 0;
746
+ top: -40px;
747
+ z-index: 1;
748
+ }
749
+
750
+ .collection-ui-special-item {
751
+ grid-template-columns: minmax(260px, 0.38fr) minmax(0, 0.42fr) minmax(180px, 0.2fr);
752
+ justify-items: stretch;
753
+ }
754
+
755
+ .collection-ui-special-item__content h3 {
756
+ text-align: left;
757
+ }
758
+
759
+ .collection-ui-image-grid__items {
760
+ display: flex;
761
+ flex-wrap: wrap;
762
+ }
763
+
764
+ .collection-ui-image-grid--block .collection-ui-image-grid__items {
765
+ gap: 16px;
766
+ }
767
+ }
768
+
769
+ @media (min-width: 1200px) {
770
+ .collection-ui-vertical__grid {
771
+ grid-template-columns: repeat(3, minmax(0, 1fr));
772
+ }
773
+ }