@godxjp/ui 33.24.0 → 33.25.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 (88) hide show
  1. package/README.md +14 -3
  2. package/agent/START-HERE.md +5 -5
  3. package/agent/components/CatalogDetail.json +7 -3
  4. package/agent/components/DatePicker.json +1 -1
  5. package/agent/components/DropdownMenu.json +1 -0
  6. package/agent/components/EditorialCard.json +2 -1
  7. package/agent/components/Image.json +6 -1
  8. package/agent/components/Pagination.json +5 -0
  9. package/agent/components/Popover.json +1 -0
  10. package/agent/components/Select.json +2 -1
  11. package/agent/components/Toaster.json +1 -1
  12. package/agent/components.json +26 -8
  13. package/agent/index.json +5 -5
  14. package/agent/llms.txt +6 -6
  15. package/agent/patterns/notice-bar.json +16 -0
  16. package/agent/patterns-index.json +15 -0
  17. package/agent/patterns.json +16 -0
  18. package/agent/rules.json +2 -2
  19. package/agent/tokens.json +37 -7
  20. package/dist/components/charts/chart-cartesian.js +5 -1
  21. package/dist/components/charts/chart-summary.d.ts +1 -1
  22. package/dist/components/charts/chart-summary.js +17 -6
  23. package/dist/components/charts/compact-bar-trend.js +4 -3
  24. package/dist/components/charts/pie-chart.js +2 -1
  25. package/dist/components/data-display/image.d.ts +1 -0
  26. package/dist/components/data-display/image.js +9 -1
  27. package/dist/components/data-display/popover.js +11 -0
  28. package/dist/components/data-entry/calendar.js +1 -1
  29. package/dist/components/data-entry/date-picker.js +22 -5
  30. package/dist/components/general/button.js +2 -2
  31. package/dist/components/layout/affix.js +1 -1
  32. package/dist/components/layout/editorial-catalog.d.ts +1 -1
  33. package/dist/components/layout/editorial-catalog.js +53 -15
  34. package/dist/components/navigation/dropdown-menu.d.ts +13 -3
  35. package/dist/components/navigation/dropdown-menu.js +36 -6
  36. package/dist/components/navigation/pagination.d.ts +1 -1
  37. package/dist/components/navigation/pagination.js +13 -1
  38. package/dist/contracts/measurement.json +1 -1
  39. package/dist/i18n/messages/en.json +1 -0
  40. package/dist/i18n/messages/ja.json +1 -0
  41. package/dist/i18n/messages/vi.json +1 -0
  42. package/dist/props/components/data-display.prop.d.ts +2 -0
  43. package/dist/props/components/layout.prop.d.ts +7 -2
  44. package/dist/props/components/navigation.prop.d.ts +3 -0
  45. package/dist/props/registry.d.ts +15 -3
  46. package/dist/props/registry.js +18 -1
  47. package/dist/styles/application.css +24 -0
  48. package/dist/styles/base.css +11 -0
  49. package/dist/styles/control.css +32 -19
  50. package/dist/styles/core.css +1 -0
  51. package/dist/styles/data-display-layout.css +7 -0
  52. package/dist/styles/dialog-layout.css +9 -0
  53. package/dist/styles/editorial-layout.css +2076 -0
  54. package/dist/styles/editorial.css +3 -0
  55. package/dist/styles/index.css +1 -0
  56. package/dist/styles/layers.json +39 -8
  57. package/dist/styles/layout.css +0 -1987
  58. package/dist/styles/precompiled/alert-layout.css +2 -0
  59. package/dist/styles/precompiled/badge-layout.css +2 -0
  60. package/dist/styles/precompiled/base.css +2 -0
  61. package/dist/styles/precompiled/card-layout.css +2 -0
  62. package/dist/styles/precompiled/chart-layout.css +2 -0
  63. package/dist/styles/precompiled/control.css +2 -0
  64. package/dist/styles/precompiled/data-display-layout.css +2 -0
  65. package/dist/styles/precompiled/data-entry-layout.css +2 -0
  66. package/dist/styles/precompiled/dialog-layout.css +2 -0
  67. package/dist/styles/precompiled/editorial-account-layout.css +2 -0
  68. package/dist/styles/precompiled/editorial-layout.css +2 -0
  69. package/dist/styles/precompiled/float-button-layout.css +2 -0
  70. package/dist/styles/precompiled/form-layout.css +2 -0
  71. package/dist/styles/precompiled/icon-layout.css +2 -0
  72. package/dist/styles/precompiled/layout.css +2 -0
  73. package/dist/styles/precompiled/logo-layout.css +2 -0
  74. package/dist/styles/precompiled/motion.css +2 -0
  75. package/dist/styles/precompiled/navigation-layout.css +2 -0
  76. package/dist/styles/precompiled/shell-layout.css +2 -0
  77. package/dist/styles/precompiled/table-layout.css +2 -0
  78. package/dist/styles/precompiled/text-layout.css +2 -0
  79. package/dist/styles/precompiled/toggle.css +2 -0
  80. package/dist/styles/precompiled/vendor-day-picker.css +2 -0
  81. package/dist/styles/precompiled/vendor-sonner.css +2 -0
  82. package/dist/styles.css +1 -1
  83. package/dist/tokens/components/control.css +3 -0
  84. package/dist/tokens/components/editorial.css +9 -6
  85. package/docs/CONSUMER-RULES.md +35 -0
  86. package/package.json +4 -2
  87. package/scripts/prune-css.mjs +56 -8
  88. package/scripts/ui-audit.mjs +36 -0
@@ -0,0 +1,2076 @@
1
+
2
+ @layer components {
3
+
4
+ .ui-editorial-section {
5
+ display: block;
6
+ position: relative;
7
+ }
8
+
9
+ .ui-editorial-section-content {
10
+ width: calc(100% - 2 * var(--editorial-section-inset-inline));
11
+ max-width: var(--editorial-section-max-width);
12
+ margin-inline: auto;
13
+ }
14
+
15
+ .ui-editorial-section[data-spacing="section"] > .ui-editorial-section-content {
16
+ padding-block: var(--editorial-section-padding-block);
17
+ }
18
+
19
+ .ui-editorial-section[data-tone="surface"] {
20
+ background: var(--editorial-section-surface-background, hsl(var(--card)));
21
+ }
22
+
23
+ .ui-editorial-section[data-tone="subtle"] {
24
+ background: var(--editorial-section-subtle-background, hsl(var(--muted)));
25
+ }
26
+
27
+ .ui-editorial-section[data-tone="hero"] {
28
+ overflow: hidden;
29
+ background: var(
30
+ --editorial-section-hero-background,
31
+ linear-gradient(110deg, hsl(var(--background)) 35%, hsl(var(--muted)))
32
+ );
33
+ }
34
+
35
+ .ui-editorial-section[data-divider="end"] {
36
+ border-block-end: var(--editorial-section-border-width) solid
37
+ var(--editorial-section-border-color, hsl(var(--border)));
38
+ }
39
+
40
+ .ui-editorial-section[data-divider="both"] {
41
+ border-block: var(--editorial-section-border-width) solid
42
+ var(--editorial-section-border-color, hsl(var(--border)));
43
+ }
44
+
45
+ .ui-editorial-hero {
46
+ display: grid;
47
+ grid-template-columns: var(--editorial-hero-track-size);
48
+ align-items: center;
49
+ gap: var(--editorial-hero-gap);
50
+ min-height: var(--editorial-hero-min-height);
51
+ padding-block: var(--editorial-hero-padding-block-start) var(--editorial-hero-padding-block-end);
52
+ }
53
+
54
+ .ui-editorial-hero-copy {
55
+ --editorial-eyebrow-align: var(--editorial-hero-copy-align);
56
+ --editorial-eyebrow-letter-spacing: var(--editorial-hero-kicker-letter-spacing);
57
+ position: relative;
58
+ z-index: 2;
59
+ min-width: 0;
60
+ padding-block: var(--editorial-hero-copy-padding-block);
61
+ text-align: var(--editorial-hero-copy-align);
62
+ }
63
+
64
+ .ui-editorial-hero-title {
65
+ margin: var(--editorial-hero-title-space-block-start) 0
66
+ var(--editorial-hero-title-space-block-end);
67
+ font-family: var(--font-family-editorial, var(--font-family-display));
68
+ font-size: var(--editorial-hero-title-font-size);
69
+ font-weight: var(--editorial-hero-title-font-weight);
70
+ line-height: var(--editorial-hero-title-line-height);
71
+ letter-spacing: var(--editorial-hero-title-letter-spacing);
72
+ }
73
+
74
+ .ui-editorial-hero-description {
75
+ max-width: var(--editorial-hero-description-max-width);
76
+ margin: 0;
77
+ margin-inline: var(--editorial-hero-copy-space-inline);
78
+ color: hsl(var(--muted-foreground));
79
+ font-size: var(--editorial-hero-description-font-size);
80
+ line-height: var(--editorial-hero-description-line-height);
81
+ }
82
+
83
+ .ui-editorial-hero-search {
84
+ max-width: var(--editorial-hero-search-max-width);
85
+ margin-block-start: var(--editorial-hero-search-space-block-start);
86
+ margin-inline: var(--editorial-hero-copy-space-inline);
87
+ text-align: start;
88
+ }
89
+
90
+ .ui-editorial-hero-footer {
91
+ display: flex;
92
+ flex-wrap: wrap;
93
+ align-items: center;
94
+ justify-content: var(--editorial-hero-copy-align);
95
+ gap: var(--editorial-hero-footer-gap);
96
+ margin-block-start: var(--editorial-hero-footer-space-block-start);
97
+ color: hsl(var(--muted-foreground));
98
+ font-size: var(--editorial-hero-footer-font-size);
99
+ }
100
+
101
+ .ui-editorial-hero-footer a {
102
+ display: inline-flex;
103
+ align-items: center;
104
+ min-height: var(--editorial-hero-footer-link-min-height);
105
+ color: inherit;
106
+ text-decoration-line: underline;
107
+ text-decoration-color: hsl(var(--input));
108
+ text-underline-offset: var(--editorial-hero-footer-link-offset);
109
+ }
110
+
111
+ .ui-editorial-hero-media {
112
+ position: relative;
113
+ width: 100%;
114
+ min-width: 0;
115
+ max-width: var(--editorial-hero-media-max-width);
116
+ margin-block-start: var(--editorial-hero-media-space-block-start);
117
+ margin-inline: var(--editorial-hero-copy-space-inline);
118
+ }
119
+
120
+ .ui-editorial-eyebrow {
121
+ display: flex;
122
+ align-items: center;
123
+ justify-content: var(--editorial-eyebrow-align);
124
+ gap: var(--editorial-eyebrow-gap);
125
+ margin: 0;
126
+ color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
127
+ font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
128
+ font-size: var(--editorial-eyebrow-font-size);
129
+ font-weight: var(--editorial-eyebrow-font-weight);
130
+ line-height: var(--editorial-eyebrow-line-height);
131
+ letter-spacing: var(--editorial-eyebrow-letter-spacing);
132
+ }
133
+
134
+ .ui-editorial-eyebrow[data-variant="ruled"]::before {
135
+ content: "";
136
+ width: var(--editorial-eyebrow-rule-width);
137
+ height: var(--editorial-eyebrow-rule-height);
138
+ background: var(--editorial-ornament-color, hsl(var(--border)));
139
+ }
140
+
141
+ .ui-editorial-section-head {
142
+ display: flex;
143
+ align-items: var(--editorial-section-head-align);
144
+ justify-content: space-between;
145
+ gap: var(--editorial-section-head-gap);
146
+ margin-block-end: var(--editorial-section-head-space-block-end);
147
+ }
148
+
149
+ .ui-editorial-section-head[data-scale="module"] {
150
+ --editorial-section-head-align: var(--editorial-section-head-module-align);
151
+ --editorial-section-head-space-block-end: var(--editorial-section-head-module-space-block-end);
152
+ --editorial-eyebrow-line-height: var(--editorial-section-head-module-kicker-line-height);
153
+ --editorial-eyebrow-letter-spacing: var(--editorial-section-head-module-kicker-letter-spacing);
154
+ --editorial-section-head-title-font-size: var(--editorial-section-head-module-title-font-size);
155
+ --editorial-section-head-title-line-height: var(
156
+ --editorial-section-head-module-title-line-height
157
+ );
158
+ --editorial-section-head-title-space-block-start: var(
159
+ --editorial-section-head-module-title-space-block-start
160
+ );
161
+
162
+ --editorial-section-head-description-font-size: var(--editorial-section-head-module-description-font-size);
163
+ --editorial-section-head-description-space-block-start: var(
164
+ --editorial-section-head-module-description-space-block-start
165
+ );
166
+ }
167
+
168
+ .ui-editorial-section-head-copy {
169
+ min-width: 0;
170
+ }
171
+
172
+ .ui-editorial-section-head-title {
173
+ margin: var(--editorial-section-head-title-space-block-start) 0 0;
174
+ font-family: var(--font-family-editorial, var(--font-family-display));
175
+ font-size: var(--editorial-section-head-title-font-size);
176
+ font-weight: var(--font-weight-semibold);
177
+ line-height: var(--editorial-section-head-title-line-height);
178
+ letter-spacing: var(--editorial-section-head-title-letter-spacing);
179
+ }
180
+
181
+ .ui-editorial-section-head-description {
182
+ margin: var(--editorial-section-head-description-space-block-start) 0 0;
183
+ color: hsl(var(--muted-foreground));
184
+ font-size: var(--editorial-section-head-description-font-size);
185
+ }
186
+
187
+ .ui-editorial-section-head-action {
188
+ flex: none;
189
+ max-width: var(--editorial-section-head-action-max-width);
190
+ margin-block-start: var(--editorial-section-head-action-space-block-start);
191
+ }
192
+
193
+ .ui-editorial-breadcrumb {
194
+ padding-block-start: var(--editorial-breadcrumb-padding-block-start);
195
+ line-height: var(--editorial-breadcrumb-line-height);
196
+ }
197
+
198
+ .ui-editorial-breadcrumb .ui-breadcrumb-list {
199
+ column-gap: var(--editorial-breadcrumb-gap);
200
+ }
201
+
202
+ .ui-editorial-breadcrumb .ui-breadcrumb-item {
203
+ gap: var(--editorial-breadcrumb-gap);
204
+ }
205
+
206
+ .ui-editorial-page-header-row {
207
+ display: var(--editorial-page-header-row-display);
208
+ align-items: flex-end;
209
+ justify-content: space-between;
210
+ gap: var(--editorial-page-header-row-gap);
211
+ padding-block: var(--editorial-page-header-padding-block-start)
212
+ var(--editorial-page-header-padding-block-end);
213
+ }
214
+
215
+ .ui-editorial-page-header-copy {
216
+ min-width: 0;
217
+ }
218
+
219
+ .ui-editorial-page-header-copy:has(> .ui-editorial-page-header-search) {
220
+ flex: 1 1 auto;
221
+ }
222
+
223
+ .ui-editorial-page-header-search {
224
+ --editorial-search-button-icon-display: var(--editorial-page-header-search-button-icon-display);
225
+ max-width: var(--editorial-page-header-search-max-width);
226
+ margin-block-start: var(--editorial-page-header-search-space-block-start);
227
+ }
228
+
229
+ .ui-editorial-page-header-copy > .ui-editorial-eyebrow {
230
+ color: var(
231
+ --editorial-page-header-kicker-color,
232
+ var(--editorial-kicker-color, hsl(var(--muted-foreground)))
233
+ );
234
+ font-size: var(--editorial-page-header-kicker-font-size);
235
+ }
236
+
237
+ .ui-editorial-page-header-title {
238
+ overflow-wrap: anywhere;
239
+ margin: var(--editorial-page-header-title-space-block-start) 0
240
+ var(--editorial-page-header-title-space-block-end);
241
+ font-family: var(--font-family-editorial, var(--font-family-display));
242
+ font-size: var(--editorial-page-header-title-font-size);
243
+ font-weight: var(--font-weight-semibold);
244
+ line-height: var(--editorial-page-header-title-line-height);
245
+ letter-spacing: var(--editorial-page-header-title-letter-spacing);
246
+ text-wrap: balance;
247
+ }
248
+
249
+ .ui-editorial-page-header .ui-editorial-page-header-title:lang(ja) {
250
+ word-break: var(--editorial-page-header-title-line-breaking);
251
+ }
252
+
253
+ .ui-editorial-page-header-description {
254
+ max-width: var(--editorial-page-header-description-max-width);
255
+ margin: 0;
256
+ color: hsl(var(--muted-foreground));
257
+ font-size: var(--editorial-page-header-description-font-size);
258
+ line-height: var(--editorial-page-header-description-line-height);
259
+ }
260
+
261
+ .ui-editorial-page-header-actions {
262
+ flex: none;
263
+ margin-block-start: var(--editorial-page-header-actions-space-block-start);
264
+ }
265
+
266
+ .ui-editorial-article {
267
+
268
+ --editorial-text-link-font-size: var(--editorial-article-link-font-size);
269
+ --editorial-text-link-gap: var(--editorial-article-link-gap);
270
+ --editorial-text-link-line-height: var(--editorial-article-link-line-height);
271
+ --editorial-text-link-icon-size: var(--editorial-article-link-icon-size);
272
+ --editorial-text-link-align: start;
273
+ display: block;
274
+ max-width: var(--editorial-article-max-width);
275
+ margin-inline: auto;
276
+ padding-block: var(--editorial-article-padding-block-start)
277
+ var(--editorial-article-padding-block-end);
278
+ }
279
+
280
+ .ui-editorial-article > .ui-editorial-eyebrow {
281
+ font-size: var(--editorial-article-kicker-font-size);
282
+ margin-block-end: var(--editorial-article-kicker-space-block-end);
283
+ line-height: var(--editorial-article-kicker-line-height);
284
+ }
285
+
286
+ .ui-editorial-article-title {
287
+ overflow-wrap: anywhere;
288
+ margin: var(--editorial-article-title-space-block) 0;
289
+ font-family: var(--font-family-editorial, var(--font-family-display));
290
+ font-size: var(--editorial-article-title-font-size);
291
+ font-weight: var(--font-weight-semibold);
292
+ line-height: var(--editorial-article-title-line-height);
293
+ letter-spacing: var(--editorial-article-title-letter-spacing);
294
+ }
295
+
296
+ .ui-editorial-article .ui-editorial-article-title:lang(ja) {
297
+ word-break: var(--editorial-article-title-line-breaking);
298
+ }
299
+
300
+ .ui-editorial-article-intro {
301
+ margin: 0 0 var(--editorial-article-intro-space-block-end);
302
+ padding-block-end: var(--editorial-article-intro-padding-block-end);
303
+ border-block-end: var(--stroke-hairline) solid hsl(var(--border));
304
+ color: hsl(var(--muted-foreground));
305
+ font-size: var(--editorial-article-intro-font-size);
306
+ line-height: var(--editorial-article-intro-line-height);
307
+ }
308
+
309
+ .ui-editorial-article-section {
310
+ display: block;
311
+ }
312
+
313
+ .ui-editorial-article-heading {
314
+ margin: var(--editorial-article-heading-space-block-start) 0
315
+ var(--editorial-article-heading-space-block-end);
316
+ font-family: var(--font-family-editorial, var(--font-family-display));
317
+ font-size: var(--editorial-article-heading-font-size);
318
+ font-weight: var(--font-weight-semibold);
319
+ line-height: var(--editorial-article-heading-line-height);
320
+ letter-spacing: var(--editorial-article-heading-letter-spacing);
321
+ }
322
+
323
+ .ui-editorial-article-paragraph {
324
+ margin: 0 0 var(--editorial-article-paragraph-space-block-end);
325
+ font-size: var(--editorial-article-paragraph-font-size);
326
+ line-height: var(--editorial-article-paragraph-line-height);
327
+ }
328
+
329
+ .ui-editorial-article > .ui-prose {
330
+ font-size: var(--editorial-article-paragraph-font-size);
331
+ line-height: var(--editorial-article-paragraph-line-height);
332
+ }
333
+
334
+ .ui-editorial-article > .ui-prose > * {
335
+ margin-block: 0 var(--editorial-article-paragraph-space-block-end);
336
+ }
337
+
338
+ .ui-editorial-article > .ui-prose > h2 {
339
+ margin-block: var(--editorial-article-heading-space-block-start)
340
+ var(--editorial-article-heading-space-block-end);
341
+ font-family: var(--font-family-editorial, var(--font-family-display));
342
+ font-size: var(--editorial-article-heading-font-size);
343
+ font-weight: var(--font-weight-semibold);
344
+ line-height: var(--editorial-article-heading-line-height);
345
+ letter-spacing: var(--editorial-article-heading-letter-spacing);
346
+ text-wrap: wrap;
347
+ }
348
+
349
+ .ui-editorial-article > .ui-prose > :is(h3, h4) {
350
+ margin-block: var(--editorial-article-heading-space-block-end);
351
+ font-family: var(--font-family-editorial, var(--font-family-display));
352
+ }
353
+
354
+ .ui-editorial-article > .ui-prose :is(p, li):lang(ja) {
355
+ word-break: inherit;
356
+ line-break: inherit;
357
+ }
358
+
359
+ .ui-editorial-note {
360
+ margin-block: var(--editorial-note-space-block);
361
+ padding: var(--editorial-note-padding-block) var(--editorial-note-padding-inline);
362
+ border-inline-start: var(--editorial-note-rule-width) solid
363
+ var(--editorial-ornament-color, hsl(var(--border)));
364
+ background: var(--editorial-note-background, hsl(var(--muted)));
365
+ font-size: var(--editorial-note-font-size);
366
+ }
367
+
368
+ .ui-editorial-panel {
369
+ display: block;
370
+ min-width: 0;
371
+ padding: var(--editorial-panel-padding);
372
+ border: var(--editorial-panel-border-width) solid hsl(var(--border));
373
+ border-radius: var(--editorial-panel-radius);
374
+ background: var(--editorial-panel-background, hsl(var(--card)));
375
+ }
376
+
377
+ .ui-editorial-panel-tag {
378
+ display: inline-flex;
379
+ align-items: center;
380
+ min-height: var(--editorial-panel-tag-min-height);
381
+ padding: var(--editorial-panel-tag-padding-block) var(--editorial-panel-tag-padding-inline);
382
+ border: var(--stroke-hairline) solid hsl(var(--border));
383
+ border-radius: var(--editorial-panel-tag-radius);
384
+ color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
385
+ font-size: var(--editorial-panel-tag-font-size);
386
+ font-weight: var(--editorial-panel-tag-font-weight);
387
+ line-height: var(--editorial-panel-tag-line-height);
388
+ }
389
+
390
+ .ui-editorial-panel-title {
391
+ margin-block: var(--editorial-panel-title-space-block);
392
+ font-family: var(--font-family-editorial, var(--font-family-display));
393
+ font-size: var(--editorial-panel-title-font-size);
394
+ font-weight: var(--font-weight-semibold);
395
+ line-height: var(--editorial-panel-title-line-height);
396
+ letter-spacing: var(--editorial-article-heading-letter-spacing);
397
+ }
398
+
399
+ .ui-editorial-panel-list {
400
+ margin-block: var(--editorial-panel-list-space-block);
401
+ margin-inline: 0;
402
+ padding-inline-start: var(--editorial-panel-list-padding-inline-start);
403
+ color: hsl(var(--muted-foreground));
404
+ font-size: var(--editorial-panel-item-font-size);
405
+ list-style: disc;
406
+ }
407
+
408
+ .ui-editorial-text-link {
409
+ display: inline-flex;
410
+ align-items: center;
411
+ gap: var(--editorial-text-link-gap);
412
+ min-height: var(--editorial-text-link-min-height);
413
+ color: hsl(var(--text-brand, var(--primary)));
414
+ font-size: var(--editorial-text-link-font-size);
415
+ font-weight: var(--editorial-text-link-font-weight);
416
+ line-height: var(--editorial-text-link-line-height);
417
+ text-align: var(--editorial-text-link-align);
418
+ text-decoration: none;
419
+ }
420
+
421
+ .ui-editorial-text-link:hover {
422
+ text-decoration-line: underline;
423
+ text-underline-offset: var(--editorial-text-link-underline-offset);
424
+ }
425
+
426
+ .ui-editorial-text-link-icon {
427
+ flex: none;
428
+ width: var(--editorial-text-link-icon-size);
429
+ height: var(--editorial-text-link-icon-size);
430
+ }
431
+
432
+ .ui-editorial-search {
433
+ display: flex;
434
+ align-items: center;
435
+ gap: var(--editorial-search-gap);
436
+ min-height: var(--editorial-search-min-height);
437
+ padding: var(--editorial-search-padding-block) var(--editorial-search-padding-inline-end)
438
+ var(--editorial-search-padding-block) var(--editorial-search-padding-inline-start);
439
+ border: var(--editorial-search-border-width) solid
440
+ var(--editorial-search-border-color, hsl(var(--input)));
441
+ border-radius: var(--editorial-search-radius);
442
+ background: var(--editorial-search-background, hsl(var(--card)));
443
+ box-shadow: var(--editorial-search-shadow, 0 4px 16px rgb(var(--shadow-color, 0 0 0) / 0.06));
444
+ }
445
+
446
+ .ui-editorial-search-scope {
447
+
448
+ --control-radius: 0px;
449
+ --control-trigger-radius-start: 0px;
450
+ --control-trigger-radius-end: 0px;
451
+ display: flex;
452
+ flex: none;
453
+ align-self: stretch;
454
+ align-items: stretch;
455
+ max-width: var(--editorial-search-scope-max-width);
456
+ margin-block: calc(-1 * var(--editorial-search-padding-block));
457
+ margin-inline-start: calc(-1 * var(--editorial-search-padding-inline-start));
458
+ border-inline-end: var(--stroke-hairline) solid hsl(var(--border));
459
+ }
460
+
461
+ .ui-editorial-search-scope .ui-control-trigger {
462
+ --control-height: auto;
463
+ height: auto;
464
+ min-height: 100%;
465
+ max-width: 100%;
466
+ padding-inline: var(--editorial-search-padding-inline-start);
467
+ border: 0;
468
+ border-radius: 0;
469
+ background: transparent;
470
+ box-shadow: none;
471
+ font-size: var(--editorial-search-input-font-size);
472
+ font-weight: var(--editorial-search-scope-font-weight);
473
+ }
474
+
475
+ .ui-editorial-search-icon {
476
+ flex: none;
477
+ width: var(--editorial-search-icon-size);
478
+ height: var(--editorial-search-icon-size);
479
+ color: hsl(var(--muted-foreground));
480
+ }
481
+
482
+ .ui-editorial-search-input {
483
+ width: 100%;
484
+ min-width: 0;
485
+ min-height: var(--editorial-search-input-height);
486
+ padding-inline: var(--editorial-search-input-padding-inline);
487
+ border: 0;
488
+ background: transparent;
489
+ color: inherit;
490
+ font: inherit;
491
+ font-size: var(--editorial-search-input-font-size);
492
+ outline-offset: 0;
493
+ }
494
+
495
+ .ui-editorial-search-input::placeholder {
496
+ color: var(--editorial-search-placeholder-color, hsl(var(--muted-foreground)));
497
+ opacity: 1;
498
+ }
499
+
500
+ .ui-editorial-search-button {
501
+ display: inline-flex;
502
+ flex: none;
503
+ align-items: center;
504
+ justify-content: center;
505
+ gap: var(--editorial-search-button-gap);
506
+ min-width: var(--editorial-search-button-min-width);
507
+ min-height: var(--editorial-search-button-height);
508
+ padding-inline: var(--editorial-search-button-padding-inline);
509
+ border: var(--stroke-hairline) solid transparent;
510
+ border-radius: var(--editorial-search-button-radius);
511
+ background: hsl(var(--primary));
512
+ color: hsl(var(--primary-foreground));
513
+ font-size: var(--editorial-search-button-font-size);
514
+ font-weight: var(--font-weight-semibold);
515
+ line-height: var(--editorial-search-button-line-height);
516
+ white-space: nowrap;
517
+ cursor: pointer;
518
+ transition: background var(--duration-fast) var(--ease-standard);
519
+ }
520
+
521
+ .ui-editorial-search-button:hover {
522
+ background: hsl(var(--primary-hover, from hsl(var(--primary)) var(--primary-hover-channels)));
523
+ }
524
+
525
+ .ui-editorial-search-button-icon {
526
+ display: var(--editorial-search-button-icon-display);
527
+ flex: none;
528
+ width: var(--editorial-search-icon-size);
529
+ height: var(--editorial-search-icon-size);
530
+ }
531
+
532
+ .ui-editorial-search-popup {
533
+ position: fixed;
534
+
535
+ z-index: var(--overlay-z-index);
536
+ box-sizing: border-box;
537
+ margin-block-start: var(--editorial-search-popup-offset);
538
+ max-height: min(
539
+ var(--editorial-search-popup-max-height),
540
+ calc(var(--editorial-search-popup-room, 100vh) - 2 * var(--editorial-search-popup-offset))
541
+ );
542
+ overflow-y: auto;
543
+ padding-block: var(--editorial-search-popup-padding-block);
544
+ border: var(--stroke-hairline) solid
545
+ var(--editorial-search-popup-border-color, hsl(var(--border)));
546
+ border-radius: var(--editorial-search-popup-radius);
547
+ background: var(--editorial-search-popup-background, hsl(var(--popover)));
548
+ color: hsl(var(--popover-foreground));
549
+ box-shadow: var(
550
+ --editorial-search-popup-shadow,
551
+ 0 12px 32px rgb(var(--shadow-color, 0 0 0) / 0.12)
552
+ );
553
+ text-align: start;
554
+ }
555
+
556
+ .ui-editorial-search-popup[hidden] {
557
+ display: none;
558
+ }
559
+
560
+ .ui-editorial-search-group + .ui-editorial-search-group,
561
+ .ui-editorial-search-group + .ui-editorial-search-suggestions-footer {
562
+ margin-block-start: var(--editorial-search-popup-padding-block);
563
+ border-block-start: var(--stroke-hairline) solid hsl(var(--border));
564
+ padding-block-start: var(--editorial-search-popup-padding-block);
565
+ }
566
+
567
+ .ui-editorial-search-group-label {
568
+ padding: var(--editorial-search-group-label-padding-block)
569
+ var(--editorial-search-suggestion-padding-inline);
570
+ color: hsl(var(--muted-foreground));
571
+ font-size: var(--editorial-search-group-label-font-size);
572
+ font-weight: var(--editorial-search-group-label-font-weight);
573
+ letter-spacing: var(--editorial-search-group-label-letter-spacing);
574
+ }
575
+
576
+ .ui-editorial-search-suggestion,
577
+ .ui-editorial-search-suggestions-footer {
578
+ display: flex;
579
+ align-items: center;
580
+ gap: var(--editorial-search-suggestion-gap);
581
+ min-height: var(--editorial-search-suggestion-min-height);
582
+ padding: var(--editorial-search-suggestion-padding-block)
583
+ var(--editorial-search-suggestion-padding-inline);
584
+ color: inherit;
585
+ font-size: var(--editorial-search-suggestion-font-size);
586
+ text-decoration: none;
587
+ cursor: pointer;
588
+ }
589
+
590
+ .ui-editorial-search-suggestion:hover,
591
+ .ui-editorial-search-suggestion[aria-selected="true"],
592
+ .ui-editorial-search-suggestions-footer:hover,
593
+ .ui-editorial-search-suggestions-footer[aria-selected="true"] {
594
+ background: var(--editorial-search-suggestion-active-background, hsl(var(--accent)));
595
+ }
596
+
597
+ .ui-editorial-search-suggestion-media {
598
+ display: inline-flex;
599
+ flex: none;
600
+ align-items: center;
601
+ justify-content: center;
602
+ width: var(--editorial-search-suggestion-media-width);
603
+ height: var(--editorial-search-suggestion-media-height);
604
+ overflow: hidden;
605
+ border-radius: var(--editorial-search-suggestion-media-radius);
606
+ background: var(--editorial-search-suggestion-media-background, hsl(var(--muted)));
607
+ color: hsl(var(--muted-foreground));
608
+ font-size: var(--editorial-search-group-label-font-size);
609
+ font-weight: var(--font-weight-semibold);
610
+ }
611
+
612
+ .ui-editorial-search-suggestion-media > img {
613
+ width: 100%;
614
+ height: 100%;
615
+ object-fit: contain;
616
+ }
617
+
618
+ .ui-editorial-search-suggestion-text {
619
+ display: flex;
620
+ flex: 1;
621
+ flex-direction: column;
622
+ min-width: 0;
623
+ }
624
+
625
+ .ui-editorial-search-suggestion-label,
626
+ .ui-editorial-search-suggestion-description {
627
+ overflow: hidden;
628
+ text-overflow: ellipsis;
629
+ white-space: nowrap;
630
+ }
631
+
632
+ .ui-editorial-search-suggestion-description {
633
+ color: hsl(var(--muted-foreground));
634
+ font-size: var(--editorial-search-suggestion-description-font-size);
635
+ }
636
+
637
+ .ui-editorial-search-suggestion-meta {
638
+ flex: none;
639
+ font-variant-numeric: tabular-nums;
640
+ font-weight: var(--font-weight-semibold);
641
+ }
642
+
643
+ .ui-editorial-search-suggestions-footer {
644
+ font-weight: var(--font-weight-semibold);
645
+ }
646
+
647
+ .ui-editorial-search-suggestions-footer-icon {
648
+ flex: none;
649
+ width: var(--editorial-search-icon-size);
650
+ height: var(--editorial-search-icon-size);
651
+ }
652
+
653
+ .ui-editorial-pill-nav {
654
+ display: flex;
655
+ align-items: center;
656
+ gap: var(--editorial-pill-nav-gap);
657
+ min-height: var(--editorial-pill-nav-min-height);
658
+ overflow-x: auto;
659
+ scrollbar-width: none;
660
+ }
661
+
662
+ .ui-editorial-pill-nav-label {
663
+ display: var(--editorial-pill-nav-label-display);
664
+ flex: none;
665
+ margin-inline-end: var(--editorial-pill-nav-label-space-inline-end);
666
+ color: hsl(var(--muted-foreground));
667
+ font-size: var(--editorial-pill-nav-label-font-size);
668
+ white-space: nowrap;
669
+ }
670
+
671
+ .ui-editorial-pill {
672
+ display: inline-flex;
673
+ flex: none;
674
+ align-items: center;
675
+ gap: var(--editorial-pill-gap);
676
+ min-height: var(--editorial-pill-min-height);
677
+ padding: var(--editorial-pill-padding-block) var(--editorial-pill-padding-inline);
678
+ border: var(--stroke-hairline) solid transparent;
679
+ border-radius: var(--editorial-pill-radius);
680
+ color: inherit;
681
+ font-size: var(--editorial-pill-font-size);
682
+ text-decoration: none;
683
+ white-space: nowrap;
684
+ }
685
+
686
+ .ui-editorial-pill:hover {
687
+ background: hsl(var(--muted));
688
+ }
689
+
690
+ .ui-editorial-pill[aria-current]:not([aria-current="false"]) {
691
+ border-color: hsl(var(--primary) / 0.25);
692
+ background: hsl(var(--accent));
693
+ color: hsl(var(--text-brand, var(--primary)));
694
+ }
695
+
696
+ .ui-editorial-pill-dot {
697
+ flex: none;
698
+ width: var(--editorial-pill-dot-size);
699
+ height: var(--editorial-pill-dot-size);
700
+ border-radius: var(--editorial-pill-dot-radius);
701
+ background: var(
702
+ --editorial-pill-dot-color,
703
+ var(--editorial-ornament-color, hsl(var(--border)))
704
+ );
705
+ }
706
+
707
+ .ui-editorial-pill-icon {
708
+ display: inline-flex;
709
+ flex: none;
710
+ }
711
+
712
+ .ui-editorial-pill-icon > svg {
713
+ width: var(--editorial-pill-icon-size);
714
+ height: var(--editorial-pill-icon-size);
715
+ }
716
+
717
+ .ui-card-showcase[data-preset="fan"] {
718
+ position: relative;
719
+ isolation: isolate;
720
+ min-width: 0;
721
+ height: var(--editorial-showcase-height);
722
+ }
723
+
724
+ .ui-card-showcase-orbit {
725
+ position: absolute;
726
+ top: var(--editorial-showcase-orbit-inset-block-start);
727
+ inset-inline-start: 50%;
728
+ width: var(--editorial-showcase-orbit-size-1);
729
+ height: var(--editorial-showcase-orbit-size-1);
730
+ border: var(--stroke-hairline) solid
731
+ color-mix(
732
+ in srgb,
733
+ var(--editorial-ornament-color, hsl(var(--border)))
734
+ calc(var(--editorial-showcase-orbit-alpha) * 100%),
735
+ transparent
736
+ );
737
+ border-radius: 50%;
738
+ transform: translate(-50%, -50%);
739
+ }
740
+
741
+ .ui-card-showcase-orbit:dir(rtl) {
742
+ transform: translate(50%, -50%);
743
+ }
744
+
745
+ .ui-card-showcase-orbit[data-orbit="2"] {
746
+ width: var(--editorial-showcase-orbit-size-2);
747
+ height: var(--editorial-showcase-orbit-size-2);
748
+ }
749
+
750
+ .ui-card-showcase-orbit[data-orbit="3"] {
751
+ width: var(--editorial-showcase-orbit-size-3);
752
+ height: var(--editorial-showcase-orbit-size-3);
753
+ }
754
+
755
+ .ui-card-showcase-glow {
756
+ position: absolute;
757
+ z-index: -1;
758
+ inset-inline-end: 5%;
759
+ bottom: var(--editorial-showcase-glow-inset-block-end);
760
+ inset-inline-start: 10%;
761
+ height: var(--editorial-showcase-glow-height);
762
+ border-radius: 50%;
763
+ background: var(--editorial-ornament-color, hsl(var(--border)));
764
+ opacity: var(--editorial-showcase-glow-alpha);
765
+ filter: blur(18px);
766
+ }
767
+
768
+ .ui-card-showcase-label {
769
+ display: var(--editorial-showcase-label-display);
770
+ position: absolute;
771
+ top: var(--editorial-showcase-label-inset-block-start);
772
+ inset-inline-end: var(--editorial-showcase-label-inset-inline-end);
773
+ color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
774
+ font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
775
+ font-size: var(--editorial-showcase-label-font-size);
776
+ letter-spacing: var(--editorial-showcase-label-letter-spacing);
777
+ }
778
+
779
+ .ui-card-showcase-star {
780
+ position: absolute;
781
+ top: var(--editorial-showcase-star-inset-block-start);
782
+ inset-inline-start: var(--editorial-showcase-star-inset-inline-start);
783
+ color: var(--editorial-ornament-color, hsl(var(--border)));
784
+ font-family: serif;
785
+ font-size: var(--editorial-showcase-star-font-size);
786
+ }
787
+
788
+ .ui-card-showcase-star[data-size="small"] {
789
+ top: auto;
790
+ inset-inline-end: var(--editorial-showcase-star-small-inset-inline-end);
791
+ bottom: var(--editorial-showcase-star-small-inset-block-end);
792
+ inset-inline-start: auto;
793
+ font-size: var(--editorial-showcase-star-small-font-size);
794
+ }
795
+
796
+ .ui-card-showcase-card {
797
+ display: block;
798
+ position: absolute;
799
+ top: var(--editorial-showcase-start-inset-block-start);
800
+ width: var(--editorial-showcase-card-width);
801
+ filter: drop-shadow(var(--editorial-showcase-card-shadow));
802
+ transition: transform var(--duration-slow) var(--ease-standard);
803
+ }
804
+
805
+ .ui-card-showcase-card > * {
806
+ display: block;
807
+ }
808
+
809
+ .ui-card-showcase-card img {
810
+ display: block;
811
+ width: 100%;
812
+ height: auto;
813
+ border-radius: var(--editorial-showcase-card-radius);
814
+ }
815
+
816
+ .ui-card-showcase-card[data-position="start"] {
817
+ inset-inline-start: var(--editorial-showcase-start-inset-inline-start);
818
+ transform: rotate(var(--editorial-showcase-start-offset-angle));
819
+ }
820
+
821
+ .ui-card-showcase-card[data-position="end"] {
822
+ top: var(--editorial-showcase-end-inset-block-start);
823
+ inset-inline-end: var(--editorial-showcase-end-inset-inline-end);
824
+ transform: rotate(var(--editorial-showcase-end-offset-angle));
825
+ }
826
+
827
+ .ui-card-showcase-card[data-position="center"] {
828
+ z-index: 2;
829
+ top: var(--editorial-showcase-center-inset-block-start);
830
+ inset-inline-start: calc(50% + var(--editorial-showcase-center-offset-inline));
831
+ width: var(--editorial-showcase-center-width);
832
+ transform: rotate(var(--editorial-showcase-center-offset-angle));
833
+ }
834
+
835
+ .ui-card-showcase-card:hover {
836
+ transform: translateY(var(--editorial-showcase-card-hover-translate)) rotate(0);
837
+ }
838
+
839
+ .ui-card-showcase-caption {
840
+ display: flex;
841
+ position: absolute;
842
+ z-index: 4;
843
+ inset-inline-end: var(--editorial-showcase-caption-inset-inline-end);
844
+ bottom: var(--editorial-showcase-caption-inset-block-end);
845
+ align-items: center;
846
+ justify-content: var(--editorial-showcase-caption-align);
847
+ gap: var(--editorial-showcase-caption-gap);
848
+ min-width: var(--editorial-showcase-caption-min-width);
849
+ padding: var(--editorial-showcase-caption-padding-block)
850
+ var(--editorial-showcase-caption-padding-inline);
851
+ border: var(--stroke-hairline) solid hsl(var(--border));
852
+ border-radius: var(--editorial-showcase-caption-radius);
853
+ background: hsl(var(--card));
854
+ box-shadow: var(
855
+ --editorial-showcase-caption-shadow,
856
+ 0 4px 16px rgb(var(--shadow-color, 0 0 0) / 0.06)
857
+ );
858
+ }
859
+
860
+ .ui-card-showcase-caption-icon {
861
+ display: var(--editorial-showcase-caption-icon-display);
862
+ flex: none;
863
+ width: var(--editorial-showcase-caption-icon-size);
864
+ height: var(--editorial-showcase-caption-icon-size);
865
+ color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
866
+ }
867
+
868
+ .ui-card-showcase-caption-icon > svg {
869
+ width: 100%;
870
+ height: 100%;
871
+ }
872
+
873
+ .ui-card-showcase-caption-overline {
874
+ display: block;
875
+ color: hsl(var(--muted-foreground));
876
+ font-size: var(--editorial-showcase-caption-overline-font-size);
877
+ }
878
+
879
+ .ui-card-showcase-caption-title {
880
+ font-size: var(--editorial-showcase-caption-title-font-size);
881
+ font-weight: var(--font-weight-semibold);
882
+ }
883
+
884
+ .ui-card-showcase[data-preset="binder"] {
885
+ display: grid;
886
+ position: relative;
887
+ grid-template-columns: repeat(3, minmax(0, 1fr));
888
+ gap: var(--editorial-binder-gap);
889
+ width: 100%;
890
+ max-width: var(--editorial-binder-max-width);
891
+ padding: var(--editorial-binder-padding);
892
+ border: var(--stroke-hairline) solid
893
+ var(--editorial-binder-border-color, hsl(var(--background) / 0.4));
894
+ border-radius: var(--editorial-binder-radius);
895
+ background: var(--editorial-binder-background, hsl(var(--background) / 0.1));
896
+ box-shadow: var(--editorial-binder-shadow);
897
+ transform: rotate(var(--editorial-binder-offset-angle));
898
+ }
899
+
900
+ .ui-card-showcase-pocket {
901
+ display: block;
902
+ min-width: 0;
903
+ }
904
+
905
+ .ui-card-showcase-pocket img {
906
+ display: block;
907
+ width: 100%;
908
+ height: var(--editorial-binder-pocket-height);
909
+ padding: var(--editorial-binder-pocket-padding);
910
+ border: var(--stroke-hairline) solid rgb(255 255 255 / 0.15);
911
+ border-radius: var(--editorial-binder-pocket-radius);
912
+ background: rgb(255 255 255 / 0.05);
913
+ object-fit: contain;
914
+ }
915
+
916
+ .ui-editorial-banner {
917
+
918
+ --editorial-kicker-color: var(--editorial-banner-kicker-color, currentColor);
919
+ display: grid;
920
+ position: relative;
921
+ grid-template-columns: var(--editorial-banner-track-size);
922
+ align-items: center;
923
+ gap: var(--editorial-banner-gap);
924
+ padding: var(--editorial-banner-padding-block) var(--editorial-banner-padding-inline);
925
+ overflow: hidden;
926
+ border-radius: var(--editorial-banner-radius);
927
+ background: var(--editorial-banner-background, hsl(var(--foreground)));
928
+ color: var(--editorial-banner-foreground, hsl(var(--background)));
929
+ }
930
+
931
+ .ui-editorial-banner-copy {
932
+ min-width: 0;
933
+ }
934
+
935
+ .ui-editorial-banner-title {
936
+ margin: var(--editorial-banner-title-space-block) 0;
937
+ font-family: var(--font-family-editorial, var(--font-family-display));
938
+ font-size: var(--editorial-banner-title-font-size);
939
+ font-weight: var(--font-weight-semibold);
940
+ line-height: var(--editorial-section-head-title-line-height);
941
+ letter-spacing: var(--editorial-section-head-title-letter-spacing);
942
+ }
943
+
944
+ .ui-editorial-banner-description {
945
+ max-width: var(--editorial-banner-description-max-width);
946
+ margin: 0;
947
+ color: var(--editorial-banner-muted-foreground, currentColor);
948
+ font-size: var(--editorial-banner-description-font-size);
949
+ line-height: var(--editorial-banner-description-line-height);
950
+ }
951
+
952
+ .ui-editorial-banner-action {
953
+ --primary: var(--editorial-banner-action-background, var(--background));
954
+ --primary-hover: var(--editorial-banner-action-hover-background, var(--background));
955
+ --primary-foreground: var(--editorial-banner-action-foreground, var(--foreground));
956
+ --ring: var(--editorial-banner-action-background, var(--background));
957
+ --focus-ring-color: var(--ring);
958
+ margin-block-start: var(--editorial-banner-action-space-block-start);
959
+ }
960
+
961
+ .ui-editorial-banner-action > * {
962
+ width: var(--editorial-banner-action-width);
963
+ }
964
+
965
+ .ui-editorial-banner-media {
966
+ display: flex;
967
+ min-width: 0;
968
+ justify-content: var(--editorial-banner-media-align);
969
+ }
970
+
971
+ .ui-catalog-card {
972
+ position: relative;
973
+ min-width: 0;
974
+ overflow: hidden;
975
+ border: var(--stroke-hairline) solid hsl(var(--border));
976
+ border-radius: var(--editorial-catalog-card-radius);
977
+ background: hsl(var(--card));
978
+ transition:
979
+ box-shadow var(--duration-base) var(--ease-standard),
980
+ transform var(--duration-base) var(--ease-standard);
981
+ }
982
+
983
+ .ui-catalog-card:hover {
984
+ box-shadow: var(
985
+ --editorial-catalog-card-hover-shadow,
986
+ 0 10px 28px rgb(var(--shadow-color, 0 0 0) / 0.1)
987
+ );
988
+ transform: translateY(var(--editorial-catalog-card-hover-translate));
989
+ }
990
+
991
+ .ui-catalog-card-favorite {
992
+ display: inline-flex;
993
+ position: absolute;
994
+ z-index: 2;
995
+ top: var(--editorial-catalog-card-favorite-inset);
996
+ inset-inline-end: var(--editorial-catalog-card-favorite-inset);
997
+ align-items: center;
998
+ justify-content: center;
999
+ width: var(--editorial-catalog-card-favorite-size);
1000
+ height: var(--editorial-catalog-card-favorite-size);
1001
+ border: var(--editorial-catalog-card-favorite-border-width) solid hsl(var(--border));
1002
+ border-radius: 50%;
1003
+ background: var(--editorial-catalog-card-favorite-background, hsl(var(--card)));
1004
+ color: inherit;
1005
+ cursor: pointer;
1006
+ }
1007
+
1008
+ .ui-catalog-card-favorite:disabled {
1009
+ cursor: default;
1010
+ opacity: 0.5;
1011
+ }
1012
+
1013
+ .ui-catalog-card-favorite[aria-pressed="true"] {
1014
+ background: hsl(var(--accent));
1015
+ color: hsl(var(--text-brand, var(--primary)));
1016
+ }
1017
+
1018
+ .ui-catalog-card-favorite-icon {
1019
+ width: var(--editorial-catalog-card-favorite-icon-size);
1020
+ height: var(--editorial-catalog-card-favorite-icon-size);
1021
+ }
1022
+
1023
+ .ui-catalog-card-favorite[aria-pressed="true"] .ui-catalog-card-favorite-icon {
1024
+ fill: currentColor;
1025
+ }
1026
+
1027
+ .ui-catalog-card-media {
1028
+ display: flex;
1029
+ position: relative;
1030
+ align-items: center;
1031
+ justify-content: center;
1032
+ aspect-ratio: var(--editorial-catalog-card-media-aspect-size);
1033
+ padding: var(--editorial-catalog-card-media-padding-block-start)
1034
+ var(--editorial-catalog-card-media-padding-inline)
1035
+ var(--editorial-catalog-card-media-padding-block-end);
1036
+ background: hsl(var(--muted));
1037
+ }
1038
+
1039
+ .ui-catalog-card-media > * {
1040
+ display: flex;
1041
+ width: 100%;
1042
+ height: 100%;
1043
+ min-height: 0;
1044
+ align-items: center;
1045
+ justify-content: center;
1046
+ }
1047
+
1048
+ .ui-catalog-card-media img {
1049
+ width: 100%;
1050
+ height: 100%;
1051
+ border-radius: var(--editorial-catalog-card-media-radius);
1052
+ object-fit: contain;
1053
+ filter: drop-shadow(var(--editorial-catalog-card-media-shadow));
1054
+ }
1055
+
1056
+ .ui-catalog-card[data-variant="sealed"] .ui-catalog-card-media {
1057
+ aspect-ratio: var(--editorial-catalog-card-sealed-aspect-size);
1058
+ padding: var(--editorial-catalog-card-sealed-padding);
1059
+ }
1060
+
1061
+ .ui-catalog-card[data-variant="sealed"] .ui-catalog-card-media img {
1062
+ filter: none;
1063
+ }
1064
+
1065
+ .ui-catalog-card-body {
1066
+ padding: var(--editorial-catalog-card-body-padding-block-start)
1067
+ var(--editorial-catalog-card-body-padding-inline) 0;
1068
+ }
1069
+
1070
+ .ui-catalog-card-overline {
1071
+ display: flex;
1072
+ align-items: center;
1073
+ min-height: var(--editorial-catalog-card-overline-min-height);
1074
+ margin: 0;
1075
+ color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
1076
+ font-size: var(--editorial-catalog-card-overline-font-size);
1077
+ line-height: var(--editorial-catalog-card-overline-line-height);
1078
+ }
1079
+
1080
+ .ui-catalog-card-title {
1081
+ display: -webkit-box;
1082
+ min-height: var(--editorial-catalog-card-title-min-height);
1083
+ margin: var(--editorial-catalog-card-title-space-block-start) 0
1084
+ var(--editorial-catalog-card-title-space-block-end);
1085
+ overflow: hidden;
1086
+ font-size: var(--editorial-catalog-card-title-font-size);
1087
+ font-weight: var(--font-weight-semibold);
1088
+ line-height: var(--editorial-catalog-card-title-line-height);
1089
+ -webkit-box-orient: vertical;
1090
+ -webkit-line-clamp: 2;
1091
+ }
1092
+
1093
+ .ui-catalog-card-title a {
1094
+ color: inherit;
1095
+ text-decoration: none;
1096
+ }
1097
+
1098
+ .ui-catalog-card-title a:hover {
1099
+ color: hsl(var(--text-brand, var(--primary)));
1100
+ }
1101
+
1102
+ .ui-catalog-card-meta {
1103
+ display: flex;
1104
+ flex-wrap: wrap;
1105
+ align-content: flex-start;
1106
+ align-items: center;
1107
+ gap: var(--editorial-catalog-card-meta-gap);
1108
+ min-height: var(--editorial-catalog-card-meta-min-height);
1109
+ color: hsl(var(--muted-foreground));
1110
+ font-size: var(--editorial-catalog-card-meta-font-size);
1111
+ line-height: var(--editorial-catalog-card-meta-line-height);
1112
+ }
1113
+
1114
+ .ui-catalog-card-tag {
1115
+ padding: var(--stroke-hairline) var(--editorial-catalog-card-tag-padding-inline);
1116
+ border: var(--stroke-hairline) solid hsl(var(--border));
1117
+ border-radius: var(--editorial-catalog-card-tag-radius);
1118
+ color: hsl(var(--foreground));
1119
+ font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
1120
+ font-size: var(--editorial-catalog-card-tag-font-size);
1121
+ font-weight: var(--font-weight-semibold);
1122
+ line-height: var(--editorial-catalog-card-tag-line-height);
1123
+ }
1124
+
1125
+ .ui-catalog-card-price-label {
1126
+ display: -webkit-box;
1127
+ overflow: hidden;
1128
+ -webkit-box-orient: vertical;
1129
+
1130
+ -webkit-line-clamp: var(--editorial-catalog-card-price-label-line-clamp);
1131
+ min-height: var(--editorial-catalog-card-price-label-min-height);
1132
+ margin: var(--editorial-catalog-card-price-label-space-block-start) 0 0;
1133
+ color: hsl(var(--muted-foreground));
1134
+ font-size: var(--editorial-catalog-card-price-label-font-size);
1135
+ }
1136
+
1137
+ .ui-catalog-card-price-line {
1138
+ display: var(--editorial-catalog-card-price-line-display);
1139
+ flex-wrap: wrap;
1140
+ align-items: baseline;
1141
+ justify-content: space-between;
1142
+ gap: var(--editorial-catalog-card-price-line-gap);
1143
+ }
1144
+
1145
+ .ui-catalog-card-price {
1146
+ color: hsl(var(--text-brand, var(--primary)));
1147
+ font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
1148
+ font-size: var(--editorial-catalog-card-price-font-size);
1149
+ font-variant-numeric: tabular-nums;
1150
+ font-weight: var(--font-weight-semibold);
1151
+ line-height: var(--editorial-catalog-card-price-line-height);
1152
+ white-space: nowrap;
1153
+ }
1154
+
1155
+ .ui-catalog-card-price small {
1156
+ margin-inline-start: var(--editorial-catalog-card-price-suffix-space-inline-start);
1157
+ font-size: var(--editorial-catalog-card-price-suffix-font-size);
1158
+ }
1159
+
1160
+ .ui-catalog-card-change {
1161
+ display: var(--editorial-catalog-card-change-display);
1162
+ margin-block-start: var(--editorial-catalog-card-change-space-block-start);
1163
+ font-size: var(--editorial-catalog-card-change-font-size);
1164
+ font-weight: var(--font-weight-medium);
1165
+ line-height: var(--editorial-catalog-card-change-line-height);
1166
+ white-space: nowrap;
1167
+ }
1168
+
1169
+ .ui-catalog-card-footer {
1170
+ display: flex;
1171
+ flex-wrap: wrap;
1172
+ align-items: center;
1173
+ justify-content: space-between;
1174
+ gap: var(--editorial-catalog-card-footer-gap);
1175
+ margin-block-start: var(--editorial-catalog-card-footer-space-block-start);
1176
+ padding-block: var(--editorial-catalog-card-footer-padding-block);
1177
+ border-block-start: var(--stroke-hairline) solid hsl(var(--border));
1178
+ font-size: var(--editorial-catalog-card-footer-font-size);
1179
+ }
1180
+
1181
+ .ui-catalog-card-footer a {
1182
+ display: inline-flex;
1183
+ align-items: center;
1184
+ gap: var(--editorial-catalog-card-footer-link-gap);
1185
+ min-height: var(--editorial-catalog-card-footer-link-min-height);
1186
+ color: hsl(var(--text-brand, var(--primary)));
1187
+ text-decoration: none;
1188
+ }
1189
+
1190
+ .ui-catalog-card-footer svg {
1191
+ width: var(--editorial-catalog-card-footer-icon-size);
1192
+ height: var(--editorial-catalog-card-footer-icon-size);
1193
+ }
1194
+
1195
+ .ui-editorial-card[data-variant="spotlight"] {
1196
+ display: grid;
1197
+ grid-template-columns: var(--editorial-spotlight-track-size);
1198
+ align-items: center;
1199
+ min-height: var(--editorial-spotlight-min-height);
1200
+ overflow: hidden;
1201
+ border: var(--stroke-hairline) solid hsl(var(--border));
1202
+ border-radius: var(--editorial-catalog-card-radius);
1203
+ background: hsl(var(--card));
1204
+ color: inherit;
1205
+ text-decoration: none;
1206
+ transition: box-shadow var(--duration-base) var(--ease-standard);
1207
+ }
1208
+
1209
+ .ui-editorial-card[data-variant="spotlight"]:hover {
1210
+ box-shadow: var(
1211
+ --editorial-spotlight-hover-shadow,
1212
+ 0 4px 16px rgb(var(--shadow-color, 0 0 0) / 0.06)
1213
+ );
1214
+ }
1215
+
1216
+ .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-copy {
1217
+ min-width: 0;
1218
+ padding: var(--editorial-spotlight-padding-block) var(--editorial-spotlight-padding-inline);
1219
+ }
1220
+
1221
+ .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-overline {
1222
+ display: block;
1223
+ color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
1224
+ font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
1225
+ font-size: var(--editorial-spotlight-overline-font-size);
1226
+ font-weight: var(--font-weight-semibold);
1227
+ line-height: var(--editorial-eyebrow-line-height);
1228
+ letter-spacing: var(--editorial-spotlight-overline-letter-spacing);
1229
+ }
1230
+
1231
+ .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-title {
1232
+ margin-block: var(--editorial-spotlight-title-space-block);
1233
+ font-family: var(--font-family-editorial, var(--font-family-display));
1234
+ font-size: var(--editorial-spotlight-title-font-size);
1235
+ font-weight: var(--font-weight-semibold);
1236
+ line-height: var(--editorial-spotlight-title-line-height);
1237
+ }
1238
+
1239
+ .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-description {
1240
+ margin: 0;
1241
+ color: hsl(var(--muted-foreground));
1242
+ font-size: var(--editorial-spotlight-description-font-size);
1243
+ }
1244
+
1245
+ .ui-editorial-card-description-icon {
1246
+ display: inline;
1247
+ width: var(--editorial-spotlight-description-icon-size);
1248
+ height: var(--editorial-spotlight-description-icon-size);
1249
+ vertical-align: middle;
1250
+ }
1251
+
1252
+ .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-media {
1253
+ position: relative;
1254
+ height: 100%;
1255
+ overflow: hidden;
1256
+ background: linear-gradient(135deg, hsl(var(--muted)), hsl(var(--background)));
1257
+ }
1258
+
1259
+ .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-media > [data-slot="image"] {
1260
+ position: absolute;
1261
+ inset: 0;
1262
+ inline-size: 100%;
1263
+ block-size: 100%;
1264
+ }
1265
+
1266
+ .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-media img {
1267
+ position: absolute;
1268
+ top: var(--editorial-spotlight-media-inset-block-start);
1269
+ inset-inline-start: var(--editorial-spotlight-media-inset-inline-start);
1270
+ width: var(--editorial-spotlight-media-width);
1271
+ height: var(--editorial-spotlight-media-height);
1272
+ object-fit: contain;
1273
+ filter: drop-shadow(var(--editorial-spotlight-media-shadow));
1274
+ transform: rotate(var(--editorial-spotlight-media-offset-angle));
1275
+ }
1276
+
1277
+ .ui-editorial-card[data-variant="journal"] {
1278
+ min-width: 0;
1279
+ overflow: hidden;
1280
+ border: var(--stroke-hairline) solid hsl(var(--border));
1281
+ border-radius: var(--editorial-catalog-card-radius);
1282
+ background: hsl(var(--card));
1283
+ transition:
1284
+ border-color var(--duration-base) var(--ease-standard),
1285
+ box-shadow var(--duration-base) var(--ease-standard),
1286
+ transform var(--duration-base) var(--ease-standard);
1287
+ }
1288
+
1289
+ .ui-editorial-card[data-variant="journal"]:hover {
1290
+ border-color: color-mix(
1291
+ in srgb,
1292
+ var(--editorial-ornament-color, hsl(var(--border))),
1293
+ hsl(var(--border)) 45%
1294
+ );
1295
+ box-shadow: var(
1296
+ --editorial-journal-hover-shadow,
1297
+ 0 12px 28px rgb(var(--shadow-color, 0 0 0) / 0.08)
1298
+ );
1299
+ transform: translateY(var(--editorial-catalog-card-hover-translate));
1300
+ }
1301
+
1302
+ .ui-editorial-card-link {
1303
+ display: flex;
1304
+ flex-direction: column;
1305
+ height: 100%;
1306
+ color: hsl(var(--foreground));
1307
+ text-decoration: none;
1308
+ }
1309
+
1310
+ .ui-editorial-card[data-variant="journal"] .ui-editorial-card-media {
1311
+ display: block;
1312
+ position: relative;
1313
+ isolation: isolate;
1314
+ width: 100%;
1315
+ height: var(--editorial-journal-cover-height);
1316
+ overflow: hidden;
1317
+ border-block-end: var(--stroke-hairline) solid hsl(var(--border));
1318
+ background: var(--editorial-journal-cover-background, hsl(var(--muted)));
1319
+ }
1320
+
1321
+ .ui-editorial-card[data-variant="journal"] .ui-editorial-card-media img {
1322
+ display: block;
1323
+ width: 100%;
1324
+ height: 100%;
1325
+ object-fit: var(--editorial-journal-cover-image-size);
1326
+ object-position: var(--editorial-journal-cover-image-align);
1327
+ }
1328
+
1329
+ .ui-editorial-card[data-variant="journal"] .ui-editorial-card-copy {
1330
+ display: flex;
1331
+ flex: 1;
1332
+ flex-direction: column;
1333
+ padding: var(--editorial-journal-padding-block-start) var(--editorial-journal-padding-inline)
1334
+ var(--editorial-journal-padding-block-end);
1335
+ }
1336
+
1337
+ .ui-editorial-card[data-variant="journal"] .ui-editorial-card-overline {
1338
+ align-self: flex-start;
1339
+ color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
1340
+ font-size: var(--editorial-journal-category-font-size);
1341
+ font-weight: var(--font-weight-semibold);
1342
+ line-height: var(--editorial-journal-category-line-height);
1343
+ letter-spacing: var(--editorial-journal-category-letter-spacing);
1344
+ }
1345
+
1346
+ .ui-editorial-card[data-variant="journal"] .ui-editorial-card-title {
1347
+ min-height: var(--editorial-journal-title-min-height);
1348
+ margin: var(--editorial-journal-title-space-block-start) 0
1349
+ var(--editorial-journal-title-space-block-end);
1350
+ font-family: var(--font-family-editorial, var(--font-family-display));
1351
+ font-size: var(--editorial-journal-title-font-size);
1352
+ font-weight: var(--font-weight-semibold);
1353
+ line-height: var(--editorial-journal-title-line-height);
1354
+ letter-spacing: var(--editorial-journal-title-letter-spacing);
1355
+ line-break: strict;
1356
+ overflow-wrap: break-word;
1357
+ text-wrap: balance;
1358
+ }
1359
+
1360
+ .ui-editorial-card[data-variant="journal"] .ui-editorial-card-description {
1361
+ display: -webkit-box;
1362
+ margin: 0 0 var(--editorial-journal-description-space-block-end);
1363
+ overflow: hidden;
1364
+ color: hsl(var(--muted-foreground));
1365
+ font-size: var(--editorial-journal-description-font-size);
1366
+ line-height: var(--editorial-journal-description-line-height);
1367
+ -webkit-box-orient: vertical;
1368
+ -webkit-line-clamp: 2;
1369
+ }
1370
+
1371
+ .ui-editorial-card-footer {
1372
+ display: flex;
1373
+ align-items: center;
1374
+ justify-content: space-between;
1375
+ gap: var(--editorial-journal-footer-gap);
1376
+ min-height: var(--editorial-journal-footer-min-height);
1377
+ margin-block-start: auto;
1378
+ padding-block-start: var(--editorial-journal-footer-padding-block-start);
1379
+ border-block-start: var(--stroke-hairline) solid hsl(var(--border));
1380
+ color: hsl(var(--text-brand, var(--primary)));
1381
+ font-size: var(--editorial-journal-footer-font-size);
1382
+ font-weight: var(--font-weight-semibold);
1383
+ }
1384
+
1385
+ .ui-editorial-card-arrow {
1386
+ display: grid;
1387
+ place-items: center;
1388
+ width: var(--editorial-journal-arrow-size);
1389
+ height: var(--editorial-journal-arrow-size);
1390
+ border-radius: 50%;
1391
+ background: hsl(var(--muted));
1392
+ transition:
1393
+ background var(--duration-base) var(--ease-standard),
1394
+ color var(--duration-base) var(--ease-standard);
1395
+ }
1396
+
1397
+ .ui-editorial-card-arrow-icon {
1398
+ width: var(--editorial-journal-arrow-icon-size);
1399
+ height: var(--editorial-journal-arrow-icon-size);
1400
+ }
1401
+
1402
+ .ui-editorial-card[data-variant="journal"]:hover .ui-editorial-card-arrow {
1403
+ background: hsl(var(--primary));
1404
+ color: hsl(var(--primary-foreground));
1405
+ }
1406
+
1407
+ .ui-centered-shell-bar:has(> .ui-editorial-masthead) {
1408
+ position: sticky;
1409
+ z-index: 30;
1410
+ top: 0;
1411
+ min-height: 0;
1412
+ background: var(--editorial-masthead-background, hsl(var(--background) / 0.97));
1413
+ background-image: none;
1414
+ backdrop-filter: blur(var(--editorial-masthead-backdrop-blur-size));
1415
+ }
1416
+
1417
+ .ui-editorial-masthead {
1418
+ display: flex;
1419
+ align-items: center;
1420
+ gap: var(--editorial-masthead-gap);
1421
+ width: 100%;
1422
+ height: var(--editorial-masthead-height);
1423
+ }
1424
+
1425
+ .ui-editorial-masthead-brand {
1426
+ flex: none;
1427
+ }
1428
+
1429
+ .ui-editorial-masthead-brand > * {
1430
+ display: block;
1431
+ padding-block: var(--editorial-masthead-brand-padding-block);
1432
+ }
1433
+
1434
+ .ui-editorial-masthead-brand img {
1435
+ display: block;
1436
+ width: var(--editorial-masthead-logo-width);
1437
+ height: auto;
1438
+ }
1439
+
1440
+ .ui-editorial-masthead-nav {
1441
+ display: var(--editorial-masthead-nav-display);
1442
+ align-items: center;
1443
+ align-self: stretch;
1444
+ gap: var(--editorial-masthead-nav-gap);
1445
+ margin-inline-start: var(--editorial-masthead-nav-space-inline-start);
1446
+ }
1447
+
1448
+ .ui-editorial-masthead-link {
1449
+ display: flex;
1450
+ position: relative;
1451
+ align-items: center;
1452
+ color: inherit;
1453
+ font-size: var(--editorial-masthead-link-font-size);
1454
+ font-weight: var(--font-weight-medium);
1455
+ text-decoration: none;
1456
+ white-space: nowrap;
1457
+ }
1458
+
1459
+ .ui-editorial-masthead-link:hover,
1460
+ .ui-editorial-masthead-link[aria-current="page"] {
1461
+ color: hsl(var(--text-brand, var(--primary)));
1462
+ }
1463
+
1464
+ .ui-editorial-masthead-link[aria-current="page"]::after {
1465
+ content: "";
1466
+ position: absolute;
1467
+ inset-inline: 0;
1468
+ bottom: 0;
1469
+ height: var(--editorial-masthead-indicator-size);
1470
+ background: hsl(var(--primary));
1471
+ }
1472
+
1473
+ .ui-editorial-masthead-actions {
1474
+ display: flex;
1475
+ align-items: center;
1476
+ gap: var(--editorial-masthead-actions-gap);
1477
+ margin-inline-start: auto;
1478
+ }
1479
+
1480
+ .ui-editorial-masthead-menu {
1481
+ display: var(--editorial-masthead-menu-display);
1482
+ }
1483
+
1484
+ .ui-editorial-masthead-action {
1485
+ display: inline-flex;
1486
+ flex: none;
1487
+ align-items: center;
1488
+ justify-content: center;
1489
+ width: var(--editorial-masthead-action-size);
1490
+ height: var(--editorial-masthead-action-size);
1491
+ padding: 0;
1492
+ border: 0;
1493
+ border-radius: var(--editorial-masthead-action-radius);
1494
+ background: transparent;
1495
+ color: inherit;
1496
+ cursor: pointer;
1497
+ }
1498
+
1499
+ .ui-editorial-masthead-action:hover {
1500
+ background: hsl(var(--muted));
1501
+ }
1502
+
1503
+ .ui-editorial-masthead-action[data-variant="outline"] {
1504
+ border: var(--editorial-masthead-outline-border-width) solid hsl(var(--border));
1505
+ background: var(--editorial-masthead-outline-background, hsl(var(--card)));
1506
+ }
1507
+
1508
+ .ui-editorial-masthead-action[data-collapse] {
1509
+ display: var(--editorial-masthead-collapsible-display);
1510
+ }
1511
+
1512
+ .ui-editorial-masthead-action svg {
1513
+ width: var(--editorial-masthead-icon-size);
1514
+ height: var(--editorial-masthead-icon-size);
1515
+ }
1516
+
1517
+ .ui-editorial-masthead-actions [data-slot="select-trigger"] {
1518
+
1519
+ --control-height: var(--editorial-masthead-action-size);
1520
+ height: var(--editorial-masthead-action-size);
1521
+ max-width: var(--editorial-masthead-picker-max-width);
1522
+ min-height: var(--editorial-masthead-action-size);
1523
+ padding-inline: var(--editorial-masthead-picker-padding-inline);
1524
+ font-size: var(--editorial-masthead-picker-font-size);
1525
+ gap: var(--editorial-masthead-picker-gap);
1526
+ }
1527
+
1528
+ .ui-centered-shell .ui-centered-shell-footer:has(> .ui-editorial-footer) {
1529
+ margin-block-start: var(--editorial-footer-space-block-start);
1530
+ border-block-start: 0;
1531
+ padding-block: var(--editorial-footer-padding-block-start)
1532
+ var(--editorial-footer-padding-block-end);
1533
+ }
1534
+
1535
+ .ui-editorial-footer-top {
1536
+ display: grid;
1537
+ grid-template-columns: var(--editorial-footer-track-size);
1538
+ gap: var(--editorial-footer-gap);
1539
+ padding-block-end: var(--editorial-footer-top-padding-block-end);
1540
+ }
1541
+
1542
+ .ui-editorial-footer-brand {
1543
+ grid-column: var(--editorial-footer-brand-span-width);
1544
+ }
1545
+
1546
+ .ui-editorial-footer-brand img {
1547
+ display: block;
1548
+ width: var(--editorial-footer-logo-width);
1549
+ height: auto;
1550
+ }
1551
+
1552
+ .ui-editorial-footer-tagline {
1553
+ max-width: var(--editorial-footer-tagline-max-width);
1554
+ margin: var(--editorial-footer-tagline-space-block-start) 0 0;
1555
+ color: hsl(var(--muted-foreground));
1556
+ font-size: var(--editorial-footer-font-size);
1557
+ line-height: var(--editorial-footer-tagline-line-height);
1558
+ }
1559
+
1560
+ .ui-editorial-footer-group:last-child {
1561
+ display: var(--editorial-footer-last-group-display);
1562
+ }
1563
+
1564
+ .ui-editorial-footer-heading {
1565
+ margin: 0 0 var(--editorial-footer-heading-space-block-end);
1566
+ color: var(--editorial-footer-heading-color, currentColor);
1567
+ font-size: var(--editorial-footer-font-size);
1568
+ font-weight: var(--font-weight-semibold);
1569
+ line-height: var(--editorial-footer-heading-line-height);
1570
+ letter-spacing: var(--editorial-footer-heading-letter-spacing);
1571
+ }
1572
+
1573
+ .ui-editorial-footer-group > a {
1574
+ display: block;
1575
+ min-height: var(--editorial-footer-link-min-height);
1576
+ color: hsl(var(--text-link, var(--foreground)));
1577
+ font-size: var(--editorial-footer-font-size);
1578
+ text-decoration: none;
1579
+ }
1580
+
1581
+ .ui-editorial-footer-group > a:hover {
1582
+ text-decoration-line: underline;
1583
+ text-underline-offset: var(--editorial-hero-footer-link-offset);
1584
+ }
1585
+
1586
+ .ui-editorial-footer-bottom {
1587
+ display: var(--editorial-footer-bottom-display);
1588
+ justify-content: space-between;
1589
+ gap: var(--editorial-footer-bottom-gap);
1590
+ padding-block-start: var(--editorial-footer-bottom-padding-block-start);
1591
+ border-block-start: var(--stroke-hairline) solid hsl(var(--border));
1592
+ color: var(--editorial-footer-legal-color, hsl(var(--muted-foreground)));
1593
+ font-size: var(--editorial-footer-legal-font-size);
1594
+ line-height: var(--editorial-footer-legal-line-height);
1595
+ }
1596
+
1597
+ .ui-editorial-footer-note {
1598
+ max-width: var(--editorial-footer-note-max-width);
1599
+ margin: var(--editorial-footer-note-space-block-start) 0 0;
1600
+ }
1601
+
1602
+ .ui-editorial-filter-bar {
1603
+ display: flex;
1604
+ align-items: center;
1605
+ justify-content: space-between;
1606
+ gap: var(--editorial-filter-bar-gap);
1607
+ margin-block-end: var(--editorial-filter-bar-space-block-end);
1608
+ padding-block-end: var(--editorial-filter-bar-padding-block-end);
1609
+ border-block-end: var(--stroke-hairline) solid hsl(var(--border));
1610
+ }
1611
+
1612
+ .ui-editorial-filter-bar-group {
1613
+ display: flex;
1614
+ align-items: center;
1615
+ gap: var(--editorial-filter-bar-option-gap);
1616
+ overflow-x: auto;
1617
+ }
1618
+
1619
+ .ui-editorial-filter-bar-option {
1620
+ min-height: var(--editorial-filter-bar-option-min-height);
1621
+ padding: var(--editorial-filter-bar-option-padding-block)
1622
+ var(--editorial-filter-bar-option-padding-inline);
1623
+ border: 0;
1624
+ border-block-end: var(--editorial-filter-bar-indicator-size) solid transparent;
1625
+ background: transparent;
1626
+ color: hsl(var(--muted-foreground));
1627
+ font: inherit;
1628
+ font-size: var(--editorial-filter-bar-option-font-size);
1629
+ white-space: nowrap;
1630
+ cursor: pointer;
1631
+ }
1632
+
1633
+ .ui-editorial-filter-bar-option[aria-pressed="true"] {
1634
+ border-block-end-color: hsl(var(--primary));
1635
+ color: hsl(var(--text-brand, var(--primary)));
1636
+ }
1637
+
1638
+ .ui-editorial-filter-bar-extra {
1639
+ color: hsl(var(--muted-foreground));
1640
+ font-size: var(--editorial-filter-bar-extra-font-size);
1641
+ white-space: nowrap;
1642
+ }
1643
+
1644
+ .ui-editorial-filter-panel {
1645
+ --control-font-size: var(--editorial-filter-panel-control-font-size);
1646
+ --control-padding-x: var(--editorial-filter-panel-control-padding-x);
1647
+ --control-surface-background: var(
1648
+ --editorial-filter-panel-control-background,
1649
+ hsl(var(--card))
1650
+ );
1651
+ display: flex;
1652
+ flex-wrap: wrap;
1653
+ align-items: flex-end;
1654
+ gap: var(--editorial-filter-panel-gap);
1655
+ margin-block-end: var(--editorial-filter-panel-space-block-end);
1656
+ padding: var(--editorial-filter-panel-padding);
1657
+ border: var(--stroke-hairline) solid hsl(var(--border));
1658
+ border-radius: var(--editorial-filter-panel-radius);
1659
+ background: hsl(var(--card));
1660
+ }
1661
+
1662
+ .ui-editorial-filter-field {
1663
+ display: flex;
1664
+ flex: 1 1 var(--editorial-filter-field-width-basis);
1665
+ flex-direction: column;
1666
+ gap: var(--editorial-filter-field-gap);
1667
+ min-width: var(--editorial-filter-field-min-width);
1668
+ }
1669
+
1670
+ .ui-editorial-filter-field-label {
1671
+ color: var(--editorial-filter-field-label-color, hsl(var(--muted-foreground)));
1672
+ font-size: var(--editorial-filter-field-label-font-size);
1673
+ font-weight: var(--editorial-filter-field-label-font-weight);
1674
+ line-height: var(--editorial-filter-field-label-line-height);
1675
+ }
1676
+
1677
+ .ui-editorial-filter-panel[data-variant="bare"] {
1678
+ --editorial-filter-field-label-color: var(
1679
+ --editorial-filter-panel-bare-label-color,
1680
+ hsl(var(--foreground))
1681
+ );
1682
+ --editorial-filter-field-label-font-size: var(--editorial-filter-panel-bare-label-font-size);
1683
+ --editorial-filter-field-label-font-weight: var(
1684
+ --editorial-filter-panel-bare-label-font-weight
1685
+ );
1686
+ margin-block-end: 0;
1687
+ padding: 0;
1688
+ border: 0;
1689
+ border-radius: 0;
1690
+ background: transparent;
1691
+ }
1692
+
1693
+ .ui-editorial-filter-panel-action {
1694
+ --button-padding-inline: var(--editorial-filter-panel-action-padding-inline);
1695
+ --button-outline-foreground: var(--editorial-catalog-outline-color, hsl(var(--primary)));
1696
+ --button-outline-background: var(--editorial-catalog-outline-background, transparent);
1697
+ display: flex;
1698
+ flex-grow: var(--editorial-filter-panel-action-size-grow);
1699
+ }
1700
+
1701
+ .ui-editorial-filter-panel-action > * {
1702
+ flex: 1;
1703
+ }
1704
+
1705
+ .ui-catalog-detail {
1706
+ display: grid;
1707
+ grid-template-columns: var(--editorial-catalog-detail-track-size);
1708
+ align-items: start;
1709
+ gap: var(--editorial-catalog-detail-gap);
1710
+ padding-block: var(--editorial-catalog-detail-padding-block-start)
1711
+ var(--editorial-catalog-detail-padding-block-end);
1712
+ }
1713
+
1714
+ .ui-catalog-detail-visual,
1715
+ .ui-catalog-detail-main {
1716
+ min-width: 0;
1717
+ }
1718
+
1719
+ .ui-catalog-detail-art {
1720
+ display: flex;
1721
+ position: relative;
1722
+ align-items: center;
1723
+ justify-content: center;
1724
+ max-width: var(--editorial-catalog-detail-art-max-width);
1725
+ height: var(--editorial-catalog-detail-art-height);
1726
+ min-height: var(--editorial-catalog-detail-art-min-height);
1727
+ margin-inline: auto;
1728
+ padding: var(--editorial-catalog-detail-art-padding);
1729
+ border: var(--stroke-hairline) solid hsl(var(--border));
1730
+ border-radius: var(--editorial-catalog-detail-art-radius);
1731
+ background: hsl(var(--muted));
1732
+ }
1733
+
1734
+ .ui-catalog-detail-art > [data-slot="image"] {
1735
+ inline-size: var(--editorial-catalog-detail-media-width);
1736
+ block-size: var(--editorial-catalog-detail-media-height);
1737
+ max-inline-size: 100%;
1738
+ max-block-size: var(--editorial-catalog-detail-media-max-height);
1739
+ }
1740
+
1741
+ .ui-catalog-detail-art[data-status="loading"]::before {
1742
+ content: "";
1743
+ position: absolute;
1744
+ inset: 0;
1745
+ border-radius: inherit;
1746
+ background: var(--editorial-catalog-detail-loading-background, hsl(var(--accent)));
1747
+ animation: ui-catalog-detail-loading var(--editorial-catalog-detail-loading-duration)
1748
+ var(--ease-standard) infinite alternate;
1749
+ }
1750
+
1751
+ .ui-catalog-detail-art [data-status="loading"] img {
1752
+ visibility: hidden;
1753
+ }
1754
+
1755
+ @keyframes ui-catalog-detail-loading {
1756
+ to {
1757
+ opacity: var(--editorial-catalog-detail-loading-alpha);
1758
+ }
1759
+ }
1760
+
1761
+ @media (prefers-reduced-motion: reduce) {
1762
+ .ui-catalog-detail-art[data-status="loading"]::before {
1763
+ animation: none;
1764
+ }
1765
+ }
1766
+
1767
+ .ui-catalog-detail-art img {
1768
+ display: block;
1769
+ width: var(--editorial-catalog-detail-media-width);
1770
+ max-width: 100%;
1771
+ height: var(--editorial-catalog-detail-media-height);
1772
+ max-height: var(--editorial-catalog-detail-media-max-height);
1773
+ object-fit: contain;
1774
+ filter: drop-shadow(var(--editorial-catalog-detail-media-shadow));
1775
+ }
1776
+
1777
+ .ui-catalog-detail[data-variant="sealed"] .ui-catalog-detail-art img {
1778
+ filter: none;
1779
+ }
1780
+
1781
+ .ui-catalog-detail-caption {
1782
+ margin: var(--editorial-catalog-detail-caption-space-block-start) 0 0;
1783
+ color: hsl(var(--muted-foreground));
1784
+ font-size: var(--editorial-catalog-detail-caption-font-size);
1785
+ line-height: var(--editorial-catalog-detail-caption-line-height);
1786
+ text-align: center;
1787
+ }
1788
+
1789
+ .ui-catalog-detail-caption a {
1790
+ color: inherit;
1791
+ text-decoration: underline;
1792
+ text-underline-offset: 3px;
1793
+ }
1794
+
1795
+ .ui-catalog-detail-title {
1796
+ margin: var(--editorial-catalog-detail-title-space-block-start) 0
1797
+ var(--editorial-catalog-detail-title-space-block-end);
1798
+ font-family: var(--font-family-editorial, var(--font-family-display));
1799
+ font-size: var(--editorial-catalog-detail-title-font-size);
1800
+ font-weight: var(--font-weight-semibold);
1801
+ line-height: var(--editorial-catalog-detail-title-line-height);
1802
+ letter-spacing: var(--editorial-catalog-detail-title-letter-spacing);
1803
+ }
1804
+
1805
+ .ui-catalog-detail-meta {
1806
+ display: flex;
1807
+ flex-wrap: wrap;
1808
+ align-items: center;
1809
+ gap: var(--editorial-catalog-detail-meta-gap);
1810
+ margin-block-end: var(--editorial-catalog-detail-meta-space-block-end);
1811
+ }
1812
+
1813
+ .ui-catalog-detail-tag {
1814
+ display: inline-flex;
1815
+ align-items: center;
1816
+ min-height: var(--editorial-catalog-detail-tag-min-height);
1817
+ padding: var(--editorial-catalog-detail-tag-padding-block)
1818
+ var(--editorial-catalog-detail-tag-padding-inline);
1819
+ border: var(--stroke-hairline) solid hsl(var(--border));
1820
+ border-radius: var(--editorial-catalog-detail-tag-radius);
1821
+ color: hsl(var(--muted-foreground));
1822
+ font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
1823
+ font-size: var(--editorial-catalog-detail-tag-font-size);
1824
+ font-weight: var(--font-weight-medium);
1825
+ line-height: var(--editorial-catalog-detail-tag-line-height);
1826
+ }
1827
+
1828
+ .ui-catalog-detail-summary {
1829
+ padding-block: var(--editorial-catalog-detail-summary-padding-block);
1830
+ border-block: var(--stroke-hairline) solid hsl(var(--border));
1831
+ }
1832
+
1833
+ .ui-catalog-detail-summary-label,
1834
+ .ui-catalog-detail-summary-note {
1835
+ margin: 0;
1836
+ color: hsl(var(--muted-foreground));
1837
+ font-size: var(--editorial-catalog-detail-summary-label-font-size);
1838
+ line-height: var(--editorial-catalog-detail-summary-label-line-height);
1839
+ }
1840
+
1841
+ .ui-catalog-detail-summary-price {
1842
+ margin: var(--editorial-catalog-detail-summary-price-space-block) 0;
1843
+ color: hsl(var(--text-brand, var(--primary)));
1844
+ font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
1845
+ font-size: var(--editorial-catalog-detail-summary-price-font-size);
1846
+ font-variant-numeric: tabular-nums;
1847
+ font-weight: var(--font-weight-semibold);
1848
+ line-height: var(--editorial-catalog-detail-summary-price-line-height);
1849
+ }
1850
+
1851
+ .ui-catalog-detail-summary-price small {
1852
+ font-size: var(--editorial-catalog-detail-summary-price-suffix-font-size);
1853
+ }
1854
+
1855
+ .ui-catalog-detail-actions {
1856
+ --button-outline-foreground: var(--editorial-catalog-outline-color, hsl(var(--primary)));
1857
+ --button-outline-background: var(--editorial-catalog-outline-background, transparent);
1858
+ display: flex;
1859
+ flex-wrap: wrap;
1860
+ gap: var(--editorial-catalog-detail-actions-gap);
1861
+ margin-block-start: var(--editorial-catalog-detail-actions-space-block-start);
1862
+ }
1863
+
1864
+ .ui-catalog-detail-actions > :first-child {
1865
+ flex-basis: var(--editorial-catalog-detail-actions-lead-width-basis);
1866
+ }
1867
+
1868
+ .ui-catalog-detail-facts {
1869
+ display: grid;
1870
+ grid-template-columns: var(--editorial-catalog-detail-facts-track-size);
1871
+ column-gap: var(--editorial-catalog-detail-facts-gap);
1872
+ margin: var(--editorial-catalog-detail-facts-space-block-start) 0 0;
1873
+ font-size: var(--editorial-catalog-detail-facts-font-size);
1874
+ line-height: var(--editorial-catalog-detail-facts-line-height);
1875
+ }
1876
+
1877
+ .ui-catalog-detail-fact {
1878
+ min-width: 0;
1879
+ padding-block: var(--editorial-catalog-detail-fact-padding-block);
1880
+ border-block-end: var(--stroke-hairline) solid hsl(var(--border));
1881
+ }
1882
+
1883
+ .ui-catalog-detail-fact dt {
1884
+ margin-block-end: var(--editorial-catalog-detail-fact-label-space-block-end);
1885
+ color: hsl(var(--muted-foreground));
1886
+ font-size: var(--editorial-catalog-detail-fact-label-font-size);
1887
+ line-height: var(--editorial-catalog-detail-fact-label-line-height);
1888
+ }
1889
+
1890
+ .ui-catalog-detail-fact dd {
1891
+ margin: 0;
1892
+ }
1893
+
1894
+ .ui-catalog-detail-fact dd a {
1895
+ color: hsl(var(--text-brand, var(--primary)));
1896
+ text-decoration: underline;
1897
+ text-underline-offset: 4px;
1898
+ }
1899
+
1900
+ .ui-catalog-detail-section {
1901
+ padding-block: var(--editorial-catalog-detail-section-padding-block);
1902
+ border-block-start: var(--stroke-hairline) solid hsl(var(--border));
1903
+ }
1904
+
1905
+ .ui-catalog-detail-section[data-variant="module"] {
1906
+
1907
+ --button-gap: var(--editorial-catalog-detail-module-button-gap, initial);
1908
+ --button-icon-size: var(--editorial-catalog-detail-module-button-icon-size, initial);
1909
+ padding-block: var(--editorial-catalog-detail-module-padding-block);
1910
+ border-block-start: 0;
1911
+ }
1912
+
1913
+ .ui-catalog-detail-section-title {
1914
+ margin: 0 0 var(--editorial-catalog-detail-section-title-space-block-end);
1915
+ font-family: var(--font-family-editorial, var(--font-family-display));
1916
+ font-size: var(--editorial-catalog-detail-section-title-font-size);
1917
+ font-weight: var(--font-weight-semibold);
1918
+ line-height: var(--editorial-catalog-detail-section-title-line-height);
1919
+ letter-spacing: var(--editorial-catalog-detail-section-title-letter-spacing);
1920
+ }
1921
+
1922
+ .ui-catalog-detail-section-description {
1923
+ max-width: var(--editorial-catalog-detail-section-description-max-width);
1924
+ margin: 0;
1925
+ color: hsl(var(--muted-foreground));
1926
+ font-size: var(--editorial-catalog-detail-section-description-font-size);
1927
+ line-height: var(--editorial-catalog-detail-section-description-line-height);
1928
+ }
1929
+
1930
+ .ui-price-summary {
1931
+ display: flex;
1932
+ flex-wrap: wrap;
1933
+ gap: var(--stroke-hairline);
1934
+ margin-block-end: var(--editorial-price-summary-space-block-end);
1935
+ overflow: hidden;
1936
+ border: var(--stroke-hairline) solid hsl(var(--border));
1937
+ border-radius: var(--editorial-price-summary-radius);
1938
+ background: hsl(var(--border));
1939
+ }
1940
+
1941
+ .ui-price-summary-cell {
1942
+ display: flex;
1943
+ flex: 1 1 var(--editorial-price-summary-cell-width-basis);
1944
+ flex-direction: column;
1945
+ gap: var(--editorial-price-summary-cell-gap);
1946
+ min-width: 0;
1947
+ padding: var(--editorial-price-summary-cell-padding-block)
1948
+ var(--editorial-price-summary-cell-padding-inline);
1949
+ background: hsl(var(--card));
1950
+ }
1951
+
1952
+ .ui-price-summary-cell[data-context] {
1953
+ flex: var(--editorial-price-summary-context-size-grow) 1
1954
+ var(--editorial-price-summary-context-width-basis);
1955
+ background: hsl(var(--muted));
1956
+ }
1957
+
1958
+ .ui-price-summary-label {
1959
+ color: hsl(var(--muted-foreground));
1960
+ font-size: var(--editorial-price-summary-label-font-size);
1961
+ line-height: var(--editorial-price-summary-label-line-height);
1962
+ }
1963
+
1964
+ .ui-price-summary-value {
1965
+ color: hsl(var(--text-brand, var(--primary)));
1966
+ font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
1967
+ font-size: var(--editorial-price-summary-value-font-size);
1968
+ font-variant-numeric: tabular-nums;
1969
+ font-weight: var(--font-weight-semibold);
1970
+ line-height: var(--editorial-price-summary-value-line-height);
1971
+ letter-spacing: var(--editorial-price-summary-value-letter-spacing);
1972
+ }
1973
+
1974
+ .ui-price-summary-caption {
1975
+ color: hsl(var(--muted-foreground));
1976
+ font-size: var(--editorial-price-summary-caption-font-size);
1977
+ line-height: var(--editorial-price-summary-caption-line-height);
1978
+ }
1979
+
1980
+ .ui-price-summary-context {
1981
+ display: flex;
1982
+ align-items: center;
1983
+ min-height: var(--editorial-price-summary-context-min-height);
1984
+ font-size: var(--editorial-price-summary-context-font-size);
1985
+ font-weight: var(--font-weight-semibold);
1986
+ line-height: var(--editorial-price-summary-context-line-height);
1987
+ }
1988
+
1989
+ .ui-editorial-prompt {
1990
+ display: flex;
1991
+ flex-wrap: var(--editorial-prompt-align-wrap);
1992
+ align-items: center;
1993
+ gap: var(--editorial-prompt-gap);
1994
+ padding: var(--editorial-prompt-padding);
1995
+ border: var(--stroke-hairline) solid hsl(var(--border));
1996
+ border-radius: var(--editorial-prompt-radius);
1997
+ background: hsl(var(--muted));
1998
+ }
1999
+
2000
+ .ui-editorial-prompt-icon {
2001
+ display: var(--editorial-prompt-icon-display);
2002
+ flex: none;
2003
+ place-items: center;
2004
+ width: var(--editorial-prompt-icon-size);
2005
+ height: var(--editorial-prompt-icon-size);
2006
+ border-radius: 50%;
2007
+ background: hsl(var(--card));
2008
+ color: hsl(var(--text-brand, var(--primary)));
2009
+ }
2010
+
2011
+ .ui-editorial-prompt-icon svg {
2012
+ width: var(--editorial-prompt-icon-glyph-size);
2013
+ height: var(--editorial-prompt-icon-glyph-size);
2014
+ }
2015
+
2016
+ .ui-editorial-prompt-copy {
2017
+ flex: var(--editorial-prompt-copy-size-grow) 1 var(--editorial-prompt-copy-width-basis);
2018
+ min-width: var(--editorial-prompt-copy-min-width);
2019
+ }
2020
+
2021
+ .ui-editorial-prompt-title {
2022
+ margin: 0 0 var(--editorial-prompt-title-space-block-end);
2023
+ font-family: var(--font-family-editorial, var(--font-family-display));
2024
+ font-size: var(--editorial-prompt-title-font-size);
2025
+ font-weight: var(--font-weight-semibold);
2026
+ line-height: var(--editorial-prompt-title-line-height);
2027
+ }
2028
+
2029
+ .ui-editorial-prompt-description,
2030
+ .ui-editorial-prompt-note {
2031
+ max-width: var(--editorial-prompt-description-max-width);
2032
+ margin: 0;
2033
+ color: hsl(var(--muted-foreground));
2034
+ font-size: var(--editorial-prompt-description-font-size);
2035
+ line-height: var(--editorial-prompt-description-line-height);
2036
+ }
2037
+
2038
+ .ui-editorial-prompt-note {
2039
+ margin-block-start: var(--editorial-prompt-note-space-block-start);
2040
+ font-size: var(--editorial-prompt-note-font-size);
2041
+ }
2042
+
2043
+ .ui-editorial-prompt-action {
2044
+ --button-radius: var(--editorial-prompt-action-radius);
2045
+ --button-padding-inline: var(--editorial-prompt-action-padding-inline);
2046
+ --button-font-weight: var(--editorial-prompt-action-font-weight);
2047
+ display: flex;
2048
+ flex: 0 1 var(--editorial-prompt-action-width-basis);
2049
+ margin-inline-start: var(--editorial-prompt-action-inset-inline-start);
2050
+ }
2051
+
2052
+ .ui-editorial-prompt-action > * {
2053
+ flex: 1;
2054
+ }
2055
+
2056
+ .ui-editorial-banner-copy {
2057
+ --editorial-eyebrow-font-size: var(--editorial-banner-kicker-font-size);
2058
+ --editorial-eyebrow-line-height: var(--editorial-banner-kicker-line-height);
2059
+ }
2060
+
2061
+ @media (prefers-reduced-motion: reduce) {
2062
+ .ui-catalog-card,
2063
+ .ui-catalog-card:hover,
2064
+ .ui-editorial-card,
2065
+ .ui-editorial-card:hover,
2066
+ .ui-card-showcase-card,
2067
+ .ui-card-showcase-card:hover {
2068
+ transition: none;
2069
+ }
2070
+
2071
+ .ui-catalog-card:hover,
2072
+ .ui-editorial-card[data-variant="journal"]:hover {
2073
+ transform: none;
2074
+ }
2075
+ }
2076
+ }