@gemboss/gem-framework 0.4.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.
@@ -0,0 +1,2493 @@
1
+ :root {
2
+ --gem-color-background: #f6f6f3;
3
+ --gem-color-surface: #ffffff;
4
+ --gem-color-text: #202223;
5
+ --gem-color-muted: #6b7280;
6
+ --gem-color-accent: #008060;
7
+ --gem-color-accent-text: #ffffff;
8
+ --gem-color-border: #d2d5d8;
9
+ --gem-color-success: #008060;
10
+ --gem-color-warning: #b7791f;
11
+ --gem-color-danger: #d72c0d;
12
+ --gem-font-body: Inter, system-ui, sans-serif;
13
+ --gem-font-heading: Inter, system-ui, sans-serif;
14
+ --gem-font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
15
+ --gem-space-xs: calc(4px * var(--gem-style-space, 1));
16
+ --gem-space-sm: calc(8px * var(--gem-style-space, 1));
17
+ --gem-space-md: calc(16px * var(--gem-style-space, 1));
18
+ --gem-space-lg: calc(24px * var(--gem-style-space, 1));
19
+ --gem-space-xl: calc(32px * var(--gem-style-space, 1));
20
+ --gem-space-2xl: calc(48px * var(--gem-style-space, 1));
21
+ --gem-space-3xl: calc(64px * var(--gem-style-space, 1));
22
+ --gem-radius-sm: calc(4px * var(--gem-style-radius, 1));
23
+ --gem-radius-md: calc(8px * var(--gem-style-radius, 1));
24
+ --gem-radius-lg: calc(16px * var(--gem-style-radius, 1));
25
+ --gem-radius-pill: calc(999px * var(--gem-style-radius, 1));
26
+ --gem-border-subtle: calc(1px * var(--gem-style-border, 1)) solid var(--gem-color-border);
27
+ --gem-border-strong: calc(1px * var(--gem-style-border, 1)) solid color-mix(in srgb, var(--gem-color-text) 28%, transparent);
28
+ --gem-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.08);
29
+ --gem-shadow-md: 0 8px 24px rgb(0 0 0 / 0.10);
30
+ --gem-motion-duration: 160ms;
31
+ --gem-motion-easing: ease;
32
+ --gem-ease-soft: cubic-bezier(.45,0,.25,1);
33
+ --gem-ambient-slow: 9s;
34
+ --gem-ambient-mid: 7s;
35
+ --gem-ambient-fast: 5.5s;
36
+ --gem-ambient-amp: 7px;
37
+ --gem-layout-page: 1180px;
38
+ --gem-layout-gutter: 32px;
39
+ --gem-layout-section: 64px;
40
+ --gem-component-header-height: 72px;
41
+ --gem-component-card-padding: 16px;
42
+ --gem-component-button-padding-inline: 18px;
43
+ --gem-component-button-padding-block: 12px;
44
+ --gem-component-input-height: 44px;
45
+ --gem-morphology-campaign-density: balanced;
46
+ --gem-morphology-media-rhythm: standard;
47
+ --gem-morphology-proof-intensity: standard;
48
+ --gem-morphology-commerce-emphasis: balanced;
49
+ --gem-morphology-policy-tone: standard;
50
+ --gem-type-base: 1rem;
51
+ --gem-type-scale: 1.22;
52
+ --gem-text-sm: calc(var(--gem-type-base) / var(--gem-type-scale));
53
+ --gem-body: var(--gem-type-base);
54
+ --gem-h6: calc(var(--gem-type-base) * var(--gem-type-scale));
55
+ --gem-h5: calc(var(--gem-h6) * var(--gem-type-scale));
56
+ --gem-h4: calc(var(--gem-h5) * var(--gem-type-scale));
57
+ --gem-h3: calc(var(--gem-h4) * var(--gem-type-scale));
58
+ --gem-h2: calc(var(--gem-h3) * var(--gem-type-scale));
59
+ --gem-h1: calc(var(--gem-h2) * var(--gem-type-scale));
60
+ --gem-focus-ring: 2px solid var(--gem-color-accent);
61
+ --gem-tap-min: 44px;
62
+ }
63
+
64
+ *, *::before, *::after {
65
+ box-sizing: border-box;
66
+ }
67
+ html {
68
+ scroll-behavior: smooth;
69
+ text-size-adjust: 100%;
70
+ }
71
+ body {
72
+ margin: 0;
73
+ font-family: var(--gem-font-body);
74
+ font-size: calc(1rem * var(--gem-typography-body-scale, 1));
75
+ color: var(--gem-color-text);
76
+ background: var(--gem-color-background);
77
+ line-height: 1.5;
78
+ -webkit-font-smoothing: antialiased;
79
+ }
80
+ main {
81
+ display: block;
82
+ }
83
+ img, picture, video, canvas, svg {
84
+ display: block;
85
+ max-width: 100%;
86
+ }
87
+ button, input, textarea, select {
88
+ font: inherit;
89
+ }
90
+ button, [type='button'], [type='submit'] {
91
+ cursor: pointer;
92
+ }
93
+ a {
94
+ color: inherit;
95
+ }
96
+ :focus-visible {
97
+ outline: var(--gem-focus-ring, 2px solid var(--gem-color-accent));
98
+ outline-offset: 3px;
99
+ }
100
+ .gem-skip-to-content-link:focus {
101
+ position: fixed;
102
+ inset-block-start: var(--gem-space-sm);
103
+ inset-inline-start: var(--gem-space-sm);
104
+ z-index: 100;
105
+ width: auto !important;
106
+ height: auto !important;
107
+ clip: auto !important;
108
+ white-space: normal !important;
109
+ padding: var(--gem-space-sm) var(--gem-space-md);
110
+ border-radius: var(--gem-radius-md);
111
+ background: var(--gem-color-accent);
112
+ color: var(--gem-color-accent-text);
113
+ }
114
+ .gem-u-visually-hidden {
115
+ position: absolute !important;
116
+ width: 1px !important;
117
+ height: 1px !important;
118
+ overflow: hidden !important;
119
+ clip: rect(0, 0, 0, 0) !important;
120
+ white-space: nowrap !important;
121
+ }
122
+
123
+ .gem-container {
124
+ width: min(var(--gem-layout-page, 1180px), calc(100% - var(--gem-layout-gutter, 32px)));
125
+ margin-inline: auto;
126
+ }
127
+ .gem-stack {
128
+ display: grid;
129
+ gap: var(--gem-space-md);
130
+ }
131
+ .gem-cluster {
132
+ display: flex;
133
+ flex-wrap: wrap;
134
+ align-items: center;
135
+ gap: var(--gem-space-sm);
136
+ }
137
+ .gem-grid {
138
+ display: grid;
139
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
140
+ column-gap: var(--gem-grid-column-gap, var(--gem-space-md));
141
+ row-gap: var(--gem-grid-row-gap, var(--gem-space-md));
142
+ }
143
+ .gem-row { column-gap: var(--gem-row-gap, var(--gem-space-lg)); row-gap: var(--gem-row-gap-y, var(--gem-row-gap, var(--gem-space-lg))); }
144
+ .gem-button {
145
+ border: 0;
146
+ appearance: none;
147
+ cursor: pointer;
148
+ display: inline-flex;
149
+ align-items: center;
150
+ justify-content: center;
151
+ min-height: var(--gem-component-input-height, 44px);
152
+ border: var(--gem-button-border-width, 1px) solid var(--gem-color-border);
153
+ border-radius: var(--gem-radius-md);
154
+ padding: var(--gem-component-button-padding-block, 12px) var(--gem-component-button-padding-inline, 18px);
155
+ font-weight: 700;
156
+ text-decoration: none;
157
+ transition: background var(--gem-motion-duration, 160ms) var(--gem-motion-easing, ease), color var(--gem-motion-duration, 160ms) var(--gem-motion-easing, ease);
158
+ }
159
+ .gem-button:disabled, .gem-button[aria-disabled='true'] {
160
+ cursor: not-allowed;
161
+ opacity: 0.55;
162
+ }
163
+ .gem-input:disabled, .gem-select:disabled, .gem-textarea:disabled, .gem-quantity-input__button:disabled {
164
+ cursor: not-allowed;
165
+ opacity: 0.6;
166
+ background: color-mix(in srgb, var(--gem-color-text) 6%, var(--gem-color-surface));
167
+ }
168
+ .gem-button--primary {
169
+ border-color: var(--gem-color-accent);
170
+ background: var(--gem-color-accent);
171
+ color: var(--gem-color-accent-text, var(--gem-color-surface));
172
+ }
173
+ .gem-button--secondary {
174
+ background: var(--gem-color-surface);
175
+ color: var(--gem-color-text);
176
+ }
177
+ .gem-button--soft {
178
+ background: color-mix(in srgb, var(--gem-color-accent) 12%, var(--gem-color-surface));
179
+ color: var(--gem-color-text);
180
+ }
181
+ .gem-button--link {
182
+ min-height: 0;
183
+ min-width: 0;
184
+ padding: 0;
185
+ border: 0;
186
+ background: transparent;
187
+ color: inherit;
188
+ text-decoration: underline;
189
+ text-underline-offset: 0.2em;
190
+ font-weight: inherit;
191
+ }
192
+ [data-gem-button-style='outline'] .gem-button:not(.gem-button--secondary),
193
+ [data-gem-button-style='outline'] .gem-button--primary {
194
+ background: transparent;
195
+ color: var(--gem-color-accent);
196
+ }
197
+ [data-gem-button-style='soft'] .gem-button:not(.gem-button--secondary),
198
+ [data-gem-button-style='soft'] .gem-button--primary {
199
+ background: color-mix(in srgb, var(--gem-color-accent) 12%, var(--gem-color-surface));
200
+ border-color: transparent;
201
+ color: var(--gem-color-text);
202
+ }
203
+ .gem-card {
204
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
205
+ border-radius: var(--gem-card-radius, var(--gem-radius-md));
206
+ background: var(--gem-card-background, var(--gem-color-surface));
207
+ padding: var(--gem-component-card-padding, var(--gem-space-md));
208
+ box-shadow: var(--gem-shadow-sm, none);
209
+ text-align: var(--gem-card-text-alignment, left);
210
+ }
211
+ .gem-card > :first-child { margin-top: 0; }
212
+ .gem-card > :last-child { margin-bottom: 0; }
213
+ .gem-media {
214
+ display: block;
215
+ position: relative;
216
+ overflow: hidden;
217
+ border: var(--gem-media-border-width, 0) solid color-mix(in srgb, var(--gem-color-text) 12%, transparent);
218
+ border-radius: var(--gem-media-radius, var(--gem-radius-md));
219
+ background: color-mix(in srgb, var(--gem-color-text) 8%, var(--gem-color-background));
220
+ box-shadow: 0 8px 24px rgb(0 0 0 / var(--gem-media-shadow-opacity, 0));
221
+ }
222
+ .gem-media > img, .gem-media > video {
223
+ display: block;
224
+ width: 100%;
225
+ height: 100%;
226
+ object-fit: cover;
227
+ }
228
+ .gem-badge {
229
+ display: inline-flex;
230
+ align-items: center;
231
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
232
+ border-radius: var(--gem-radius-pill, 999px);
233
+ padding: var(--gem-space-xs) var(--gem-space-sm);
234
+ font-size: 0.8125rem;
235
+ font-weight: 650;
236
+ }
237
+ .gem-accordion {
238
+ display: grid;
239
+ gap: var(--gem-space-sm);
240
+ }
241
+ .gem-accordion details {
242
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
243
+ border-radius: var(--gem-radius-md);
244
+ background: var(--gem-color-surface);
245
+ overflow: hidden;
246
+ }
247
+ .gem-accordion summary {
248
+ cursor: pointer;
249
+ padding: var(--gem-space-md);
250
+ font-weight: 650;
251
+ }
252
+ .gem-divider {
253
+ border: 0;
254
+ border-top: var(--gem-border-subtle, 1px solid var(--gem-color-border));
255
+ margin-block: var(--gem-space-lg);
256
+ }
257
+ .gem-form-field {
258
+ display: grid;
259
+ gap: var(--gem-space-xs);
260
+ }
261
+ .gem-input, .gem-select, .gem-textarea {
262
+ width: 100%;
263
+ min-height: var(--gem-component-input-height, 44px);
264
+ border: var(--gem-input-border-width, 1px) solid var(--gem-color-border);
265
+ border-radius: var(--gem-input-radius, var(--gem-radius-md));
266
+ background: var(--gem-color-surface);
267
+ color: var(--gem-color-text);
268
+ padding: 0 var(--gem-space-md);
269
+ }
270
+ .gem-textarea {
271
+ min-height: calc(var(--gem-component-input-height, 44px) * 2);
272
+ padding-block: var(--gem-space-sm);
273
+ resize: vertical;
274
+ }
275
+ .gem-checkbox {
276
+ inline-size: var(--gem-space-lg);
277
+ block-size: var(--gem-space-lg);
278
+ accent-color: var(--gem-color-accent);
279
+ }
280
+ .gem-submit {
281
+ cursor: pointer;
282
+ }
283
+ .gem-newsletter-form {
284
+ display: flex;
285
+ flex-wrap: wrap;
286
+ gap: var(--gem-space-sm);
287
+ align-items: end;
288
+ }
289
+ .gem-newsletter-form .gem-form-field {
290
+ flex: 1 1 16rem;
291
+ }
292
+ .gem-heading {
293
+ margin: 0;
294
+ font-family: var(--gem-font-heading);
295
+ color: var(--gem-color-text);
296
+ }
297
+ .gem-text {
298
+ margin: 0;
299
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
300
+ line-height: 1.6;
301
+ }
302
+ .gem-richtext {
303
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
304
+ line-height: 1.6;
305
+ }
306
+ .gem-icon {
307
+ display: inline-flex;
308
+ align-items: center;
309
+ justify-content: center;
310
+ inline-size: var(--gem-space-lg);
311
+ block-size: var(--gem-space-lg);
312
+ color: var(--gem-color-accent);
313
+ }
314
+ .gem-icon-list {
315
+ display: grid;
316
+ gap: var(--gem-space-sm);
317
+ list-style: none;
318
+ margin: 0;
319
+ padding: 0;
320
+ }
321
+ .gem-icon-list__item {
322
+ display: grid;
323
+ grid-template-columns: auto minmax(0, 1fr);
324
+ gap: var(--gem-space-sm);
325
+ align-items: start;
326
+ }
327
+ .gem-video {
328
+ display: block;
329
+ inline-size: 100%;
330
+ aspect-ratio: 16 / 9;
331
+ border: 0;
332
+ border-radius: var(--gem-radius-md);
333
+ background: color-mix(in srgb, var(--gem-color-text) 8%, var(--gem-color-background));
334
+ }
335
+ .gem-marquee {
336
+ overflow: hidden;
337
+ border-block: var(--gem-border-subtle, 1px solid var(--gem-color-border));
338
+ }
339
+ .gem-marquee__track {
340
+ display: flex;
341
+ gap: var(--gem-space-lg);
342
+ min-width: max-content;
343
+ animation: gem-marquee-scroll var(--gem-marquee-duration, 40s) linear infinite;
344
+ will-change: transform;
345
+ }
346
+ .gem-marquee:hover .gem-marquee__track {
347
+ animation-play-state: paused;
348
+ }
349
+ .gem-marquee[data-gem-marquee-reverse] .gem-marquee__track {
350
+ animation-direction: reverse;
351
+ }
352
+ .gem-carousel {
353
+ display: grid;
354
+ gap: var(--gem-space-md);
355
+ }
356
+ .gem-carousel__viewport {
357
+ overflow-x: auto;
358
+ scroll-snap-type: x mandatory;
359
+ scrollbar-width: none;
360
+ }
361
+ .gem-carousel__viewport::-webkit-scrollbar {
362
+ display: none;
363
+ }
364
+ .gem-carousel__track {
365
+ display: grid;
366
+ grid-auto-flow: column;
367
+ grid-auto-columns: minmax(min(20rem, 84vw), 1fr);
368
+ gap: var(--gem-space-md);
369
+ }
370
+ .gem-carousel__slide {
371
+ scroll-snap-align: start;
372
+ }
373
+ .gem-carousel__controls {
374
+ display: flex;
375
+ flex-wrap: wrap;
376
+ gap: var(--gem-space-sm);
377
+ align-items: center;
378
+ justify-content: flex-end;
379
+ }
380
+ .gem-price {
381
+ display: flex;
382
+ flex-wrap: wrap;
383
+ gap: var(--gem-space-xs);
384
+ align-items: baseline;
385
+ font-weight: 750;
386
+ color: var(--gem-color-text);
387
+ }
388
+ .gem-price--on-sale .gem-price__regular {
389
+ color: var(--gem-color-accent);
390
+ }
391
+ .gem-price__compare {
392
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 60%, transparent));
393
+ font-weight: 500;
394
+ }
395
+ .gem-price__unit {
396
+ flex-basis: 100%;
397
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 60%, transparent));
398
+ font-size: 0.8125rem;
399
+ font-weight: 500;
400
+ }
401
+ .gem-review-count {
402
+ font-size: var(--gem-text-sm, 0.8125rem);
403
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
404
+ }
405
+ .gem-discount {
406
+ font-size: var(--gem-text-sm, 0.8125rem);
407
+ font-weight: 700;
408
+ color: var(--gem-color-accent);
409
+ }
410
+ .gem-pull-quote {
411
+ font-family: var(--gem-font-heading);
412
+ font-size: var(--gem-h5, 1.25rem);
413
+ line-height: 1.4;
414
+ border-inline-start: 2px solid var(--gem-color-accent);
415
+ padding-inline-start: var(--gem-space-md);
416
+ margin: var(--gem-space-md) 0;
417
+ }
418
+ .gem-byline {
419
+ font-size: var(--gem-text-sm, 0.8125rem);
420
+ font-weight: 600;
421
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
422
+ }
423
+ .gem-disclaimer {
424
+ font-size: 0.6875rem;
425
+ line-height: 1.5;
426
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 60%, transparent));
427
+ }
428
+ .gem-list {
429
+ list-style: none;
430
+ margin: 0;
431
+ padding: 0;
432
+ display: grid;
433
+ gap: var(--gem-space-xs);
434
+ }
435
+ .gem-list__item {
436
+ position: relative;
437
+ padding-inline-start: 1.4em;
438
+ line-height: 1.5;
439
+ }
440
+ .gem-list__item::before {
441
+ content: '';
442
+ position: absolute;
443
+ inset-inline-start: 0;
444
+ top: 0.55em;
445
+ width: 0.42em;
446
+ height: 0.42em;
447
+ border-radius: var(--gem-radius-pill, 999px);
448
+ background: var(--gem-color-accent);
449
+ }
450
+ .gem-subhead {
451
+ font-family: var(--gem-font-heading);
452
+ font-size: var(--gem-h6, 1.0625rem);
453
+ font-weight: 700;
454
+ margin-block: var(--gem-space-sm) var(--gem-space-xs);
455
+ }
456
+ .gem-rating, .gem-proof {
457
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
458
+ }
459
+ .gem-stars {
460
+ --gem-stars-total: 5;
461
+ --gem-stars-value: 5;
462
+ position: relative;
463
+ display: inline-block;
464
+ line-height: 1;
465
+ font-size: var(--gem-text-sm, 0.8125rem);
466
+ letter-spacing: 0.1em;
467
+ color: var(--gem-color-border);
468
+ }
469
+ .gem-stars__base, .gem-stars__fill { display: block; white-space: nowrap; }
470
+ .gem-stars__fill {
471
+ position: absolute;
472
+ inset: 0;
473
+ width: calc(var(--gem-stars-value) / var(--gem-stars-total) * 100%);
474
+ overflow: hidden;
475
+ color: var(--gem-color-accent);
476
+ }
477
+ .gem-marquee { overflow: hidden; }
478
+ .gem-marquee__viewport { display: flex; overflow: hidden; }
479
+ .gem-marquee__track {
480
+ flex: 0 0 auto;
481
+ min-width: 100%;
482
+ display: flex;
483
+ align-items: center;
484
+ justify-content: space-around;
485
+ gap: var(--gem-space-lg);
486
+ white-space: nowrap;
487
+ animation: gem-marquee var(--gem-marquee-duration, 24s) linear infinite;
488
+ }
489
+ .gem-marquee__viewport:hover .gem-marquee__track { animation-play-state: paused; }
490
+ .gem-marquee--reverse .gem-marquee__track { animation-direction: reverse; }
491
+ @keyframes gem-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }
492
+ @media (prefers-reduced-motion: reduce) {
493
+ .gem-marquee__track { animation: none; }
494
+ .gem-marquee__viewport { overflow-x: auto; }
495
+ }
496
+ .gem-product-card {
497
+ display: grid;
498
+ grid-template-rows: auto minmax(0, 1fr);
499
+ gap: var(--gem-space-sm);
500
+ color: var(--gem-color-text);
501
+ }
502
+ .gem-product-card--sold-out {
503
+ opacity: 0.78;
504
+ }
505
+ .gem-product-card__media > img, .gem-media > img {
506
+ position: absolute;
507
+ inset: 0;
508
+ display: block;
509
+ width: 100%;
510
+ height: 100%;
511
+ object-fit: cover;
512
+ }
513
+ .gem-product-card__media {
514
+ position: relative;
515
+ aspect-ratio: 1 / 1;
516
+ }
517
+ .gem-product-card__media.card__media {
518
+ position: relative;
519
+ inset: auto;
520
+ }
521
+ .gem-product-card__media .gem-product-card__badges {
522
+ position: absolute;
523
+ inset-block-start: var(--gem-space-sm);
524
+ inset-inline-start: var(--gem-space-sm);
525
+ z-index: 1;
526
+ }
527
+ .gem-product-card__placeholder {
528
+ display: grid;
529
+ min-height: 100%;
530
+ place-items: center;
531
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 64%, transparent));
532
+ }
533
+ .gem-product-card__content {
534
+ display: grid;
535
+ grid-template-rows: auto auto minmax(0, 1fr) auto;
536
+ gap: var(--gem-space-xs);
537
+ }
538
+ .gem-product-card__title {
539
+ margin: 0;
540
+ font-family: var(--gem-font-heading);
541
+ font-weight: 650;
542
+ }
543
+ .gem-product-card__title a {
544
+ color: inherit;
545
+ text-decoration: none;
546
+ }
547
+ .gem-product-card__title a:hover {
548
+ text-decoration: underline;
549
+ text-underline-offset: 0.18em;
550
+ }
551
+ .gem-product-card__price {
552
+ display: flex;
553
+ flex-wrap: wrap;
554
+ gap: var(--gem-space-xs);
555
+ align-items: baseline;
556
+ }
557
+ .gem-product-card__badges, .gem-product-card__quick-actions {
558
+ display: flex;
559
+ flex-wrap: wrap;
560
+ gap: var(--gem-space-xs);
561
+ align-items: center;
562
+ }
563
+ .gem-product-card__quick-actions {
564
+ align-self: end;
565
+ }
566
+ .gem-product-card__quick-actions .gem-button {
567
+ min-width: min(100%, 8rem);
568
+ }
569
+ .gem-product-card__secondary-image {
570
+ position: absolute;
571
+ inset: 0;
572
+ opacity: 0;
573
+ transition: opacity var(--gem-motion-duration, 160ms) var(--gem-motion-easing, ease);
574
+ }
575
+ .gem-product-card:hover .gem-product-card__secondary-image {
576
+ opacity: 1;
577
+ }
578
+ .gem-product-card__vendor, .gem-product-card__rating {
579
+ margin: 0;
580
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
581
+ font-size: 0.8125rem;
582
+ }
583
+ .gem-product-card__swatches {
584
+ display: flex;
585
+ flex-wrap: wrap;
586
+ gap: var(--gem-space-xs);
587
+ }
588
+ .gem-product-media-gallery__thumb[aria-current='true'], .gem-product-media-gallery__thumb[data-gem-media-active='true'] {
589
+ border-color: var(--gem-color-accent);
590
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--gem-color-accent) 28%, transparent);
591
+ }
592
+ .gem-product-media-gallery__thumb {
593
+ cursor: pointer;
594
+ }
595
+ .gem-product-meta {
596
+ display: flex;
597
+ flex-wrap: wrap;
598
+ gap: var(--gem-space-xs) var(--gem-space-md);
599
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
600
+ font-size: 0.875rem;
601
+ }
602
+ .gem-product-meta__item {
603
+ display: inline-flex;
604
+ gap: var(--gem-space-xs);
605
+ align-items: baseline;
606
+ }
607
+ .gem-product-meta__label {
608
+ font-weight: 650;
609
+ color: var(--gem-color-text);
610
+ }
611
+ .gem-product-meta__value {
612
+ color: inherit;
613
+ }
614
+ .gem-product-main__summary {
615
+ display: grid;
616
+ gap: var(--gem-space-md);
617
+ max-width: 48rem;
618
+ }
619
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__inner {
620
+ display: grid;
621
+ grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.72fr);
622
+ align-items: start;
623
+ gap: var(--gem-space-xl);
624
+ }
625
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__summary {
626
+ position: sticky;
627
+ top: calc(var(--gem-component-header-height, 72px) + var(--gem-space-md));
628
+ }
629
+ .gem-product-main__media {
630
+ min-width: 0;
631
+ }
632
+ .gem-product-main__caption {
633
+ margin: 0;
634
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
635
+ }
636
+ .gem-product-main__collapsible {
637
+ border-block-start: var(--gem-border-subtle, 1px solid var(--gem-color-border));
638
+ padding-block: var(--gem-space-md);
639
+ }
640
+ .gem-product-main__collapsible:last-of-type {
641
+ border-block-end: var(--gem-border-subtle, 1px solid var(--gem-color-border));
642
+ }
643
+ .gem-product-main__collapsible summary {
644
+ cursor: pointer;
645
+ font-weight: 650;
646
+ }
647
+ .gem-product-main__price {
648
+ display: flex;
649
+ flex-wrap: wrap;
650
+ gap: var(--gem-space-sm);
651
+ align-items: baseline;
652
+ font-size: 1.25rem;
653
+ }
654
+ .gem-product-main__price s {
655
+ color: var(--gem-color-muted);
656
+ font-weight: 500;
657
+ }
658
+ .gem-product-main__availability {
659
+ margin: 0;
660
+ font-weight: 650;
661
+ }
662
+ .gem-product-main__availability--in-stock {
663
+ color: var(--gem-color-success);
664
+ }
665
+ .gem-product-main__availability--sold-out {
666
+ color: var(--gem-color-danger, #b42318);
667
+ }
668
+ .gem-product-main__variant-fallback {
669
+ max-width: 36rem;
670
+ margin: 0;
671
+ padding: 0;
672
+ border: 0;
673
+ display: flex;
674
+ flex-wrap: wrap;
675
+ gap: 0.8rem;
676
+ }
677
+ .gem-product-main__variant-fallback legend {
678
+ width: 100%;
679
+ padding: 0;
680
+ margin: 0 0 0.3rem;
681
+ font-size: 1.4rem;
682
+ line-height: 1.8;
683
+ }
684
+ .gem-product-main__variant-pill {
685
+ display: inline-flex;
686
+ align-items: center;
687
+ justify-content: center;
688
+ min-height: 3.6rem;
689
+ min-width: 9.2rem;
690
+ border: 1px solid rgb(18 18 18 / 75%);
691
+ border-radius: 999px;
692
+ padding: 0.8rem 1.8rem;
693
+ font-size: 1.3rem;
694
+ line-height: 1;
695
+ }
696
+ .gem-product-main__variant-pill--selected {
697
+ background: rgb(18 18 18);
698
+ border-color: rgb(18 18 18);
699
+ color: white;
700
+ }
701
+ .gem-product-main__variant-pill--disabled {
702
+ color: rgb(18 18 18 / 55%);
703
+ text-decoration: line-through;
704
+ }
705
+ .gem-product-main__form {
706
+ display: grid;
707
+ gap: var(--gem-space-md);
708
+ max-width: 32rem;
709
+ }
710
+ .gem-buy-buttons {
711
+ display: grid;
712
+ gap: var(--gem-space-md);
713
+ max-width: 32rem;
714
+ }
715
+ .gem-buy-buttons__variant, .gem-buy-buttons__quantity {
716
+ display: grid;
717
+ gap: var(--gem-space-xs);
718
+ }
719
+ .gem-buy-buttons__submit {
720
+ width: 100%;
721
+ }
722
+ .gem-buy-buttons__variant-status {
723
+ margin: 0;
724
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
725
+ font-size: 0.875rem;
726
+ }
727
+ .gem-buy-buttons__error { color: var(--gem-color-danger, #b42318); }
728
+ .gem-product-main__assurance {
729
+ display: grid;
730
+ gap: var(--gem-space-xs);
731
+ max-width: 32rem;
732
+ padding: var(--gem-space-md);
733
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
734
+ border-radius: var(--gem-radius-md);
735
+ background: var(--gem-color-surface);
736
+ }
737
+ .gem-product-main__assurance-item {
738
+ display: grid;
739
+ gap: 0.125rem;
740
+ margin: 0;
741
+ }
742
+ .gem-product-main__assurance-item strong {
743
+ font-size: 0.9375rem;
744
+ }
745
+ .gem-product-main__assurance-item span {
746
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 70%, transparent));
747
+ font-size: 0.875rem;
748
+ }
749
+ .gem-product-main__share {
750
+ justify-self: start;
751
+ color: var(--gem-color-text);
752
+ font-weight: 650;
753
+ text-underline-offset: 0.25em;
754
+ }
755
+ .gem-product-main__quantity {
756
+ max-width: 10rem;
757
+ }
758
+ .gem-product-main__submit {
759
+ width: 100%;
760
+ }
761
+ .gem-variant-picker {
762
+ display: grid;
763
+ gap: var(--gem-space-sm);
764
+ }
765
+ .gem-swatch {
766
+ inline-size: 2rem;
767
+ block-size: 2rem;
768
+ border: var(--gem-variant-pill-border-width, 1px) solid var(--gem-color-border);
769
+ border-radius: var(--gem-variant-pill-radius, var(--gem-radius-pill, 999px));
770
+ background: var(--gem-color-surface);
771
+ }
772
+ .gem-quantity-selector {
773
+ display: inline-grid;
774
+ grid-template-columns: var(--gem-component-input-height, 44px) minmax(3rem, 1fr) var(--gem-component-input-height, 44px);
775
+ min-height: var(--gem-component-input-height, 44px);
776
+ border: var(--gem-input-border-width, 1px) solid var(--gem-color-border);
777
+ border-radius: var(--gem-radius-md);
778
+ overflow: hidden;
779
+ }
780
+ .gem-quantity-input {
781
+ display: inline-grid;
782
+ grid-template-columns: var(--gem-component-input-height, 44px) minmax(3rem, 1fr) var(--gem-component-input-height, 44px);
783
+ width: min(100%, 10rem);
784
+ min-height: var(--gem-component-input-height, 44px);
785
+ border: var(--gem-input-border-width, 1px) solid var(--gem-color-border);
786
+ border-radius: var(--gem-radius-md);
787
+ overflow: hidden;
788
+ }
789
+ .gem-quantity-input__button, .gem-quantity-input__field {
790
+ min-width: 0;
791
+ border: 0;
792
+ background: var(--gem-color-surface);
793
+ color: var(--gem-color-text);
794
+ text-align: center;
795
+ }
796
+ .gem-quantity-input__button {
797
+ font-weight: 750;
798
+ }
799
+ .gem-cart-main__form, .gem-cart-main__items, .gem-cart-footer__inner, .gem-cart-footer__blocks {
800
+ display: grid;
801
+ gap: var(--gem-space-md);
802
+ }
803
+ .gem-cart-footer__inner {
804
+ justify-items: end;
805
+ }
806
+ .gem-cart-footer__note, .gem-cart-footer__blocks {
807
+ inline-size: min(100%, 36rem);
808
+ }
809
+ .gem-cart-footer__subtotal, .gem-cart-footer__buttons {
810
+ display: grid;
811
+ gap: var(--gem-space-sm);
812
+ justify-items: stretch;
813
+ }
814
+ .gem-cart-footer__total-label, .gem-cart-footer__total-value {
815
+ margin: 0;
816
+ }
817
+ .gem-cart-footer__total-value {
818
+ font-size: 1.25rem;
819
+ font-weight: 760;
820
+ }
821
+ .gem-cart-footer__tax-note {
822
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 64%, transparent));
823
+ }
824
+ .gem-cart-line-item {
825
+ display: grid;
826
+ grid-template-columns: minmax(5rem, 7rem) minmax(0, 1fr) auto auto;
827
+ gap: var(--gem-space-md);
828
+ align-items: start;
829
+ }
830
+ .gem-cart-line-item__title, .gem-cart-line-item__remove {
831
+ color: inherit;
832
+ }
833
+ .gem-cart-line-item__details {
834
+ display: grid;
835
+ gap: var(--gem-space-xs);
836
+ }
837
+ .gem-cart-line-item__media {
838
+ aspect-ratio: 1 / 1;
839
+ min-block-size: 5rem;
840
+ }
841
+ .gem-cart-line-item__meta, .gem-cart-line-item__price {
842
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 68%, transparent));
843
+ }
844
+ .gem-main-login .gem-section__inner, .gem-main-register .gem-section__inner, .gem-main-activate-account .gem-section__inner, .gem-main-reset-password .gem-section__inner {
845
+ max-width: min(100%, 44rem);
846
+ }
847
+ .gem-main-login form, .gem-main-register form, .gem-main-activate-account form, .gem-main-reset-password form {
848
+ gap: var(--gem-space-md);
849
+ }
850
+ .gem-main-addresses form {
851
+ align-self: start;
852
+ }
853
+ .gem-rich-text__content {
854
+ display: grid;
855
+ justify-items: center;
856
+ gap: var(--gem-space-md);
857
+ max-width: 72rem;
858
+ margin-inline: auto;
859
+ text-align: center;
860
+ }
861
+ .gem-rich-text[data-gem-rich-text-alignment='left'] .gem-rich-text__content {
862
+ justify-items: start;
863
+ text-align: left;
864
+ }
865
+ .gem-rich-text[data-gem-rich-text-alignment='right'] .gem-rich-text__content {
866
+ justify-items: end;
867
+ text-align: right;
868
+ }
869
+ .gem-rich-text__blocks {
870
+ display: grid;
871
+ gap: var(--gem-space-md);
872
+ width: 100%;
873
+ }
874
+ .gem-customer-card, .gem-customer-address, .gem-customer-order-status, .gem-customer-order-address {
875
+ display: grid;
876
+ gap: var(--gem-space-xs);
877
+ }
878
+ .gem-customer-card a, .gem-customer-address a {
879
+ color: inherit;
880
+ text-underline-offset: 0.18em;
881
+ }
882
+ .gem-customer-order-history {
883
+ display: grid;
884
+ gap: var(--gem-space-sm);
885
+ }
886
+ .gem-customer-order-history h2 {
887
+ margin: 0;
888
+ font-family: var(--gem-font-heading);
889
+ font-size: clamp(1.25rem, 2vw, 1.75rem);
890
+ }
891
+ .gem-customer-order-link {
892
+ display: grid;
893
+ grid-template-columns: minmax(0, 1fr) auto;
894
+ gap: var(--gem-space-sm);
895
+ align-items: center;
896
+ color: inherit;
897
+ text-decoration: none;
898
+ }
899
+ .gem-customer-order-link:hover strong {
900
+ text-decoration: underline;
901
+ text-underline-offset: 0.18em;
902
+ }
903
+ .gem-customer-order-line {
904
+ grid-template-columns: minmax(0, 1fr) auto;
905
+ }
906
+ .gem-customer-order-total {
907
+ margin: 0;
908
+ justify-self: end;
909
+ font-weight: 750;
910
+ }
911
+ .gem-pagination {
912
+ display: flex;
913
+ flex-wrap: wrap;
914
+ gap: var(--gem-space-sm);
915
+ align-items: center;
916
+ justify-content: center;
917
+ }
918
+ .gem-pagination a, .gem-pagination span {
919
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
920
+ border-radius: var(--gem-radius-md);
921
+ padding: var(--gem-space-sm) var(--gem-space-md);
922
+ text-decoration: none;
923
+ }
924
+ .gem-pagination [aria-current='page'], .gem-state-active {
925
+ border-color: var(--gem-color-accent);
926
+ background: var(--gem-color-accent);
927
+ color: var(--gem-color-accent-text, var(--gem-color-surface));
928
+ }
929
+ .gem-state-empty, .gem-state-loading, .gem-state-error, .gem-state-success {
930
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
931
+ border-radius: var(--gem-radius-md);
932
+ background: var(--gem-color-surface);
933
+ padding: var(--gem-space-md);
934
+ }
935
+ .gem-state-empty, .gem-state-loading {
936
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 68%, transparent));
937
+ }
938
+ .gem-state-error {
939
+ border-color: color-mix(in srgb, var(--gem-color-danger, #b42318) 42%, var(--gem-color-border));
940
+ color: var(--gem-color-danger, #b42318);
941
+ background: color-mix(in srgb, var(--gem-color-danger, #b42318) 7%, var(--gem-color-surface));
942
+ }
943
+ .gem-state-success {
944
+ border-color: color-mix(in srgb, var(--gem-color-success, #027a48) 42%, var(--gem-color-border));
945
+ color: var(--gem-color-success, #027a48);
946
+ background: color-mix(in srgb, var(--gem-color-success, #027a48) 7%, var(--gem-color-surface));
947
+ }
948
+ .gem-state-loading {
949
+ display: inline-flex;
950
+ align-items: center;
951
+ gap: var(--gem-space-sm);
952
+ }
953
+ .gem-state-loading::before {
954
+ content: '';
955
+ inline-size: 1rem;
956
+ block-size: 1rem;
957
+ border: 2px solid currentColor;
958
+ border-right-color: transparent;
959
+ border-radius: 999px;
960
+ animation: gem-spin 0.8s linear infinite;
961
+ }
962
+ @keyframes gem-spin {
963
+ to { transform: rotate(360deg); }
964
+ }
965
+ @media (prefers-reduced-motion: reduce) {
966
+ .gem-state-loading::before { animation: none; }
967
+ }
968
+ .gem-sticky-atc {
969
+ position: sticky;
970
+ inset-block-end: 0;
971
+ z-index: 30;
972
+ border-top: var(--gem-border-subtle, 1px solid var(--gem-color-border));
973
+ background: var(--gem-color-surface);
974
+ padding: var(--gem-space-sm) var(--gem-space-md);
975
+ transition: transform 160ms ease, opacity 160ms ease;
976
+ }
977
+ .gem-sticky-atc[data-gem-sticky-atc-state='hidden'] {
978
+ transform: translateY(100%);
979
+ opacity: 0;
980
+ pointer-events: none;
981
+ }
982
+ .gem-sticky-atc[data-gem-sticky-atc-state='visible'] {
983
+ transform: translateY(0);
984
+ opacity: 1;
985
+ }
986
+ .gem-reveal, [data-gem-reveal] { transition-property: opacity, transform, filter; transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); transition-duration: var(--gem-el-motion-duration, 600ms); transition-delay: var(--gem-el-motion-delay, 0ms); }
987
+ [data-gem-reveal][data-gem-reveal-state='ready'] { opacity: 0; transform: translateY(24px); }
988
+ [data-gem-reveal][data-gem-reveal-state='in'] { opacity: 1; transform: none; filter: none; }
989
+ [data-gem-reveal='fade'][data-gem-reveal-state='ready'] { opacity: 0; transform: none; }
990
+ [data-gem-reveal='rise'][data-gem-reveal-state='ready'] { opacity: 0; transform: translateY(24px); }
991
+ [data-gem-reveal='zoom'][data-gem-reveal-state='ready'] { opacity: 0; transform: scale(0.94); }
992
+ [data-gem-reveal='blur'][data-gem-reveal-state='ready'] { opacity: 0; filter: blur(10px); transform: none; }
993
+ @media (prefers-reduced-motion: reduce) { [data-gem-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; transition: none; } }
994
+ @keyframes gem-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(calc(-1 * var(--gem-ambient-amp, 7px))); } }
995
+ @keyframes gem-sheen { 0%, 100% { opacity: 0.55; } 50% { opacity: 1; } }
996
+ @keyframes gem-marquee-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
997
+ [data-gem-ambient='float'] { animation: gem-float var(--gem-ambient-mid, 7s) var(--gem-ease-soft, ease-in-out) infinite; will-change: transform; }
998
+ [data-gem-ambient='sheen'] { animation: gem-sheen var(--gem-ambient-slow, 9s) var(--gem-ease-soft, ease-in-out) infinite; will-change: opacity; }
999
+ [data-gem-ambient='marquee'] { animation: gem-marquee-scroll var(--gem-ambient-fast, 5.5s) linear infinite; will-change: transform; }
1000
+ [data-gem-offscreen] { animation-play-state: paused; }
1001
+ @media (prefers-reduced-motion: reduce) {
1002
+ [data-gem-ambient] { --gem-ambient-amp: 2px; animation-duration: 12s; }
1003
+ [data-gem-reveal] { transition: none; opacity: 1; transform: none; }
1004
+ .gem-marquee__track { animation-duration: calc(var(--gem-marquee-duration, 40s) * 2.5); }
1005
+ }
1006
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top], :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom] { position: relative; overflow: clip; overflow-clip-margin: var(--gem-divider-height, 48px); }
1007
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom='wave']::after, :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom='slope']::after, :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom='spikes']::after, :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom='arch']::after, :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom='blob']::after, :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top='wave']::before, :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top='slope']::before, :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top='spikes']::before, :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top='arch']::before, :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top='blob']::before { content: ''; position: absolute; left: 0; right: 0; z-index: 1; pointer-events: none; height: var(--gem-divider-height, 48px); background: var(--gem-section-bg, var(--gem-color-background)); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; }
1008
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom]::after { top: 100%; }
1009
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top]::before { bottom: 100%; transform: scaleY(-1); }
1010
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom='wave']::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V3 C80 9 70 -1 50 4 C30 9 20 1 0 4 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V3 C80 9 70 -1 50 4 C30 9 20 1 0 4 Z'/%3E%3C/svg%3E"); }
1011
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top='wave']::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V3 C80 9 70 -1 50 4 C30 9 20 1 0 4 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V3 C80 9 70 -1 50 4 C30 9 20 1 0 4 Z'/%3E%3C/svg%3E"); }
1012
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom='slope']::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V10 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V10 Z'/%3E%3C/svg%3E"); }
1013
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top='slope']::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V10 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V10 Z'/%3E%3C/svg%3E"); }
1014
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom='spikes']::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V3 L95 10 L90 3 L85 10 L80 3 L75 10 L70 3 L65 10 L60 3 L55 10 L50 3 L45 10 L40 3 L35 10 L30 3 L25 10 L20 3 L15 10 L10 3 L5 10 L0 3 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V3 L95 10 L90 3 L85 10 L80 3 L75 10 L70 3 L65 10 L60 3 L55 10 L50 3 L45 10 L40 3 L35 10 L30 3 L25 10 L20 3 L15 10 L10 3 L5 10 L0 3 Z'/%3E%3C/svg%3E"); }
1015
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top='spikes']::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V3 L95 10 L90 3 L85 10 L80 3 L75 10 L70 3 L65 10 L60 3 L55 10 L50 3 L45 10 L40 3 L35 10 L30 3 L25 10 L20 3 L15 10 L10 3 L5 10 L0 3 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V3 L95 10 L90 3 L85 10 L80 3 L75 10 L70 3 L65 10 L60 3 L55 10 L50 3 L45 10 L40 3 L35 10 L30 3 L25 10 L20 3 L15 10 L10 3 L5 10 L0 3 Z'/%3E%3C/svg%3E"); }
1016
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom='arch']::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V2 Q50 12 0 2 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V2 Q50 12 0 2 Z'/%3E%3C/svg%3E"); }
1017
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top='arch']::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V2 Q50 12 0 2 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V2 Q50 12 0 2 Z'/%3E%3C/svg%3E"); }
1018
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-bottom='blob']::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V4 C85 11 72 0 58 5 C44 10 30 2 16 6 C10 8 5 5 0 6 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V4 C85 11 72 0 58 5 C44 10 30 2 16 6 C10 8 5 5 0 6 Z'/%3E%3C/svg%3E"); }
1019
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-divider-top='blob']::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V4 C85 11 72 0 58 5 C44 10 30 2 16 6 C10 8 5 5 0 6 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0 H100 V4 C85 11 72 0 58 5 C44 10 30 2 16 6 C10 8 5 5 0 6 Z'/%3E%3C/svg%3E"); }
1020
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-card] :is(.gem-section__inner, [class*='__inner']) { border-radius: var(--gem-radius-md); padding: var(--gem-space-xl); }
1021
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-card='outline'] :is(.gem-section__inner, [class*='__inner']) { border: 1px solid var(--gem-color-border); }
1022
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-card='shadow'] :is(.gem-section__inner, [class*='__inner']) { background: var(--gem-color-surface); box-shadow: var(--gem-shadow-md); }
1023
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-card='filled'] :is(.gem-section__inner, [class*='__inner']) { background: color-mix(in srgb, currentColor 6%, transparent); }
1024
+ .gem-promo-banner, .gem-promo-tile {
1025
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1026
+ border-radius: var(--gem-radius-md);
1027
+ background: var(--gem-color-surface);
1028
+ padding: var(--gem-space-md);
1029
+ }
1030
+ .gem-promo-banner {
1031
+ display: flex;
1032
+ flex-wrap: wrap;
1033
+ justify-content: space-between;
1034
+ gap: var(--gem-space-sm);
1035
+ }
1036
+ .gem-trust-list, .gem-breadcrumbs, .gem-filter-bar {
1037
+ display: flex;
1038
+ flex-wrap: wrap;
1039
+ gap: var(--gem-space-sm);
1040
+ align-items: center;
1041
+ }
1042
+ .gem-filter-bar .gem-select {
1043
+ width: auto;
1044
+ min-width: min(18rem, 100%);
1045
+ margin-left: auto;
1046
+ }
1047
+ .gem-collection-filter-toolbar__form {
1048
+ display: flex;
1049
+ flex-wrap: wrap;
1050
+ align-items: end;
1051
+ gap: var(--gem-space-sm);
1052
+ }
1053
+ .gem-collection-filter-toolbar__filters, .gem-collection-filter-toolbar__sort, .gem-collection-filter-toolbar__filter {
1054
+ display: grid;
1055
+ gap: var(--gem-space-xs);
1056
+ }
1057
+ .gem-collection-filter-toolbar__filters {
1058
+ align-content: start;
1059
+ }
1060
+ .gem-collection-filter-toolbar__filters > summary {
1061
+ list-style: none;
1062
+ }
1063
+ .gem-collection-filter-toolbar__filters > summary::-webkit-details-marker {
1064
+ display: none;
1065
+ }
1066
+ .gem-collection-filter-toolbar__filters[open] {
1067
+ gap: var(--gem-space-sm);
1068
+ }
1069
+ .gem-collection-filter-toolbar__sort {
1070
+ margin-left: auto;
1071
+ }
1072
+ .gem-collection-filter-toolbar__select {
1073
+ min-height: var(--gem-component-input-height, 44px);
1074
+ min-width: min(16rem, 100%);
1075
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1076
+ border-radius: var(--gem-radius-md);
1077
+ background: var(--gem-color-surface);
1078
+ color: var(--gem-color-text);
1079
+ padding-inline: var(--gem-space-md);
1080
+ }
1081
+ .gem-collection-filter-toolbar__active {
1082
+ display: flex;
1083
+ flex-wrap: wrap;
1084
+ align-items: center;
1085
+ gap: var(--gem-space-xs);
1086
+ }
1087
+ .gem-collection-filter-toolbar__active:empty {
1088
+ display: none;
1089
+ }
1090
+ .gem-collection-filter-toolbar__active-filter {
1091
+ text-decoration: none;
1092
+ }
1093
+ .gem-collection-filter-toolbar__clear {
1094
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
1095
+ font-size: 0.875rem;
1096
+ }
1097
+ .gem-tabs {
1098
+ display: grid;
1099
+ gap: var(--gem-space-md);
1100
+ }
1101
+ .gem-drawer, .gem-modal {
1102
+ background: var(--gem-color-surface);
1103
+ color: var(--gem-color-text);
1104
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1105
+ box-shadow: var(--gem-shadow-md, none);
1106
+ }
1107
+ .gem-modal[aria-hidden='true'] {
1108
+ display: none;
1109
+ }
1110
+ .gem-modal[open] {
1111
+ display: grid;
1112
+ gap: var(--gem-space-sm);
1113
+ padding: var(--gem-space-md);
1114
+ }
1115
+ .gem-cart-drawer {
1116
+ position: relative;
1117
+ z-index: 80;
1118
+ }
1119
+ .gem-cart-drawer:not([open]) .gem-cart-drawer__overlay, .gem-cart-drawer:not([open]) .gem-cart-drawer__panel {
1120
+ display: none;
1121
+ }
1122
+ .gem-cart-drawer__overlay {
1123
+ position: fixed;
1124
+ inset: 0;
1125
+ background: rgba(0, 0, 0, 0.36);
1126
+ }
1127
+ .gem-cart-drawer__panel {
1128
+ position: fixed;
1129
+ inset-block: 0;
1130
+ inset-inline-end: 0;
1131
+ width: min(100%, 28rem);
1132
+ overflow: auto;
1133
+ background: var(--gem-color-surface);
1134
+ color: var(--gem-color-text);
1135
+ border-inline-start: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1136
+ box-shadow: var(--gem-shadow-md, none);
1137
+ padding: var(--gem-space-lg);
1138
+ }
1139
+ .gem-cart-drawer__header, .gem-cart-drawer__footer {
1140
+ display: flex;
1141
+ flex-wrap: wrap;
1142
+ align-items: center;
1143
+ justify-content: space-between;
1144
+ gap: var(--gem-space-sm);
1145
+ }
1146
+ .gem-cart-drawer__header {
1147
+ margin-bottom: var(--gem-space-lg);
1148
+ }
1149
+ .gem-cart-drawer__header h2 {
1150
+ margin: 0;
1151
+ font-family: var(--gem-font-heading);
1152
+ }
1153
+ .gem-cart-drawer__form, .gem-cart-drawer__items, .gem-cart-drawer__empty {
1154
+ display: grid;
1155
+ gap: var(--gem-space-md);
1156
+ }
1157
+ .gem-cart-drawer .gem-cart-line-item {
1158
+ grid-template-columns: minmax(4.5rem, 5.5rem) minmax(0, 1fr);
1159
+ gap: var(--gem-space-sm);
1160
+ }
1161
+ .gem-cart-drawer .gem-cart-line-item__quantity, .gem-cart-drawer .gem-cart-line-item__price {
1162
+ grid-column: 2;
1163
+ }
1164
+ .gem-cart-drawer .gem-cart-line-item__price {
1165
+ justify-self: start;
1166
+ }
1167
+ .gem-cart-drawer__footer {
1168
+ margin-top: var(--gem-space-lg);
1169
+ padding-top: var(--gem-space-md);
1170
+ border-top: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1171
+ }
1172
+ .gem-cart-drawer__footer p {
1173
+ flex-basis: 100%;
1174
+ margin: 0;
1175
+ font-weight: 750;
1176
+ }
1177
+ .gem-copy-code, .gem-delivery-date, .gem-stock-indicator, .gem-popup {
1178
+ color: var(--gem-color-text);
1179
+ background: var(--gem-color-surface);
1180
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1181
+ border-radius: var(--gem-radius-md);
1182
+ }
1183
+ .gem-copy-code, .gem-delivery-date, .gem-stock-indicator {
1184
+ display: inline-flex;
1185
+ align-items: center;
1186
+ gap: var(--gem-space-sm);
1187
+ padding: var(--gem-space-sm) var(--gem-space-md);
1188
+ }
1189
+ .gem-popup {
1190
+ box-shadow: var(--gem-shadow-md, none);
1191
+ padding: var(--gem-space-lg);
1192
+ }
1193
+ .gem-back-to-top {
1194
+ position: fixed;
1195
+ inset-block-end: var(--gem-space-lg);
1196
+ inset-inline-end: var(--gem-space-lg);
1197
+ z-index: 20;
1198
+ }
1199
+ .gem-content-shell {
1200
+ max-width: 72ch;
1201
+ }
1202
+ .gem-content-shell .gem-section__heading {
1203
+ max-width: 12ch;
1204
+ }
1205
+ .gem-content-header {
1206
+ display: grid;
1207
+ gap: var(--gem-space-sm);
1208
+ }
1209
+ .gem-content-body {
1210
+ max-width: 72ch;
1211
+ }
1212
+ .gem-content-body > * + * {
1213
+ margin-top: var(--gem-space-md);
1214
+ }
1215
+ .gem-content-body h2, .gem-content-body h3 {
1216
+ margin-bottom: 0;
1217
+ font-family: var(--gem-font-heading);
1218
+ line-height: 1.15;
1219
+ }
1220
+ .gem-content-body ul, .gem-content-body ol {
1221
+ padding-inline-start: var(--gem-space-lg);
1222
+ }
1223
+ .gem-content-body a {
1224
+ color: var(--gem-color-accent);
1225
+ text-underline-offset: 0.18em;
1226
+ }
1227
+ .gem-main-page .gem-content-shell {
1228
+ display: grid;
1229
+ gap: var(--gem-space-lg);
1230
+ }
1231
+ .gem-contact-form {
1232
+ display: grid;
1233
+ gap: var(--gem-space-lg);
1234
+ }
1235
+ .gem-contact-form__form {
1236
+ gap: var(--gem-space-md);
1237
+ }
1238
+ .gem-contact-form__form .gem-button {
1239
+ justify-self: start;
1240
+ }
1241
+ .gem-email-signup-banner .gem-content-shell {
1242
+ display: grid;
1243
+ justify-items: center;
1244
+ gap: var(--gem-space-md);
1245
+ margin-inline: auto;
1246
+ text-align: center;
1247
+ }
1248
+ .gem-email-signup-banner .gem-newsletter-form {
1249
+ justify-content: center;
1250
+ width: min(100%, 44rem);
1251
+ }
1252
+ .gem-gift-card {
1253
+ min-block-size: 100vh;
1254
+ display: grid;
1255
+ place-items: center;
1256
+ padding: var(--gem-space-lg);
1257
+ }
1258
+ .gem-gift-card__main {
1259
+ display: grid;
1260
+ justify-items: center;
1261
+ gap: var(--gem-space-md);
1262
+ text-align: center;
1263
+ }
1264
+ .gem-gift-card__code {
1265
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1266
+ font-size: clamp(1.25rem, 4vw, 2rem);
1267
+ letter-spacing: 0.08em;
1268
+ }
1269
+ .gem-gift-card__actions {
1270
+ display: flex;
1271
+ flex-wrap: wrap;
1272
+ justify-content: center;
1273
+ gap: var(--gem-space-sm);
1274
+ }
1275
+ .gem-blog-grid {
1276
+ display: grid;
1277
+ grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
1278
+ gap: var(--gem-space-md);
1279
+ }
1280
+ .gem-article-card {
1281
+ display: grid;
1282
+ grid-template-rows: auto minmax(0, 1fr);
1283
+ gap: var(--gem-space-sm);
1284
+ color: var(--gem-color-text);
1285
+ }
1286
+ .gem-article-card > a {
1287
+ color: inherit;
1288
+ text-decoration: none;
1289
+ }
1290
+ .gem-article-card__media {
1291
+ aspect-ratio: 16 / 10;
1292
+ }
1293
+ .gem-article-card__content {
1294
+ display: grid;
1295
+ gap: var(--gem-space-xs);
1296
+ }
1297
+ .gem-article-card__meta {
1298
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
1299
+ font-size: 0.875rem;
1300
+ }
1301
+ .gem-article-card__title {
1302
+ margin: 0;
1303
+ font-family: var(--gem-font-heading);
1304
+ }
1305
+ .gem-article-card__title a {
1306
+ color: inherit;
1307
+ text-decoration: none;
1308
+ }
1309
+ .gem-article-card__title a:hover {
1310
+ text-decoration: underline;
1311
+ text-underline-offset: 0.18em;
1312
+ }
1313
+ .gem-search-form {
1314
+ display: grid;
1315
+ grid-template-columns: minmax(0, 1fr) auto;
1316
+ gap: var(--gem-space-sm);
1317
+ align-items: end;
1318
+ max-width: 48rem;
1319
+ }
1320
+ .gem-search-form [data-gem-predictive-search-results] {
1321
+ grid-column: 1 / -1;
1322
+ }
1323
+ .gem-search-results-meta {
1324
+ margin: 0;
1325
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
1326
+ }
1327
+ .gem-search-result-card {
1328
+ display: grid;
1329
+ gap: var(--gem-space-xs);
1330
+ color: var(--gem-color-text);
1331
+ text-decoration: none;
1332
+ }
1333
+ .gem-search-result-card span {
1334
+ display: block;
1335
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
1336
+ font-size: 0.875rem;
1337
+ }
1338
+ .gem-search-result-card:hover strong {
1339
+ text-decoration: underline;
1340
+ text-underline-offset: 0.18em;
1341
+ }
1342
+ .gem-article-card__excerpt {
1343
+ margin: 0;
1344
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
1345
+ }
1346
+ .gem-not-found {
1347
+ max-width: 42rem;
1348
+ }
1349
+ .gem-u-hidden { display: none !important; }
1350
+ .gem-u-visually-hidden {
1351
+ position: absolute !important;
1352
+ width: 1px !important;
1353
+ height: 1px !important;
1354
+ overflow: hidden !important;
1355
+ clip: rect(0, 0, 0, 0) !important;
1356
+ white-space: nowrap !important;
1357
+ }
1358
+ .gem-u-center { text-align: center; }
1359
+ .gem-u-muted { color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent)); }
1360
+ .gem-u-surface { background: var(--gem-color-surface); color: var(--gem-color-text); }
1361
+ .gem-u-accent { color: var(--gem-color-accent); }
1362
+ .gem-u-stack-sm { gap: var(--gem-space-sm); }
1363
+ .gem-u-stack-md { gap: var(--gem-space-md); }
1364
+ .gem-u-stack-lg { gap: var(--gem-space-lg); }
1365
+ @media (max-width: 760px) {
1366
+ .gem-cart-line-item { grid-template-columns: minmax(4rem, 5rem) minmax(0, 1fr); }
1367
+ .gem-cart-line-item__quantity, .gem-cart-line-item__price { grid-column: 2; }
1368
+ .gem-customer-order-link, .gem-customer-order-line { grid-template-columns: minmax(0, 1fr); }
1369
+ .gem-customer-order-total { justify-self: start; }
1370
+ .gem-search-form { grid-template-columns: minmax(0, 1fr); }
1371
+ .gem-filter-bar, .gem-collection-filter-toolbar__form { display: grid; align-items: stretch; }
1372
+ .gem-filter-bar .gem-select, .gem-collection-filter-toolbar__sort, .gem-collection-filter-toolbar__select, .gem-collection-filter-toolbar__submit { width: 100%; margin-left: 0; }
1373
+ .gem-collection-filter-toolbar__filters { border: var(--gem-border-subtle, 1px solid var(--gem-color-border)); border-radius: var(--gem-radius-md); background: var(--gem-color-surface); padding: var(--gem-space-sm); }
1374
+ .gem-collection-filter-toolbar__filters > summary { width: 100%; }
1375
+ .gem-collection-filter-toolbar__filters[open] { padding-bottom: var(--gem-space-md); }
1376
+ .gem-collection-filter-toolbar__active { align-items: stretch; }
1377
+ .gem-collection-filter-toolbar__active-filter, .gem-collection-filter-toolbar__clear { min-height: 2.25rem; align-items: center; }
1378
+ }
1379
+
1380
+ .page-width {
1381
+ max-width: var(--page-width, var(--gem-layout-page, 1200px));
1382
+ margin: 0 auto;
1383
+ padding: 0 1.5rem;
1384
+ }
1385
+ @media screen and (min-width: 750px) {
1386
+ .page-width { padding: 0 5rem; }
1387
+ }
1388
+ .list-unstyled {
1389
+ margin: 0;
1390
+ padding: 0;
1391
+ list-style: none;
1392
+ }
1393
+ .link, .link--text {
1394
+ color: inherit;
1395
+ text-decoration: none;
1396
+ }
1397
+ .focus-inset:focus-visible {
1398
+ outline: 0.2rem solid rgba(var(--color-foreground, 18 18 18), 0.5);
1399
+ outline-offset: 0.3rem;
1400
+ }
1401
+ .h2, .h5, .inline-richtext {
1402
+ font-family: var(--gem-font-heading);
1403
+ }
1404
+ .h2 { font-size: 2rem; line-height: 1.15; }
1405
+ .h5 { font-size: 1.2rem; line-height: 1.3; }
1406
+ .utility-bar {
1407
+ border-bottom: 0.1rem solid rgba(var(--color-foreground, 18 18 18), 0.08);
1408
+ background: var(--gem-color-surface);
1409
+ }
1410
+ .utility-bar__grid {
1411
+ display: grid;
1412
+ grid-template-columns: 1fr;
1413
+ align-items: center;
1414
+ min-height: 3.8rem;
1415
+ }
1416
+ .utility-bar__grid--2-col, .utility-bar__grid--3-col {
1417
+ grid-template-columns: 1fr auto;
1418
+ }
1419
+ .announcement-bar {
1420
+ color: var(--gem-color-text);
1421
+ text-align: center;
1422
+ }
1423
+ .announcement-bar__message {
1424
+ margin: 0;
1425
+ padding: 1rem 0;
1426
+ min-height: 3.8rem;
1427
+ display: flex;
1428
+ align-items: center;
1429
+ justify-content: center;
1430
+ letter-spacing: 0;
1431
+ }
1432
+ .announcement-bar__link {
1433
+ display: block;
1434
+ width: 100%;
1435
+ }
1436
+ .gem-shell-header .localization-wrapper {
1437
+ display: none !important;
1438
+ }
1439
+ .header-wrapper {
1440
+ display: block;
1441
+ position: relative;
1442
+ background: var(--gem-color-background);
1443
+ z-index: 3;
1444
+ }
1445
+ .header-wrapper--border-bottom {
1446
+ border-bottom: 0.1rem solid rgba(var(--color-foreground, 18 18 18), 0.08);
1447
+ }
1448
+ sticky-header.header-wrapper {
1449
+ position: sticky;
1450
+ top: 0;
1451
+ }
1452
+ .header {
1453
+ display: grid;
1454
+ grid-template-areas: 'heading navigation icons';
1455
+ grid-template-columns: auto 1fr auto;
1456
+ align-items: center;
1457
+ column-gap: 2rem;
1458
+ padding-top: 20px;
1459
+ padding-bottom: 20px;
1460
+ }
1461
+ .header--middle-left { grid-template-areas: 'heading navigation icons'; }
1462
+ .header--middle-center { grid-template-areas: 'navigation heading icons'; grid-template-columns: 1fr auto 1fr; }
1463
+ .header__heading-link, .gem-shell-header__logo {
1464
+ grid-area: heading;
1465
+ justify-self: start;
1466
+ line-height: 1;
1467
+ }
1468
+ .header__heading-logo-wrapper {
1469
+ display: inline-block;
1470
+ max-width: 100%;
1471
+ }
1472
+ .header__heading-logo {
1473
+ height: auto;
1474
+ max-width: 100%;
1475
+ }
1476
+ .header .gem-shell-header__nav {
1477
+ grid-area: navigation;
1478
+ justify-content: flex-start;
1479
+ }
1480
+ .header .gem-shell-header__actions {
1481
+ grid-area: icons;
1482
+ justify-content: flex-end;
1483
+ }
1484
+ .header__icon, .gem-shell-header__action {
1485
+ color: inherit;
1486
+ display: inline-flex;
1487
+ align-items: center;
1488
+ justify-content: center;
1489
+ min-width: 4.4rem;
1490
+ min-height: 4.4rem;
1491
+ padding: 0 0.8rem;
1492
+ text-decoration: none;
1493
+ }
1494
+ .cart-count-bubble, .gem-shell-header__cart-count {
1495
+ display: inline-flex;
1496
+ align-items: center;
1497
+ justify-content: center;
1498
+ min-width: 1.7rem;
1499
+ height: 1.7rem;
1500
+ border-radius: 50%;
1501
+ background: rgb(var(--color-button, 18 18 18));
1502
+ color: rgb(var(--color-button-text, 255 255 255));
1503
+ font-size: 0.9rem;
1504
+ }
1505
+ .menu-drawer-container, .gem-shell-header__drawer {
1506
+ display: flex;
1507
+ }
1508
+ .drawer-menu .gem-shell-header__nav { display: none; }
1509
+ .footer {
1510
+ border-top: 0.1rem solid rgba(var(--color-foreground, 18 18 18), 0.08);
1511
+ background: var(--gem-color-background);
1512
+ }
1513
+ .footer__content-top, .gem-shell-footer__inner {
1514
+ padding-bottom: 5rem;
1515
+ }
1516
+ .footer__blocks-wrapper {
1517
+ display: grid;
1518
+ gap: 3rem;
1519
+ }
1520
+ @media screen and (min-width: 750px) {
1521
+ .footer__blocks-wrapper.grid--4-col-tablet { grid-template-columns: repeat(4, minmax(0, 1fr)); }
1522
+ }
1523
+ .footer-block__heading {
1524
+ margin: 0 0 2rem;
1525
+ font-size: 1.6rem;
1526
+ }
1527
+ .footer-block__details-content {
1528
+ display: grid;
1529
+ gap: 1rem;
1530
+ color: rgba(var(--color-foreground, 18 18 18), 0.75);
1531
+ }
1532
+ .footer-block__details-content .list-menu__item--link {
1533
+ padding: 0;
1534
+ }
1535
+ .footer-block--newsletter {
1536
+ display: flex;
1537
+ flex-wrap: wrap;
1538
+ justify-content: space-between;
1539
+ gap: 3rem;
1540
+ margin-top: 3rem;
1541
+ }
1542
+ .newsletter-form__field-wrapper, .field {
1543
+ position: relative;
1544
+ }
1545
+ .field__input, .field input, .gem-input {
1546
+ min-height: 4.5rem;
1547
+ border-radius: var(--inputs-radius, 0);
1548
+ }
1549
+ .footer__content-bottom {
1550
+ border-top: 0.1rem solid rgba(var(--color-foreground, 18 18 18), 0.08);
1551
+ padding-top: 3rem;
1552
+ }
1553
+ .footer__content-bottom-wrapper {
1554
+ display: flex;
1555
+ width: 100%;
1556
+ justify-content: space-between;
1557
+ gap: 1.5rem;
1558
+ }
1559
+ .footer__copyright, .copyright__content, .policies {
1560
+ font-size: 1.1rem;
1561
+ }
1562
+ .policies {
1563
+ display: inline-flex;
1564
+ gap: 1.5rem;
1565
+ margin: 0;
1566
+ padding: 0;
1567
+ list-style: none;
1568
+ }
1569
+ .gem-shell-header, .gem-shell-footer {
1570
+ color: var(--gem-color-text);
1571
+ background: var(--gem-color-surface);
1572
+ border-color: var(--gem-color-border);
1573
+ }
1574
+ .gem-shell-header {
1575
+ border-bottom: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1576
+ min-height: var(--gem-component-header-height, 72px);
1577
+ z-index: 20;
1578
+ }
1579
+ .gem-shell-header--sticky {
1580
+ position: sticky;
1581
+ top: 0;
1582
+ }
1583
+ .gem-shell-header--editorial {
1584
+ background: color-mix(in srgb, var(--gem-color-surface) 88%, transparent);
1585
+ backdrop-filter: blur(14px);
1586
+ }
1587
+ .gem-shell-header--overlay.gem-shell-header--transparent-start {
1588
+ background: color-mix(in srgb, var(--gem-color-text) 18%, transparent);
1589
+ color: var(--gem-color-surface);
1590
+ border-bottom-color: color-mix(in srgb, var(--gem-color-surface) 24%, transparent);
1591
+ backdrop-filter: blur(10px);
1592
+ }
1593
+ .gem-shell-header--overlay .gem-shell-header__actions .gem-shell-header__action--cart {
1594
+ color: var(--gem-color-surface);
1595
+ }
1596
+ .gem-shell-header--scroll-background[data-gem-header-contrast-state='solid'] {
1597
+ background: var(--gem-color-surface);
1598
+ color: var(--gem-color-text);
1599
+ }
1600
+ .gem-shell-header--search-led, .gem-shell-header--mega-menu {
1601
+ box-shadow: var(--gem-shadow-sm, none);
1602
+ }
1603
+ .gem-shell-header--split-nav .gem-shell-header__inner {
1604
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
1605
+ }
1606
+ .gem-shell-header--split-nav .gem-shell-header__logo {
1607
+ grid-column: 2;
1608
+ }
1609
+ .gem-shell-header--split-nav .gem-shell-header__nav {
1610
+ grid-column: 1;
1611
+ grid-row: 1;
1612
+ justify-content: flex-start;
1613
+ }
1614
+ .gem-shell-header--split-nav .gem-shell-header__actions {
1615
+ grid-column: 3;
1616
+ grid-row: 1;
1617
+ justify-content: flex-end;
1618
+ }
1619
+ .gem-shell-header--marketplace {
1620
+ --gem-component-header-height: 80px;
1621
+ }
1622
+ .gem-shell-header--promo-stack .gem-shell-header__announcement, .gem-shell-header__utility {
1623
+ font-size: 0.8125rem;
1624
+ }
1625
+ .gem-shell-header__announcement {
1626
+ background: var(--gem-color-accent);
1627
+ color: var(--gem-color-accent-text, var(--gem-color-surface));
1628
+ padding: var(--gem-space-sm) var(--gem-space-md);
1629
+ text-align: center;
1630
+ font-size: 0.875rem;
1631
+ font-weight: 650;
1632
+ }
1633
+ .gem-shell-header__utility {
1634
+ display: flex;
1635
+ justify-content: space-between;
1636
+ align-items: center;
1637
+ gap: var(--gem-space-md);
1638
+ width: min(var(--gem-layout-page, 1180px), calc(100% - var(--gem-layout-gutter, 32px)));
1639
+ margin-inline: auto;
1640
+ padding-block: var(--gem-space-xs);
1641
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
1642
+ }
1643
+ .gem-shell-header__utility nav {
1644
+ display: flex;
1645
+ gap: var(--gem-space-md);
1646
+ }
1647
+ .gem-shell-header__inner, .gem-shell-footer__inner {
1648
+ width: min(var(--gem-layout-page, 1180px), calc(100% - var(--gem-layout-gutter, 32px)));
1649
+ margin-inline: auto;
1650
+ }
1651
+ .gem-shell-header__inner {
1652
+ min-height: var(--gem-component-header-height, 72px);
1653
+ display: grid;
1654
+ grid-template-columns: auto minmax(0, 1fr) auto;
1655
+ align-items: center;
1656
+ gap: var(--gem-space-md);
1657
+ }
1658
+ .gem-shell-header__logo {
1659
+ color: inherit;
1660
+ font-family: var(--gem-font-heading);
1661
+ font-weight: 750;
1662
+ text-decoration: none;
1663
+ }
1664
+ .gem-shell-header__drawer {
1665
+ display: none;
1666
+ }
1667
+ .gem-shell-header__drawer-toggle {
1668
+ list-style: none;
1669
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1670
+ border-radius: var(--gem-radius-md);
1671
+ padding: var(--gem-space-sm) var(--gem-space-md);
1672
+ font-weight: 700;
1673
+ cursor: pointer;
1674
+ }
1675
+ .gem-shell-header__drawer-toggle::-webkit-details-marker {
1676
+ display: none;
1677
+ }
1678
+ .gem-shell-header__drawer-panel {
1679
+ position: absolute;
1680
+ inset-inline: 0;
1681
+ top: 100%;
1682
+ border-top: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1683
+ border-bottom: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1684
+ background: var(--gem-color-surface);
1685
+ padding: var(--gem-space-md);
1686
+ box-shadow: var(--gem-shadow-md, none);
1687
+ }
1688
+ .gem-shell-header__drawer-nav, .gem-shell-header__drawer-actions {
1689
+ display: grid;
1690
+ gap: var(--gem-space-sm);
1691
+ }
1692
+ .gem-shell-header__drawer-actions {
1693
+ margin-top: var(--gem-space-md);
1694
+ padding-top: var(--gem-space-md);
1695
+ border-top: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1696
+ }
1697
+ .gem-shell-header__nav, .gem-shell-header__actions {
1698
+ display: flex;
1699
+ align-items: center;
1700
+ gap: var(--gem-space-md);
1701
+ }
1702
+ .gem-shell-header__nav--editorial {
1703
+ justify-content: center;
1704
+ font-family: var(--gem-font-heading);
1705
+ }
1706
+ .gem-shell-header__nav--mega {
1707
+ font-weight: 650;
1708
+ }
1709
+ .gem-shell-header__nav a, .gem-shell-header__actions a, .gem-shell-footer a {
1710
+ color: inherit;
1711
+ text-decoration: none;
1712
+ }
1713
+ .gem-shell-header__action--search, .gem-shell-header__action--cart {
1714
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1715
+ border-radius: var(--gem-radius-md);
1716
+ padding: var(--gem-space-sm) var(--gem-space-md);
1717
+ }
1718
+ .gem-shell-header__actions .gem-shell-header__action--cart {
1719
+ background: var(--gem-color-accent);
1720
+ color: var(--gem-color-accent-text, var(--gem-color-surface));
1721
+ white-space: nowrap;
1722
+ }
1723
+ .gem-shell-header__actions .gem-shell-header__action--cart * {
1724
+ color: inherit;
1725
+ }
1726
+ .gem-shell-header__cart-count {
1727
+ display: inline-flex;
1728
+ align-items: center;
1729
+ justify-content: center;
1730
+ min-inline-size: 1.5em;
1731
+ min-block-size: 1.5em;
1732
+ border-radius: var(--gem-radius-pill, 999px);
1733
+ background: color-mix(in srgb, currentColor 14%, transparent);
1734
+ font-size: 0.8125rem;
1735
+ }
1736
+ .gem-shell-header__mega, .gem-shell-header__departments, .gem-shell-header__promo-stack, .gem-shell-header__quicklinks, .gem-shell-header__trust-signal, .gem-shell-header__editorial-note, .gem-shell-header__search {
1737
+ width: min(var(--gem-layout-page, 1180px), calc(100% - var(--gem-layout-gutter, 32px)));
1738
+ margin-inline: auto;
1739
+ border-top: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1740
+ }
1741
+ .gem-shell-header__mega, .gem-shell-header__departments, .gem-shell-header__promo-stack, .gem-shell-header__quicklinks {
1742
+ display: grid;
1743
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1744
+ gap: var(--gem-space-md);
1745
+ padding-block: var(--gem-space-md);
1746
+ }
1747
+ .gem-shell-header__departments {
1748
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1749
+ }
1750
+ .gem-shell-header__promo-stack {
1751
+ grid-template-columns: 2fr repeat(2, minmax(0, 1fr));
1752
+ }
1753
+ .gem-shell-header__quicklinks {
1754
+ grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
1755
+ }
1756
+ .gem-shell-header__trust-signal {
1757
+ padding-block: var(--gem-space-sm);
1758
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
1759
+ font-size: 0.875rem;
1760
+ }
1761
+ .gem-shell-header__mega a, .gem-shell-header__mega span, .gem-shell-header__departments a, .gem-shell-header__departments span, .gem-shell-header__promo-stack a, .gem-shell-header__promo-stack span, .gem-shell-header__quicklinks a {
1762
+ border-radius: var(--gem-radius-md);
1763
+ background: var(--gem-color-background);
1764
+ padding: var(--gem-space-md);
1765
+ }
1766
+ .gem-shell-header__search {
1767
+ display: flex;
1768
+ gap: var(--gem-space-sm);
1769
+ padding-block: var(--gem-space-sm);
1770
+ }
1771
+ .gem-shell-header__search input {
1772
+ flex: 1;
1773
+ min-width: 0;
1774
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1775
+ border-radius: var(--gem-radius-md);
1776
+ padding: var(--gem-space-md);
1777
+ }
1778
+ .gem-shell-header__search button {
1779
+ border: 0;
1780
+ border-radius: var(--gem-radius-md);
1781
+ background: var(--gem-color-accent);
1782
+ color: var(--gem-color-accent-text, var(--gem-color-surface));
1783
+ padding-inline: var(--gem-space-lg);
1784
+ font-weight: 700;
1785
+ }
1786
+ .gem-shell-header__search--sticky {
1787
+ position: sticky;
1788
+ top: var(--gem-component-header-height, 72px);
1789
+ z-index: 19;
1790
+ background: var(--gem-color-surface);
1791
+ }
1792
+ .gem-shell-header__editorial-note {
1793
+ padding-block: var(--gem-space-sm);
1794
+ text-align: center;
1795
+ font-family: var(--gem-font-heading);
1796
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
1797
+ }
1798
+ .gem-shell-footer {
1799
+ border-top: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1800
+ padding-block: var(--gem-layout-section, 64px);
1801
+ }
1802
+ .gem-shell-footer__newsletter {
1803
+ display: grid;
1804
+ gap: var(--gem-space-md);
1805
+ margin-bottom: var(--gem-space-xl);
1806
+ }
1807
+ .gem-shell-footer__newsletter form {
1808
+ display: flex;
1809
+ gap: var(--gem-space-sm);
1810
+ flex-wrap: wrap;
1811
+ }
1812
+ .gem-shell-footer__newsletter input, .gem-shell-footer__newsletter button {
1813
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1814
+ border-radius: var(--gem-radius-md);
1815
+ padding: var(--gem-space-md);
1816
+ background: var(--gem-color-surface);
1817
+ color: var(--gem-color-text);
1818
+ }
1819
+ .gem-shell-footer__newsletter button {
1820
+ background: var(--gem-color-accent);
1821
+ color: var(--gem-color-accent-text, var(--gem-color-surface));
1822
+ font-weight: 700;
1823
+ }
1824
+ .gem-shell-footer__grid {
1825
+ display: grid;
1826
+ grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
1827
+ gap: var(--gem-space-lg);
1828
+ }
1829
+ .gem-shell-footer__grid > div, .gem-shell-footer__column {
1830
+ display: grid;
1831
+ gap: var(--gem-space-sm);
1832
+ }
1833
+ .gem-shell-footer__column {
1834
+ align-content: start;
1835
+ }
1836
+ .gem-shell-footer__column summary {
1837
+ min-height: 2.75rem;
1838
+ display: flex;
1839
+ align-items: center;
1840
+ cursor: pointer;
1841
+ font-weight: 700;
1842
+ }
1843
+ .gem-shell-footer__column [data-gem-footer-accordion-panel] {
1844
+ display: grid;
1845
+ gap: var(--gem-space-sm);
1846
+ }
1847
+ .gem-shell-footer__story, .gem-shell-footer__compliance, .gem-shell-footer__offer, .gem-shell-footer__support, .gem-shell-footer__community, .gem-shell-footer__markets {
1848
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1849
+ border-radius: var(--gem-radius-md);
1850
+ background: var(--gem-color-background);
1851
+ padding: var(--gem-space-lg);
1852
+ margin-bottom: var(--gem-space-xl);
1853
+ }
1854
+ .gem-shell-footer__story h2 {
1855
+ margin: 0;
1856
+ font-family: var(--gem-font-heading);
1857
+ }
1858
+ .gem-shell-footer__compliance strong {
1859
+ display: block;
1860
+ margin-bottom: var(--gem-space-sm);
1861
+ }
1862
+ .gem-shell-footer__offer {
1863
+ background: var(--gem-color-accent);
1864
+ color: var(--gem-color-accent-text, var(--gem-color-surface));
1865
+ font-weight: 700;
1866
+ }
1867
+ .gem-shell-footer--sitemap .gem-shell-footer__grid {
1868
+ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
1869
+ }
1870
+ .gem-shell-footer--community .gem-shell-footer__community h2 {
1871
+ margin: 0;
1872
+ font-family: var(--gem-font-heading);
1873
+ }
1874
+ .gem-shell-footer__trust {
1875
+ display: flex;
1876
+ flex-wrap: wrap;
1877
+ gap: var(--gem-space-sm);
1878
+ margin-top: var(--gem-space-xl);
1879
+ }
1880
+ .gem-shell-footer__trust span {
1881
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1882
+ border-radius: var(--gem-radius-md);
1883
+ padding: var(--gem-space-sm) var(--gem-space-md);
1884
+ }
1885
+ .gem-shell-footer__bottom {
1886
+ display: flex;
1887
+ flex-wrap: wrap;
1888
+ align-items: center;
1889
+ justify-content: space-between;
1890
+ gap: var(--gem-space-md);
1891
+ margin-top: var(--gem-space-xl);
1892
+ padding-top: var(--gem-space-lg);
1893
+ border-top: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1894
+ }
1895
+ .gem-shell-footer__social, .gem-shell-footer__payments {
1896
+ display: flex;
1897
+ flex-wrap: wrap;
1898
+ align-items: center;
1899
+ gap: var(--gem-space-xs);
1900
+ margin: 0;
1901
+ padding: 0;
1902
+ list-style: none;
1903
+ }
1904
+ .gem-shell-footer__payment-icon {
1905
+ width: 2.375rem;
1906
+ height: auto;
1907
+ }
1908
+ .gem-shell-footer__social a {
1909
+ display: inline-flex;
1910
+ min-height: 2.25rem;
1911
+ align-items: center;
1912
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
1913
+ border-radius: var(--gem-radius-md);
1914
+ padding: var(--gem-space-xs) var(--gem-space-sm);
1915
+ }
1916
+ .gem-shell-footer__localization {
1917
+ min-width: min(18rem, 100%);
1918
+ }
1919
+ .gem-shell-footer__localization .gem-select {
1920
+ width: 100%;
1921
+ }
1922
+ @media (max-width: 760px) {
1923
+ .gem-shell-header { position: sticky; top: 0; }
1924
+ .gem-shell-header__inner { grid-template-columns: auto minmax(0, 1fr) auto; }
1925
+ .gem-shell-header--split-nav .gem-shell-header__inner { grid-template-columns: auto 1fr auto; }
1926
+ .gem-shell-header--split-nav .gem-shell-header__logo, .gem-shell-header--split-nav .gem-shell-header__nav, .gem-shell-header--split-nav .gem-shell-header__actions { grid-column: auto; grid-row: auto; }
1927
+ .gem-shell-header__drawer { display: block; }
1928
+ .gem-shell-header__drawer { order: -1; }
1929
+ .gem-shell-header__nav { display: none; }
1930
+ .gem-shell-header__actions { gap: var(--gem-space-xs); }
1931
+ .gem-shell-header__actions .gem-shell-header__action:not(.gem-shell-header__action--cart) { display: none; }
1932
+ .gem-shell-header__utility, .gem-shell-header__departments, .gem-shell-header__promo-stack, .gem-shell-header__quicklinks, .gem-shell-header__mega { grid-template-columns: 1fr; }
1933
+ }
1934
+
1935
+ .gem-section {
1936
+ color: var(--gem-color-text);
1937
+ background: var(--gem-color-background);
1938
+ padding-block: var(--gem-layout-section, var(--gem-space-3xl, 64px));
1939
+ overflow: clip;
1940
+ }
1941
+ .gem-section__inner {
1942
+ width: min(var(--gem-layout-page, 1180px), calc(100% - var(--gem-layout-gutter, 32px)));
1943
+ margin-inline: auto;
1944
+ display: grid;
1945
+ gap: var(--gem-space-lg);
1946
+ }
1947
+ .gem-section { font-family: var(--gem-font-body); }
1948
+ .gem-section [class*="__copy"] ul, .gem-section [class*="__copy"] ol { list-style: none; padding-left: 0; margin: var(--gem-space-sm, 12px) 0 0; }
1949
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-alignment='left'] .gem-section__inner { justify-items: start; }
1950
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-alignment='left'] :is(.gem-section__inner, .gem-hero-banner__copy, [class*='__content']) { text-align: left; }
1951
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-alignment='center'] .gem-section__inner { justify-items: center; }
1952
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-alignment='center'] :is(.gem-section__inner, .gem-hero-banner__copy, [class*='__content']) { text-align: center; }
1953
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-alignment='right'] .gem-section__inner { justify-items: end; }
1954
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-alignment='right'] :is(.gem-section__inner, .gem-hero-banner__copy, [class*='__content']) { text-align: right; }
1955
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-alignment] .gem-section__inner > :is([class*='__grid'], [class*='__media'], [class*='__mosaic'], [class*='__masonry'], [class*='__frame'], [class*='__collage'], [class*='__row']) { justify-self: stretch; width: 100%; }
1956
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-text-position='top'] .gem-hero-banner__copy { top: 50px; bottom: auto; }
1957
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-text-position='center'] .gem-hero-banner__copy { top: 50%; bottom: auto; transform: translate(-50%, -50%); }
1958
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-text-position='bottom'] .gem-hero-banner__copy { bottom: 50px; top: auto; }
1959
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-text-position='top'] .gem-section__inner { align-content: start; }
1960
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-text-position='center'] .gem-section__inner { align-content: center; }
1961
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-text-position='bottom'] .gem-section__inner { align-content: end; }
1962
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-media-position='left'] .gem-section__inner > [class*='__media'], :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-media-position='left'] .gem-section__inner > [class*='__grid'] > [class*='__media'] { order: -1; }
1963
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-media-position='right'] .gem-section__inner > [class*='__media'], :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-media-position='right'] .gem-section__inner > [class*='__grid'] > [class*='__media'] { order: 1; }
1964
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-spacing='tight'] .gem-section__inner { gap: var(--gem-space-sm); }
1965
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-spacing='normal'] .gem-section__inner { gap: var(--gem-space-lg); }
1966
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-spacing='roomy'] .gem-section__inner { gap: var(--gem-space-3xl); }
1967
+ :is(.gem-hero-banner, .gem-hero-video, .gem-hero)[data-gem-content-spacing='tight'] :is(.gem-hero-banner__copy, .gem-hero-banner__content, .gem-hero-slideshow__copy, .gem-hero-video__content, .gem-hero__content) { row-gap: var(--gem-space-xs); }
1968
+ :is(.gem-hero-banner--default, .gem-hero-banner--dawn-image-banner)[data-gem-content-spacing='tight'] .gem-hero-banner__copy > * + *, .gem-hero-banner[data-gem-content-spacing='tight'] .gem-hero-slideshow__copy > * + * { margin-top: var(--gem-space-xs); }
1969
+ :is(.gem-hero-banner--default, .gem-hero-banner--dawn-image-banner)[data-gem-content-spacing='tight'] .gem-hero-banner__copy > :not(:last-child), .gem-hero-banner[data-gem-content-spacing='tight'] .gem-hero-slideshow__copy > :not(:last-child) { margin-bottom: 0; }
1970
+ :is(.gem-hero-banner, .gem-hero-video, .gem-hero)[data-gem-content-spacing='normal'] :is(.gem-hero-banner__copy, .gem-hero-banner__content, .gem-hero-slideshow__copy, .gem-hero-video__content, .gem-hero__content) { row-gap: var(--gem-space-md); }
1971
+ :is(.gem-hero-banner--default, .gem-hero-banner--dawn-image-banner)[data-gem-content-spacing='normal'] .gem-hero-banner__copy > * + *, .gem-hero-banner[data-gem-content-spacing='normal'] .gem-hero-slideshow__copy > * + * { margin-top: var(--gem-space-md); }
1972
+ :is(.gem-hero-banner--default, .gem-hero-banner--dawn-image-banner)[data-gem-content-spacing='normal'] .gem-hero-banner__copy > :not(:last-child), .gem-hero-banner[data-gem-content-spacing='normal'] .gem-hero-slideshow__copy > :not(:last-child) { margin-bottom: 0; }
1973
+ :is(.gem-hero-banner, .gem-hero-video, .gem-hero)[data-gem-content-spacing='roomy'] :is(.gem-hero-banner__copy, .gem-hero-banner__content, .gem-hero-slideshow__copy, .gem-hero-video__content, .gem-hero__content) { row-gap: var(--gem-space-xl); }
1974
+ :is(.gem-hero-banner--default, .gem-hero-banner--dawn-image-banner)[data-gem-content-spacing='roomy'] .gem-hero-banner__copy > * + *, .gem-hero-banner[data-gem-content-spacing='roomy'] .gem-hero-slideshow__copy > * + * { margin-top: var(--gem-space-xl); }
1975
+ :is(.gem-hero-banner--default, .gem-hero-banner--dawn-image-banner)[data-gem-content-spacing='roomy'] .gem-hero-banner__copy > :not(:last-child), .gem-hero-banner[data-gem-content-spacing='roomy'] .gem-hero-slideshow__copy > :not(:last-child) { margin-bottom: 0; }
1976
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-width='full'] .gem-section__inner { width: 100%; max-width: none; }
1977
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-width='contained'] .gem-section__inner { width: min(var(--gem-layout-page, 1180px), calc(100% - var(--gem-layout-gutter, 32px))); max-width: none; }
1978
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-content-width='narrow'] .gem-section__inner { width: min(56rem, calc(100% - var(--gem-layout-gutter, 32px))); }
1979
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-height='short'] { min-height: 420px; }
1980
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-height='tall'] { min-height: 760px; }
1981
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-height='short'] .gem-section__inner { min-height: 420px; }
1982
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-height='normal'] .gem-section__inner { min-height: auto; }
1983
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-height='tall'] .gem-section__inner { min-height: 760px; }
1984
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-grid-columns='2'] :is(.gem-section__grid, [class*='__grid']):not(.gem-row) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1985
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-grid-columns='2'] .gem-row:is(.gem-section__grid, [class*='__grid']):not(.gem-row .gem-row) { --gem-row-cols: 2; --gem-row-cols-md: 2; --gem-row-tracks: initial; --gem-row-tracks-md: initial; }
1986
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-grid-columns='3'] :is(.gem-section__grid, [class*='__grid']):not(.gem-row) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1987
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-grid-columns='3'] .gem-row:is(.gem-section__grid, [class*='__grid']):not(.gem-row .gem-row) { --gem-row-cols: 3; --gem-row-cols-md: 3; --gem-row-tracks: initial; --gem-row-tracks-md: initial; }
1988
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-grid-columns='4'] :is(.gem-section__grid, [class*='__grid']):not(.gem-row) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
1989
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-grid-columns='4'] .gem-row:is(.gem-section__grid, [class*='__grid']):not(.gem-row .gem-row) { --gem-row-cols: 4; --gem-row-cols-md: 4; --gem-row-tracks: initial; --gem-row-tracks-md: initial; }
1990
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-background='default'] { --gem-section-bg: var(--gem-color-background); background: transparent; }
1991
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-background='surface'] { --gem-section-bg: var(--gem-color-surface); background: var(--gem-section-bg); padding-block: var(--gem-space-xl); }
1992
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-background='accent'] { --gem-section-bg: var(--gem-color-accent); background: var(--gem-section-bg); color: var(--gem-color-accent-text); padding-block: var(--gem-space-xl); }
1993
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-background='dark'] { --gem-section-bg: var(--gem-color-text); background: var(--gem-section-bg); color: var(--gem-color-background); padding-block: var(--gem-space-xl); }
1994
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-background='light'] { --gem-section-bg: var(--gem-color-background); background: var(--gem-section-bg); color: var(--gem-color-text); padding-block: var(--gem-space-xl); }
1995
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-background='accent'] :is(.gem-section__heading, .gem-section__body, .gem-section__eyebrow), :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-section-background='dark'] :is(.gem-section__heading, .gem-section__body, .gem-section__eyebrow) { color: inherit; }
1996
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-price-color='accent'] :is(.gem-price, .gem-price__regular, [class*='__price']) { color: var(--gem-color-accent); }
1997
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-price-color='red'] :is(.gem-price, .gem-price__regular, [class*='__price']) { color: #d61f1f; }
1998
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-price-color='green'] :is(.gem-price, .gem-price__regular, [class*='__price']) { color: #1a7f37; }
1999
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-text-weight='bold'] { --gem-style-weight: 1.25; }
2000
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-text-weight='bold'] :is(.gem-section__heading, .gem-hero-banner__copy h1, .gem-hero-banner__copy h2) { font-weight: 800; }
2001
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-text-weight='light'] { --gem-style-weight: 0.8; }
2002
+ :is(.gem-section, .gem-hero, .gem-hero-split, .gem-hero-collage, .gem-hero-triptych, .gem-slideshow, .gem-footer)[data-gem-text-weight='light'] :is(.gem-section__heading, .gem-hero-banner__copy h1, .gem-hero-banner__copy h2) { font-weight: 350; }
2003
+ .gem-section[data-gem-heading-color='accent'] :is(.gem-section__heading, .gem-hero-banner__copy h1, .gem-hero-banner__copy h2) { color: var(--gem-color-accent); }
2004
+ .gem-section[data-gem-heading-color='red'] :is(.gem-section__heading, .gem-hero-banner__copy h1, .gem-hero-banner__copy h2) { color: #d61f1f; }
2005
+ .gem-section[data-gem-heading-color='green'] :is(.gem-section__heading, .gem-hero-banner__copy h1, .gem-hero-banner__copy h2) { color: #1a7f37; }
2006
+ .gem-section[data-gem-heading-color='dark'] :is(.gem-section__heading, .gem-hero-banner__copy h1, .gem-hero-banner__copy h2) { color: var(--gem-color-text); }
2007
+ .gem-section[data-gem-eyebrow-color='accent'] .gem-section__eyebrow { color: var(--gem-color-accent); }
2008
+ .gem-section[data-gem-eyebrow-color='red'] .gem-section__eyebrow { color: #d61f1f; }
2009
+ .gem-section[data-gem-eyebrow-color='green'] .gem-section__eyebrow { color: #1a7f37; }
2010
+ .gem-section[data-gem-eyebrow-color='dark'] .gem-section__eyebrow { color: var(--gem-color-text); }
2011
+ .gem-section[data-gem-badge-color='accent'] [class*='__badge'] { color: var(--gem-color-accent); }
2012
+ .gem-section[data-gem-badge-color='red'] [class*='__badge'] { color: #d61f1f; }
2013
+ .gem-section[data-gem-badge-color='green'] [class*='__badge'] { color: #1a7f37; }
2014
+ .gem-section[data-gem-badge-color='dark'] [class*='__badge'] { color: var(--gem-color-text); }
2015
+ .gem-section__eyebrow {
2016
+ margin: 0 0 var(--gem-space-sm, 12px);
2017
+ color: var(--gem-color-accent);
2018
+ font-size: 0.8125rem;
2019
+ font-weight: calc(650 * var(--gem-style-weight, 1));
2020
+ text-transform: uppercase;
2021
+ }
2022
+ .gem-section__heading {
2023
+ margin: 0;
2024
+ font-family: var(--gem-font-heading);
2025
+ font-size: clamp(calc(2rem * var(--gem-typography-heading-scale, 1)), calc(4vw * var(--gem-typography-heading-scale, 1)), calc(4rem * var(--gem-typography-heading-scale, 1)));
2026
+ line-height: 1.04;
2027
+ }
2028
+ .gem-section__body {
2029
+ margin: 0;
2030
+ max-width: 64ch;
2031
+ color: var(--gem-color-muted, color-mix(in srgb, var(--gem-color-text) 72%, transparent));
2032
+ }
2033
+ .gem-section__grid {
2034
+ display: grid;
2035
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
2036
+ column-gap: var(--gem-grid-column-gap, var(--gem-space-md));
2037
+ row-gap: var(--gem-grid-row-gap, var(--gem-space-md));
2038
+ }
2039
+ .gem-section[data-gem-composition-mode='image-with-copy'] .gem-section__inner {
2040
+ align-content: center;
2041
+ }
2042
+ .gem-section:is([data-gem-composition-mode='slideshow'], [data-gem-composition-mode='video-led']) .gem-section__inner {
2043
+ min-block-size: min(72vh, 680px);
2044
+ align-content: end;
2045
+ }
2046
+ .gem-section[data-gem-composition-mode='category-grid'] .gem-section__grid {
2047
+ grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
2048
+ }
2049
+ .gem-section[data-gem-composition-mode='split-collage'] .gem-section__grid {
2050
+ grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
2051
+ align-items: stretch;
2052
+ }
2053
+ .gem-section[data-gem-composition-mode='video-led'] {
2054
+ background: color-mix(in srgb, var(--gem-color-text) 6%, var(--gem-color-background));
2055
+ }
2056
+ .gem-section:is([data-gem-product-card-mode='gallery'], [data-gem-product-card-mode='editorial']) :is(.gem-product-card-grid__grid, .gem-section__grid) {
2057
+ gap: var(--gem-space-xl);
2058
+ }
2059
+ .gem-section:is([data-gem-product-card-mode='quick-buy'], [data-gem-product-card-mode='badge-heavy']) .gem-product-card {
2060
+ position: relative;
2061
+ }
2062
+ .gem-section[data-gem-product-card-mode='standard'] .gem-product-card-grid__grid {}
2063
+ .gem-section:is([data-gem-product-card-mode='utility'], [data-gem-collection-card-mode='dense-grid']) .gem-product-card-grid__grid {
2064
+ grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
2065
+ gap: var(--gem-space-sm);
2066
+ }
2067
+ .gem-section:is([data-gem-product-card-mode='badge-heavy'], [data-gem-badge-density='high']) .gem-badge {
2068
+ border-color: var(--gem-color-accent);
2069
+ color: var(--gem-color-accent);
2070
+ }
2071
+ .gem-section:is([data-gem-collection-card-mode='image-tile'], [data-gem-collection-card-mode='editorial-tile'], [data-gem-collection-card-mode='collage']) .gem-media {
2072
+ min-block-size: clamp(12rem, 26vw, 24rem);
2073
+ }
2074
+ .gem-section[data-gem-collection-card-mode='editorial-tile'] .gem-section__grid {
2075
+ gap: var(--gem-space-xl);
2076
+ }
2077
+ .gem-section[data-gem-collection-card-mode='collage'] .gem-section__grid {
2078
+ grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
2079
+ }
2080
+ .gem-section[data-gem-card-copy-mode='minimal'] :is(.gem-product-card__vendor, .gem-product-card__description) {
2081
+ display: none;
2082
+ }
2083
+ .gem-section:is([data-gem-image-treatment='editorial-crop'], [data-gem-image-treatment='poster']) .gem-media {
2084
+ aspect-ratio: 4 / 5;
2085
+ }
2086
+ .gem-section:is([data-gem-proof-mode='press'], [data-gem-proof-mode='trust-strip']) .gem-reviews-proof-strip__points {}
2087
+ .gem-section[data-gem-proof-mode='minimal'] .gem-reviews-proof-strip__points {
2088
+ gap: var(--gem-space-sm);
2089
+ }
2090
+ .gem-section[data-gem-proof-mode='compliance'] .gem-reviews-proof-strip__points {
2091
+ border: var(--gem-border-subtle, 1px solid var(--gem-color-border));
2092
+ padding: var(--gem-space-md);
2093
+ }
2094
+ .gem-section[data-gem-proof-mode='testimonial'] .gem-reviews-proof-strip__points {
2095
+ grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
2096
+ gap: var(--gem-space-lg);
2097
+ }
2098
+ .gem-section[data-gem-editorial-band-mode='gridline-story'] .gem-section__inner {
2099
+ border-block: var(--gem-border-subtle, 1px solid var(--gem-color-border));
2100
+ padding-block: var(--gem-space-xl);
2101
+ }
2102
+ .gem-section:is([data-gem-editorial-band-mode='rich-text'], [data-gem-editorial-band-mode='none']) .gem-section__body {}
2103
+ .gem-section[data-gem-editorial-band-mode='marquee'] .gem-section__heading {
2104
+ text-transform: uppercase;
2105
+ }
2106
+ .gem-section[data-gem-editorial-band-mode='media-story'] .gem-section__grid {
2107
+ grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
2108
+ }
2109
+ @media (min-width: 990px) {
2110
+ #MainContent:has(.gem-product-media-gallery[data-gem-section-id='product-gallery']):has(.gem-product-main[data-gem-section-id='product-main']) {
2111
+ display: grid;
2112
+ grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.72fr);
2113
+ gap: var(--gem-space-xl);
2114
+ align-items: start;
2115
+ width: min(var(--gem-layout-page, 1180px), calc(100% - var(--gem-layout-gutter, 32px)));
2116
+ margin-inline: auto;
2117
+ padding-block: var(--gem-space-xl);
2118
+ }
2119
+ #MainContent:has(.gem-product-media-gallery[data-gem-section-id='product-gallery']):has(.gem-product-main[data-gem-section-id='product-main']) > .gem-section {
2120
+ padding-block: 0;
2121
+ overflow: visible;
2122
+ }
2123
+ #MainContent:has(.gem-product-media-gallery[data-gem-section-id='product-gallery']):has(.gem-product-main[data-gem-section-id='product-main']) > .gem-section > .gem-section__inner {
2124
+ width: 100%;
2125
+ }
2126
+ #MainContent:has(.gem-product-media-gallery[data-gem-section-id='product-gallery']):has(.gem-product-main[data-gem-section-id='product-main']) > .gem-breadcrumbs {
2127
+ grid-column: 1 / -1;
2128
+ }
2129
+ #MainContent:has(.gem-product-media-gallery[data-gem-section-id='product-gallery']):has(.gem-product-main[data-gem-section-id='product-main']) > .gem-product-media-gallery {
2130
+ grid-column: 1;
2131
+ }
2132
+ #MainContent:has(.gem-product-media-gallery[data-gem-section-id='product-gallery']):has(.gem-product-main[data-gem-section-id='product-main']) > .gem-product-main {
2133
+ grid-column: 2;
2134
+ position: sticky;
2135
+ top: calc(var(--gem-component-header-height, 72px) + var(--gem-space-md));
2136
+ }
2137
+ #MainContent:has(.gem-product-media-gallery[data-gem-section-id='product-gallery']):has(.gem-product-main[data-gem-section-id='product-main']) > .gem-section:not(.gem-breadcrumbs):not(.gem-product-media-gallery):not(.gem-product-main) {
2138
+ grid-column: 1 / -1;
2139
+ padding-block: var(--gem-layout-section, var(--gem-space-3xl, 64px));
2140
+ }
2141
+ }
2142
+ @media (max-width: 760px) {
2143
+ .gem-section { padding-block: calc(var(--gem-layout-section, 64px) * 0.72); }
2144
+ .gem-section__inner, .gem-container { width: min(100% - 32px, var(--gem-layout-page, 1180px)); }
2145
+ .gem-section__heading { font-size: clamp(1.75rem, 9vw, 2.75rem); }
2146
+ .gem-section__grid { grid-template-columns: minmax(0, 1fr); }
2147
+ .gem-section:is([data-gem-composition-mode='split-collage'], [data-gem-editorial-band-mode='media-story']) .gem-section__grid { grid-template-columns: minmax(0, 1fr); }
2148
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__inner { grid-template-columns: minmax(0, 1fr); }
2149
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__summary { position: static; }
2150
+ .gem-section:is([data-gem-composition-mode='slideshow'], [data-gem-composition-mode='video-led']) .gem-section__inner { min-block-size: min(62vh, 560px); }
2151
+ }
2152
+ :where(.gem-section[data-gem-eyebrow='show']) .gem-section__eyebrow { display: block; letter-spacing: 0.12em; }
2153
+ :where(.gem-section[data-gem-heading='section']) .gem-section__heading { margin: 0; font-family: var(--gem-font-heading); font-size: var(--gem-h2); line-height: 1.1; letter-spacing: -0.01em; text-wrap: balance; }
2154
+ @media (max-width: 760px) {
2155
+ :where(.gem-section[data-gem-heading='section']) .gem-section__heading { font-size: min(var(--gem-h2), clamp(1.75rem, 9vw, 2.75rem)); }
2156
+ }
2157
+ .gem-row:where(:not([hidden])) { --gem-row-auto-sm: repeat(var(--gem-row-cols-sm), minmax(0, 1fr)); --gem-row-auto-md: repeat(var(--gem-row-cols-md), minmax(0, 1fr)); --gem-row-auto-lg: repeat(var(--gem-row-cols), minmax(0, 1fr)); display: grid; grid-template-columns: var(--gem-row-tracks-sm, var(--gem-row-auto-sm, minmax(0, 1fr))); }
2158
+ :where(.gem-row > *) { min-width: 0; --gem-row-cols: initial; --gem-row-cols-md: initial; --gem-row-cols-sm: initial; --gem-row-tracks: initial; --gem-row-tracks-md: initial; --gem-row-tracks-sm: initial; --gem-row-gap: initial; --gem-row-gap-y: initial; }
2159
+ @media (min-width: 750px) { .gem-row { grid-template-columns: var(--gem-row-tracks-md, var(--gem-row-auto-md, var(--gem-row-tracks, var(--gem-row-auto-lg, repeat(2, minmax(0, 1fr)))))); } }
2160
+ @media (min-width: 990px) { .gem-row { grid-template-columns: var(--gem-row-tracks, var(--gem-row-auto-lg, repeat(2, minmax(0, 1fr)))); } }
2161
+
2162
+ /* Dawn parity profile: locked default baseline; morph presets must opt out before applying Gem visual identity. */
2163
+ :root { --gem-profile-mode: dawn-parity; --gem-layout-page: 1100px; --gem-layout-gutter: 32px; --gem-layout-section: 52px; --gem-radius-md: 0px; --gem-card-radius: 0px; --gem-media-radius: 0px; --gem-grid-column-gap: 8px; --gem-grid-row-gap: 8px; }
2164
+ .utility-bar, .announcement-bar, .utility-bar__grid { min-height: 38px; }
2165
+ .announcement-bar__message { margin: 0; min-height: 38px; padding-block: 10px; font-size: 0.75rem; font-weight: 400; letter-spacing: 0.04em; }
2166
+ .announcement-bar__message span { font-size: 0.75rem; }
2167
+ .gem-announcement-bar__segments { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 4px 24px; }
2168
+ .gem-shell-header .localization-wrapper { display: none !important; }
2169
+ .gem-shell-header { position: relative; border-bottom: 1px solid rgb(18 18 18 / 8%); background: var(--gem-color-background); }
2170
+ .gem-shell-header__inner, .header { width: min(1200px, 100%); max-width: 1200px; min-height: 84px; padding: 20px 50px; gap: 20px; }
2171
+ .gem-shell-header__inner.header--middle-center, .header.header--middle-center, .gem-shell-header__inner.header--middle-left, .header.header--middle-left { grid-template-areas: 'heading navigation icons'; grid-template-columns: 97.5px auto 1fr; }
2172
+ @media screen and (max-width: 749px) { .header.header--middle-left, .header.header--middle-center { grid-template-areas: 'left-icons heading icons'; grid-template-columns: 1fr 2fr 1fr; } .header.header--middle-left header-drawer, .header.header--middle-center header-drawer { grid-area: left-icons; justify-self: start; } .header.header--mobile-center .header__heading, .header.header--mobile-center .header__heading-link { grid-area: heading; justify-self: center; text-align: center; } }
2173
+ .collage .card__inner:not(.ratio):has(.placeholder-svg) { aspect-ratio: 1 / 1; }
2174
+ .gem-shell-header__logo { display: inline-block; width: 105px; height: 37px; min-height: 0; padding: 7.5px; font-size: 1.125rem; line-height: 22px; font-weight: 400; letter-spacing: 0.08em; text-align: center; white-space: nowrap; overflow: hidden; }
2175
+ .gem-shell-header__nav a, .gem-shell-header__action { border: 0; border-radius: 0; background: transparent; font-weight: 400; text-decoration: none; }
2176
+ .gem-shell-header__nav { gap: 20px; }
2177
+ .gem-shell-header__actions { justify-self: end; gap: 0; padding-right: 8px; }
2178
+ .gem-shell-header .svg-wrapper { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; pointer-events: none; }
2179
+ .gem-shell-header .svg-wrapper > svg { display: block; width: 100%; height: 100%; }
2180
+ .gem-shell-header .header__icon-close { display: none; }
2181
+ .gem-shell-header details[open] > summary .gem-header__icon-open { display: none; }
2182
+ .gem-shell-header details[open] > summary .header__icon-close { display: inline-flex; }
2183
+ .gem-shell-header .header__icons { display: flex; align-items: center; justify-content: flex-end; }
2184
+ .gem-shell-header__actions .gem-shell-header__action, .gem-shell-header .header__icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; font-size: 0; }
2185
+ .gem-shell-header__actions .gem-shell-header__action--cart { background: transparent; color: var(--gem-color-text); }
2186
+ .gem-shell-header__actions .gem-shell-header__action--search::before, .gem-shell-header__actions .gem-shell-header__action--search::after, .gem-shell-header__actions .gem-shell-header__action--account::before, .gem-shell-header__actions .gem-shell-header__action--cart::before, .gem-shell-header__actions .gem-shell-header__action--cart::after { content: none; display: none; }
2187
+ .gem-shell-header .cart-count-bubble, .gem-shell-header__cart-count { position: absolute; left: 2.2rem; bottom: 0.8rem; display: flex; align-items: center; justify-content: center; min-width: 1.7rem; height: 1.7rem; border-radius: 100%; background: rgb(18 18 18); color: rgb(255 255 255); font-size: 0.9rem; line-height: 1; }
2188
+ .gem-shell-header__drawer-toggle { border: 0; background: transparent; padding: 0; font-size: 0; }
2189
+ .gem-shell-header__drawer-toggle::before { content: none; display: none; }
2190
+ .gem-section { padding-block: var(--gem-layout-section); }
2191
+ main > .gem-section:first-child { padding-top: 0; }
2192
+ .gem-hero-banner--default { min-height: 720px; display: grid; place-items: center; text-align: center; }
2193
+ .gem-hero-banner--default { position: relative; overflow: hidden; padding: 0; color: white; place-items: stretch; }
2194
+ .gem-hero-banner--default .gem-hero-banner__inner { position: static; width: 100%; min-height: 720px; height: 100%; display: grid; align-items: end; justify-items: center; padding-bottom: 0; }
2195
+ .gem-hero-banner--default .gem-hero-banner__media { position: absolute; inset: 0; z-index: 0; }
2196
+ .gem-hero-banner--default .gem-hero-banner__media::after { content: ''; position: absolute; inset: 0; background: rgb(0 0 0 / 32%); }
2197
+ .gem-hero-banner--default .gem-hero-banner__image, .gem-hero-banner--default .gem-hero-banner__placeholder { width: 100%; height: 100%; object-fit: cover; display: block; }
2198
+ .gem-hero-banner--default .gem-hero-banner__copy { position: absolute; z-index: 1; left: 50%; bottom: 50px; transform: translateX(-50%); width: min(702px, 100%); margin: 0; padding: 40px 0; text-align: center; display: block; }
2199
+ .gem-hero-banner--default .gem-section__heading { margin: 0; font-size: 52px; line-height: 67.6px; color: currentColor; }
2200
+ .gem-hero-banner--default .gem-section__body { max-width: none; margin: 10px 0 0; color: currentColor; font-size: 16px; line-height: 28.8px; }
2201
+ .gem-hero-banner--default .gem-hero-banner__copy { color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35); }
2202
+ .gem-hero-banner--default .gem-hero-banner__copy :is(.gem-section__heading, .gem-section__body, .gem-section__eyebrow, .gem-hero-banner__proof, .gem-hero-banner__disclaimer, p) { color: #fff !important; }
2203
+ .gem-hero-banner--default .gem-hero-banner__actions { margin-top: 24px; }
2204
+ .gem-hero-banner--default .gem-button--primary { min-width: 130px; min-height: 47px; background: transparent; border-color: currentColor; color: currentColor; padding: 0 30px; font-size: 15px; line-height: 18px; }
2205
+ .gem-hero-banner--split-proof, .gem-hero-banner--editorial { min-height: auto; display: block; padding-block: 56px; text-align: left; color: var(--gem-color-text); }
2206
+ .gem-hero-banner--split-proof .gem-hero-banner__inner, .gem-hero-banner--editorial .gem-hero-banner__inner { width: min(var(--gem-layout-page, 1200px), calc(100% - var(--gem-layout-gutter, 32px))); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.82fr); gap: 48px; align-items: center; min-height: 0; }
2207
+ .gem-hero-banner--split-proof .gem-hero-banner__copy, .gem-hero-banner--editorial .gem-hero-banner__copy { position: static; display: grid; gap: 14px; max-width: 40rem; margin: 0; padding: 0; text-align: left; align-content: center; }
2208
+ .gem-hero-banner--split-proof .gem-section__eyebrow, .gem-hero-banner--editorial .gem-section__eyebrow { display: block; margin: 0; color: var(--gem-color-muted); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
2209
+ .gem-hero-banner--split-proof .gem-section__heading, .gem-hero-banner--editorial .gem-section__heading { margin: 0; font-size: 46px; line-height: 1.08; color: var(--gem-color-text); }
2210
+ .gem-hero-banner--split-proof .gem-section__body, .gem-hero-banner--editorial .gem-section__body { margin: 0; max-width: 36rem; color: var(--gem-color-muted); font-size: 16px; line-height: 1.6; }
2211
+ .gem-hero-banner--split-proof .gem-hero-banner__proof, .gem-hero-banner--editorial .gem-hero-banner__proof { margin: 4px 0 0; color: var(--gem-color-muted); font-size: 14px; }
2212
+ .gem-hero-banner--split-proof .gem-hero-banner__actions, .gem-hero-banner--editorial .gem-hero-banner__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
2213
+ .gem-hero-banner--split-proof .gem-hero-banner__media, .gem-hero-banner--editorial .gem-hero-banner__media { position: relative; inset: auto; min-height: 26rem; height: 100%; overflow: hidden; border-radius: 6px; background: rgb(244 244 244); }
2214
+ .gem-hero-banner--split-proof .gem-hero-banner__image, .gem-hero-banner--split-proof .gem-hero-banner__placeholder, .gem-hero-banner--editorial .gem-hero-banner__image, .gem-hero-banner--editorial .gem-hero-banner__placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
2215
+ .gem-hero-banner .gem-section__content { max-width: 78rem; margin-inline: auto; }
2216
+ .gem-hero-banner h1, .gem-hero-banner h2, .gem-section__heading { margin: 0 0 1.5rem; font-size: clamp(calc(2.5rem * var(--gem-typography-heading-scale, 1)), calc(4vw * var(--gem-typography-heading-scale, 1)), calc(5.2rem * var(--gem-typography-heading-scale, 1))); font-weight: 400; line-height: 1.08; letter-spacing: 0; }
2217
+ .gem-section__eyebrow { display: none; }
2218
+ .gem-hero-banner--compact-collection { min-height: auto; display: block; text-align: left; padding-block: 25px; }
2219
+ .gem-hero-banner--compact-collection .gem-section__content, .gem-product-card-grid--quick-view-grid > .gem-section__inner { width: min(var(--gem-layout-page, 1200px), calc(100% - var(--gem-layout-gutter, 32px))); margin-inline: auto; }
2220
+ .gem-hero-banner--compact-collection .gem-hero-banner__inner { width: min(var(--gem-layout-page, 1200px), calc(100% - var(--gem-layout-gutter, 32px))); min-height: auto; margin-inline: auto; display: block; }
2221
+ .gem-hero-banner--compact-collection .gem-hero-banner__media { display: none; }
2222
+ .gem-hero-banner--compact-collection .gem-hero-banner__copy { max-width: none; }
2223
+ .gem-hero-banner--compact-collection .gem-section__heading { font-size: 40px; line-height: 52px; margin: 0; }
2224
+ .gem-hero-banner--compact-collection .gem-section__body { display: none; }
2225
+ .gem-rich-text--dawn-intro { text-align: center; padding-block: 40px 0; }
2226
+ .gem-rich-text--dawn-intro .gem-rich-text__content { width: min(780px, 100%); max-width: 780px; margin-inline: auto; }
2227
+ .gem-rich-text--dawn-intro .gem-section__heading { margin: 0; font-size: 40px; line-height: 52px; }
2228
+ .gem-rich-text--dawn-intro .gem-section__body { width: 100%; max-width: none; margin: 20px 0 0; font-size: 16px; line-height: 28.8px; }
2229
+ .gem-rich-text--dawn-intro .gem-section__body p { margin: 0; }
2230
+ .gem-rich-text--dawn-intro .gem-rich-text__blocks { display: block; width: 100%; }
2231
+ .gem-button { min-width: 12rem; border-radius: 0; font-weight: 400; box-shadow: none; }
2232
+ .gem-product-card-wrapper { display: block; min-width: 0; }
2233
+ .gem-card, .gem-product-card { border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: 0; }
2234
+ .gem-product-card__media, .gem-media { border: 0; border-radius: 0; box-shadow: none; background: rgb(244 244 244); }
2235
+ .gem-product-card__media { display: block; position: relative; width: 100%; height: 0; min-block-size: 0; padding-bottom: 100%; aspect-ratio: auto; overflow: hidden; }
2236
+ .gem-featured-collection--editorial-grid .gem-product-card__media, .gem-product-card-grid--quick-view-grid .gem-product-card__media, .gem-main-search .gem-product-card__media, .gem-cart-recommendations--dawn-empty .gem-product-card__media { min-block-size: 0 !important; }
2237
+ .gem-product-card__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
2238
+ .gem-featured-collection .gem-product-card__media > img, .gem-product-card-grid .gem-product-card__media > img { object-fit: cover; }
2239
+ .gem-product-card-grid--quick-view-grid .gem-product-card__media { display: block; min-height: 0; }
2240
+ .gem-product-card-grid--quick-view-grid .gem-product-card__placeholder { min-height: 0; }
2241
+ .gem-product-card__content { padding-top: 8px; gap: 4px; }
2242
+ .gem-product-card__title { font-weight: 400; font-size: 16px; line-height: 24px; }
2243
+ .gem-product-card__price { display: block; margin-top: 4px; font-weight: 400; line-height: 24px; }
2244
+ .gem-product-card__price .gem-price, .gem-product-card__price { font-size: 16px; }
2245
+ .gem-product-card-grid--quick-view-grid .gem-product-card__badges { display: none; }
2246
+ .gem-featured-collection--editorial-grid .gem-product-card__quick-actions, .gem-product-card-grid--quick-view-grid .gem-product-card__quick-actions, .gem-main-search .gem-product-card__quick-actions { display: none; }
2247
+ .gem-cart-recommendations--dawn-empty .gem-product-card__quick-actions { display: none; }
2248
+ .gem-featured-collection--editorial-grid > .gem-section__inner > .gem-section__heading, .gem-featured-collection--editorial-grid > .gem-section__inner > .gem-section__body { display: none; }
2249
+ .gem-featured-collection--editorial-grid { padding-block: 28px 36px; }
2250
+ .gem-featured-collection--editorial-grid .gem-section__grid, .gem-product-card-grid--quick-view-grid .gem-section__grid, .gem-main-search .gem-section__grid { grid-template-columns: repeat(var(--gem-product-card-grid-columns, 4), minmax(0, 1fr)); gap: 8px; }
2251
+ .gem-product-card-grid--quick-view-grid { padding-top: 0; }
2252
+ .gem-product-card-grid--quick-view-grid .gem-section__heading:empty { display: none; }
2253
+ .gem-product-card-grid--quick-view-grid .gem-price:not(.gem-price--on-sale) .gem-price__compare { display: none; }
2254
+ .gem-product-card-grid--quick-view-grid > .gem-section__inner { position: relative; row-gap: 0 !important; }
2255
+ .gem-product-card-grid__meta { position: absolute; inset-block-start: 11px; inset-inline-end: 0; float: none; display: flex; justify-content: flex-end; align-items: center; min-height: 21px; height: 21px; margin: 0; color: rgb(18 18 18 / 75%); font-size: 16px; line-height: 28.8px; }
2256
+ .gem-product-card-grid--quick-view-grid .gem-product-card-grid__meta { display: flex; }
2257
+ .gem-product-card-grid__controls { display: flex; align-items: center; gap: 20px; min-height: 32px; margin: 0 0 24px; }
2258
+ .gem-product-card-grid--quick-view-grid .gem-product-card-grid__controls { min-height: 51px; height: 51px; margin: 0 0 16px !important; padding-top: 10px; }
2259
+ .gem-product-card-grid__grid { gap: 8px !important; }
2260
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters { display: flex; align-items: center; gap: 18px; border: 0; background: transparent; padding: 0; }
2261
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters summary { min-width: auto; border: 0; background: transparent; padding: 0; pointer-events: none; }
2262
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__filter, .gem-product-card-grid__controls .gem-collection-filter-toolbar__sort { display: flex; align-items: center; gap: 8px; font-size: 0.75rem; font-weight: 400; }
2263
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__select { width: auto; min-width: 0; min-height: 0; border: 0; background: transparent; padding: 0; font-size: 0.75rem; }
2264
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__submit { display: none; }
2265
+ .gem-product-card-grid__controls::after { content: ''; display: block; clear: both; }
2266
+ .gem-main-search { padding-top: 36px; }
2267
+ .gem-main-search > .gem-section__inner { display: block; }
2268
+ .gem-main-search .gem-section__heading { font-size: 24px !important; line-height: 31.2px !important; margin: 16px 0 30px !important; text-align: center; }
2269
+ .gem-main-search .gem-search-form { width: 741px; max-width: 741px; height: 47px; grid-template-columns: minmax(0, 1fr) 44px; gap: 0; align-items: stretch; margin: 0 auto 50px; }
2270
+ .gem-main-search .gem-search-form .gem-form-field { display: block; height: 47px; }
2271
+ .gem-main-search .gem-search-form .gem-form-field span { display: none; }
2272
+ .gem-main-search .gem-search-form .gem-input { min-height: 47px; height: 47px; border: 1px solid rgb(18 18 18 / 75%); border-right: 0; border-radius: 0; padding: 10px 16px; }
2273
+ .gem-main-search .gem-search-form .gem-button { min-width: 44px; width: 44px; min-height: 47px; height: 47px; border: 1px solid rgb(18 18 18 / 75%); border-left: 0; background: transparent; color: var(--gem-color-text); font-size: 0; padding: 0; }
2274
+ .gem-main-search .gem-search-form .gem-button::before { content: none; display: none; }
2275
+ .gem-main-search .gem-search-form .gem-button .svg-wrapper, .gem-collection-filter-toolbar__filters summary .svg-wrapper { display: inline-flex; width: 18px; height: 18px; margin-right: 8px; }
2276
+ .gem-main-search .gem-search-form .gem-button .svg-wrapper svg, .gem-collection-filter-toolbar__filters summary .svg-wrapper svg { width: 100%; height: 100%; }
2277
+ .gem-main-search .gem-product-card-grid__controls { height: 51px; min-height: 51px; margin: 0 0 16px; padding-top: 10px; }
2278
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-media-gallery__frame { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
2279
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-media-gallery__item { aspect-ratio: 1 / 1; }
2280
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-media-gallery__item:first-child { grid-column: 1 / -1; }
2281
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-media-gallery__thumbs { display: none; }
2282
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__summary { gap: 18px; max-width: 600px; }
2283
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__summary > .gem-section__heading { font-size: 40px; line-height: 52px; margin-bottom: 0; }
2284
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__text--uppercase, .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__text--subtitle { display: none; }
2285
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__availability { display: none; }
2286
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__price, .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__price .gem-price { min-height: 30px; font-size: 16px; line-height: 24px; }
2287
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__price .gem-price { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-weight: 400; }
2288
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__price .gem-price__regular { font-weight: 400; }
2289
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__sale-badge { min-height: 22px; border-radius: 999px; background: rgb(51 79 180); color: white; padding: 4px 12px; font-size: 12px; line-height: 12px; font-weight: 400; }
2290
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-section__body { margin-top: 10px; font-size: 16px; line-height: 28.8px; }
2291
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-buy-buttons__variant-status { display: none; }
2292
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__variant-fallback { max-width: 440px; gap: 8px; }
2293
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__variant-fallback legend { font-size: 15px; line-height: 27px; margin-bottom: 0; }
2294
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__variant-pill { min-height: 36px; min-width: auto; padding: 0 20px; font-size: 13px; line-height: 16px; }
2295
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__dawn-story { display: block; margin-top: 36px; }
2296
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__dawn-story-media { aspect-ratio: 1.2 / 1; margin-bottom: 32px; overflow: hidden; background: rgb(244 244 244); }
2297
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__dawn-story-media img { width: 100%; height: 100%; object-fit: contain; display: block; }
2298
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__dawn-story h2 { margin: 0 0 16px; font-size: 24px; line-height: 31.2px; font-weight: 400; }
2299
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__dawn-story p { margin: 0; color: rgb(18 18 18 / 75%); font-size: 15px; line-height: 27px; }
2300
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__collapsible summary h2 { display: inline; margin: 0; font: inherit; }
2301
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__collapsible summary .svg-wrapper { display: inline-flex; width: 18px; height: 18px; margin-right: 12px; color: rgb(18 18 18 / 75%); }
2302
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__collapsible summary .gem-product-main__collapsible-caret { margin-left: auto; margin-right: 0; width: 10px; height: 10px; }
2303
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__share { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 44px; color: rgb(18 18 18 / 75%); text-decoration: none; font-size: 15px; line-height: 27px; }
2304
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__share .svg-wrapper { display: inline-flex; width: 13px; height: 12px; }
2305
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-buy-buttons { gap: 15px; max-width: 440px; }
2306
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-buy-buttons__quantity { width: 142px; gap: 6px; font-size: 15px; line-height: 27px; }
2307
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-quantity-input { width: 142px; min-height: 47px; height: 47px; grid-template-columns: 44px 54px 44px; border-radius: 0; }
2308
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-quantity-input__button, .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-quantity-input__field { min-height: 47px; height: 47px; padding-block: 0; }
2309
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-buy-buttons__submit { background: transparent; color: rgb(18 18 18); border: 1px solid rgb(18 18 18); min-height: 47px; padding-block: 0; font-size: 15px; line-height: 18px; }
2310
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] [class~='shopify-payment-button'] { position: relative; min-height: 47px; height: 47px; margin-top: -5px; overflow: hidden; }
2311
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] [class~='shopify-payment-button'] > * { visibility: hidden; }
2312
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] [class~='shopify-payment-button']::before { content: 'Buy it now'; position: absolute; inset: 0; display: grid; place-items: center; background: rgb(18 18 18); color: white; font-size: 15px; line-height: 18px; }
2313
+ .gem-recommended-products-product-rail .gem-recommended-products__quick-view-surface, .gem-recommended-products-product-rail [data-gem-quick-view-surface] { display: none !important; }
2314
+ .gem-recommended-products-product-rail .gem-recommended-products__inner:empty { min-height: 4.8rem; }
2315
+ .gem-cart-main--line-items .gem-section__heading { font-size: clamp(2.4rem, 3.4vw, 4rem); }
2316
+ .gem-cart-main--line-items .gem-section__body { color: rgb(18 18 18 / 75%); }
2317
+ .gem-cart-main__empty { width: 1100px !important; max-width: calc(100vw - 100px) !important; margin-inline: auto; }
2318
+ .gem-cart-main__login { margin-top: 4rem; }
2319
+ .gem-cart-main__login h2 { margin: 0 0 1.5rem; font-size: 1.8rem; font-weight: 400; }
2320
+ .gem-cart-main__login p { margin: 0; }
2321
+ .gem-cart-recommendations--dawn-empty { margin-top: -135px; padding-top: 0; }
2322
+ .gem-cart-recommendations--dawn-empty .gem-cart-recommendations__header { width: 1100px !important; max-width: calc(100vw - 100px) !important; margin: 0 auto 16px; }
2323
+ .gem-cart-recommendations--dawn-empty .gem-section__heading { font-size: 2rem; margin: 0; }
2324
+ .gem-cart-recommendations--dawn-empty .gem-cart-recommendations__rail { width: 1100px !important; max-width: calc(100vw - 100px) !important; margin-inline: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
2325
+ .gem-hero-collage--category-mosaic { min-height: 1003px; padding-block: 97px 36px; }
2326
+ .gem-hero-collage--category-mosaic > .gem-section__inner { min-height: 870px; padding: 0; align-content: start; }
2327
+ .gem-hero-collage--category-mosaic .gem-hero-collage__intro { display: none; }
2328
+ .gem-hero-collage--category-mosaic .gem-hero-collage__grid { display: grid; min-height: 870px; grid-template-columns: 2fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 8px; }
2329
+ .gem-hero-collage--category-mosaic .gem-hero-collage__tile { position: relative; display: block; min-height: 0; overflow: hidden; border: 0; background: rgb(244 244 244); }
2330
+ .gem-hero-collage--category-mosaic .gem-hero-collage__tile:first-child { grid-row: 1 / -1; }
2331
+ .gem-hero-collage--category-mosaic .gem-hero-collage__media, .gem-hero-collage--category-mosaic .gem-hero-collage__image, .gem-hero-collage--category-mosaic .gem-hero-collage__placeholder { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; }
2332
+ .gem-hero-collage--category-mosaic .gem-hero-collage__placeholder { background: rgb(244 244 244); }
2333
+ .gem-hero-collage--category-mosaic .gem-hero-collage__content { position: absolute; left: 24px; bottom: 24px; display: grid; gap: 6px; color: rgb(18 18 18); }
2334
+ .gem-hero-collage--category-mosaic .gem-hero-collage__badge, .gem-hero-collage--category-mosaic .gem-hero-collage__caption { display: none; }
2335
+ .gem-hero-collage--category-mosaic .gem-hero-collage__label { font-size: 20px; line-height: 26px; font-weight: 400; }
2336
+ .gem-hero-video--dawn-video { height: 552px; min-height: 552px; padding: 0; overflow: hidden; }
2337
+ .gem-hero-video--dawn-video > .gem-section__inner, .gem-hero-video--dawn-video .gem-hero-video__inner, .gem-hero-video--dawn-video .gem-hero-video__media { width: 100%; max-width: none; height: 552px; min-height: 552px; }
2338
+ .gem-hero-video--dawn-video .gem-hero-video__heading { text-align: center; margin: 0 0 24px; }
2339
+ .gem-hero-video--dawn-video .gem-hero-video__content-wrap, .gem-hero-video--dawn-video .gem-hero-video__scrim, .gem-hero-video--dawn-video .gem-hero-video__toggle { display: none; }
2340
+ .gem-hero-video--dawn-video .gem-hero-video__placeholder, .gem-hero-video--dawn-video .gem-hero-video__poster, .gem-hero-video--dawn-video .gem-hero-video__video { display: block; width: 100%; height: 100%; object-fit: cover; background: rgb(244 244 244); }
2341
+ .gem-advanced-list--feature-grid { height: 243px; min-height: 243px; overflow: hidden; padding-block: 36px; }
2342
+ .gem-advanced-list--feature-grid > .gem-section__inner > .gem-section__heading, .gem-advanced-list--feature-grid > .gem-section__inner > .gem-section__body { display: none; }
2343
+ .gem-advanced-list--feature-grid .gem-section__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
2344
+ .gem-advanced-list--feature-grid .gem-advanced-list__item { min-height: 0; text-align: center; font-size: 14px; line-height: 25.2px; }
2345
+ .gem-advanced-list--feature-grid .gem-advanced-list__item h3 { display: none; }
2346
+ .gem-advanced-list--feature-grid .gem-advanced-list__item .gem-richtext, .gem-advanced-list--feature-grid .gem-advanced-list__item p { margin: 0; color: rgb(18 18 18 / 75%); }
2347
+ .gem-shell-footer { margin-top: 0; border-top: 1px solid rgb(18 18 18 / 8%); padding-block: 36px; background: rgb(255 255 255); color: rgb(18 18 18); }
2348
+ .gem-shell-footer__inner { max-width: var(--gem-layout-page, 1200px); }
2349
+ .gem-shell-footer__newsletter { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; width: 100%; max-width: 1100px; min-height: 90px; margin: 10px auto 0; padding: 0 0 20px; background: transparent; border: 0; }
2350
+ .gem-shell-footer__newsletter-heading { margin: 0 0 18px; font-size: 18px; line-height: 23.4px; font-weight: 400; }
2351
+ .gem-shell-footer__newsletter form { display: flex; align-items: stretch; flex-wrap: nowrap; gap: 0; width: min(100%, 480px); max-width: 480px; }
2352
+ .gem-shell-footer__newsletter .gem-input { width: 100%; min-height: 45px; border: 1px solid rgb(18 18 18 / 55%); border-radius: 0; background: transparent; padding: 10px 14px; font-size: 16px; line-height: 24px; }
2353
+ .gem-shell-footer__newsletter .gem-button { min-width: 45px; min-height: 45px; border-radius: 0; border: 1px solid rgb(18 18 18); background: rgb(18 18 18); color: white; font-size: 0; padding: 0; }
2354
+ .gem-shell-footer__newsletter .gem-button::before { content: '\2192'; font-size: 20px; line-height: 1; }
2355
+ .gem-shell-footer__support, .gem-shell-footer__markets, .gem-shell-footer__community, .gem-shell-footer__trust, .gem-shell-footer__offer { display: none; }
2356
+ .gem-shell-footer__grid { display: flex; width: 100%; max-width: 1100px; gap: 8px; margin: 40px auto 0; padding-bottom: 0; }
2357
+ .gem-shell-footer__grid > div, .gem-shell-footer__column, .gem-shell-footer__block { flex: 1 1 0; border: 0; background: transparent; padding: 0; box-shadow: none; }
2358
+ .gem-shell-footer .footer-block__heading { margin: 0 0 20px; font-size: 18px; line-height: 23.4px; font-weight: 400; }
2359
+ .gem-shell-footer .footer-block__details-content { display: grid; gap: 10px; margin: 0; padding: 0; color: rgb(18 18 18 / 75%); font-size: 14px; line-height: 25.2px; }
2360
+ .gem-shell-footer .footer-block__details-content a { color: rgb(18 18 18 / 75%); text-decoration: none; }
2361
+ .gem-shell-footer .footer-block__details-content p { margin: 0; max-width: 320px; }
2362
+ .gem-shell-footer__bottom { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 18px; width: 100vw; min-height: 186px; margin: 50px 0 0 calc(50% - 50vw); border-top: 1px solid rgb(18 18 18 / 8%); padding: 30px calc((100vw - 1100px) / 2) 0; }
2363
+ .gem-shell-footer__social, .gem-shell-footer__payments { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
2364
+ .gem-shell-footer__social a { min-height: 24px; border: 0; padding: 0; color: rgb(18 18 18 / 75%); font-size: 13px; line-height: 18px; }
2365
+ .gem-shell-footer__payments { margin-left: auto; gap: 6px; }
2366
+ .gem-shell-footer__payment-icon { width: 38px; height: auto; }
2367
+ .gem-shell-footer__payment-fallback { display: inline-grid; place-items: center; min-width: 38px; height: 24px; border: 1px solid rgb(18 18 18 / 12%); border-radius: 3px; background: white; color: rgb(18 18 18 / 72%); font-size: 8px; line-height: 1; }
2368
+ .gem-shell-footer__localization { order: -1; flex: 0 0 100%; width: 100%; }
2369
+ .gem-shell-footer__localization .gem-select, .gem-shell-footer__localization > .gem-select { display: inline-flex; align-items: center; min-width: 210px; min-height: 45px; border: 1px solid rgb(18 18 18 / 55%); border-radius: 0; background: transparent; padding: 10px 36px 10px 12px; color: rgb(18 18 18); font-size: 13px; line-height: 18px; }
2370
+ :where(.gem-section[data-gem-eyebrow='show']) .gem-section__eyebrow { display: block; letter-spacing: 0.12em; }
2371
+ :where(.gem-section[data-gem-heading='section']) .gem-section__heading { margin: 0; font-family: var(--gem-font-heading); font-size: var(--gem-h2); line-height: 1.1; letter-spacing: -0.01em; text-wrap: balance; }
2372
+ @media (max-width: 760px) {
2373
+ :root { --gem-layout-gutter: 24px; --gem-layout-section: 36px; }
2374
+ .gem-shell-header, .gem-shell-header__inner, .header { min-height: 64px; }
2375
+ .gem-shell-header { --gem-component-header-height: 64px; }
2376
+ .gem-shell-header__inner, .gem-shell-header__inner.header--middle-left, .gem-shell-header__inner.header--middle-center { display: grid; width: 100%; max-width: none; height: 64px; margin-inline: 0; grid-template-columns: 82px minmax(0, 1fr) 84px; grid-template-areas: 'drawer heading icons'; column-gap: 0; padding: 10px 30px; }
2377
+ .gem-shell-header__drawer { grid-area: drawer; order: 0; justify-self: start; }
2378
+ .gem-shell-header__logo { grid-area: heading; justify-self: center; }
2379
+ .gem-shell-header__actions { grid-area: icons; display: inline-flex; justify-self: start; gap: 0; }
2380
+ .gem-shell-header__actions .gem-shell-header__action.gem-shell-header__action--search, .gem-shell-header__actions .gem-shell-header__action.gem-shell-header__action--cart { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; color: rgb(18 18 18); font-size: 0; box-shadow: none; }
2381
+ .gem-shell-header__actions .gem-shell-header__action--account { display: none; }
2382
+ .gem-shell-header__action--search::before, .gem-shell-header__action--search::after, .gem-shell-header__action--cart::before, .gem-shell-header__action--cart::after { content: none; display: none; }
2383
+ .gem-shell-header .cart-count-bubble, .gem-shell-header__cart-count { display: none; }
2384
+ .gem-hero-banner--editorial, .gem-hero-banner--split-proof { min-height: auto; padding-block: 36px; }
2385
+ .gem-hero-banner--split-proof .gem-hero-banner__inner, .gem-hero-banner--editorial .gem-hero-banner__inner { grid-template-columns: 1fr; gap: 24px; }
2386
+ .gem-hero-banner--split-proof .gem-section__heading, .gem-hero-banner--editorial .gem-section__heading { font-size: 34px; }
2387
+ .gem-hero-banner--split-proof .gem-hero-banner__media, .gem-hero-banner--editorial .gem-hero-banner__media { min-height: 18rem; }
2388
+ .gem-hero-banner--default { min-height: 390px; }
2389
+ .gem-hero-banner--default .gem-hero-banner__inner { min-height: 390px; height: auto; align-items: center; justify-items: center; padding-bottom: 0; }
2390
+ .gem-hero-banner--default .gem-hero-banner__copy { position: relative; left: auto; bottom: auto; transform: none; align-self: auto; justify-self: auto; margin: 0 auto; padding-inline: 15px; }
2391
+ .gem-hero-banner--default .gem-section__heading { font-size: 40px; line-height: 52px; margin: 0; }
2392
+ .gem-hero-banner--default .gem-section__body { font-size: 15px; line-height: 27px; }
2393
+ .gem-hero-banner--default .gem-button--primary { min-width: 130px; min-height: 47px; box-sizing: border-box; font-size: 15px; line-height: 18px; }
2394
+ .gem-rich-text--dawn-intro { padding-block: 30px 0; }
2395
+ .gem-rich-text--dawn-intro .gem-rich-text__content { max-width: 320px; }
2396
+ .gem-rich-text--dawn-intro .gem-section__heading { font-size: 30px; line-height: 39px; }
2397
+ .gem-rich-text--dawn-intro .gem-section__body { font-size: 15px; line-height: 27px; }
2398
+ .gem-rich-text--dawn-intro .gem-rich-text__blocks { display: block; }
2399
+ .gem-featured-collection--editorial-grid { padding-block: 21px 27px; }
2400
+ .gem-hero-banner--compact-collection { padding-block: 25px; }
2401
+ .gem-hero-banner--compact-collection .gem-section__heading { font-size: 30px; line-height: 39px; }
2402
+ .gem-product-card-grid--quick-view-grid > .gem-section__inner, .gem-main-search > .gem-section__inner { width: calc(100% - 30px); }
2403
+ .gem-product-card-grid__grid { gap: 4px !important; }
2404
+ .gem-product-card__content { padding-top: 8px; gap: 4px; }
2405
+ .gem-product-card__title { font-size: 15px; line-height: 24px; }
2406
+ .gem-product-card__price, .gem-product-card__price .gem-price { font-size: 16px; line-height: 24px; }
2407
+ .gem-hero-banner h1, .gem-hero-banner h2, .gem-section__heading { font-size: clamp(2rem, 11vw, 3.6rem); }
2408
+ .gem-featured-collection--editorial-grid .gem-section__grid, .gem-product-card-grid--quick-view-grid .gem-section__grid, .gem-main-search .gem-section__grid { grid-template-columns: repeat(var(--gem-product-card-grid-mobile-columns, 2), minmax(0, 1fr)); }
2409
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] > .gem-section__inner { width: calc(100% - 30px); }
2410
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-media-gallery__frame { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; }
2411
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-media-gallery__item { flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 1 / 1; }
2412
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__summary { gap: 15px; margin-top: 20px; }
2413
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__summary > .gem-section__heading { font-size: 30px; line-height: 39px; margin-bottom: 0; }
2414
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__price, .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__price .gem-price { min-height: 30px; font-size: 16px; line-height: 24px; }
2415
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__sale-badge { min-height: 22px; padding: 4px 12px; font-size: 12px; line-height: 12px; font-weight: 400; }
2416
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__variant-fallback { max-width: none; min-height: 112px; gap: 8px; }
2417
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__variant-fallback legend { font-size: 15px; line-height: 27px; margin-bottom: 0; }
2418
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__variant-pill { min-height: 36px; min-width: auto; padding: 0 20px; font-size: 13px; line-height: 16px; }
2419
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-buy-buttons { gap: 15px; max-width: none; }
2420
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-buy-buttons__quantity { width: 142px; gap: 0; font-size: 15px; line-height: 27px; }
2421
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-quantity-input { width: 142px; min-height: 47px; height: 47px; grid-template-columns: 44px 54px 44px; }
2422
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-quantity-input__button, .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-quantity-input__field { min-height: 47px; height: 47px; padding-block: 0; }
2423
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-buy-buttons__submit { min-height: 47px; margin-top: 9px; padding-block: 0; font-size: 15px; line-height: 18px; }
2424
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] [class~='shopify-payment-button'] { min-height: 47px; height: 47px; margin-top: -5px; }
2425
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] [class~='shopify-payment-button']::before { min-height: 47px; font-size: 15px; line-height: 18px; }
2426
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-section__body { min-height: 312px; margin-top: 10px; font-size: 15px; line-height: 27px; }
2427
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-section__body + .gem-product-main__collapsible { margin-top: 9px; }
2428
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__collapsible { min-height: 51px; padding: 0; }
2429
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__collapsible + .gem-product-main__collapsible { margin-top: -15px; }
2430
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__collapsible + .gem-product-main__share { margin-top: -4px; }
2431
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__collapsible summary { min-height: 51px; padding-block: 12px; font-size: 15px; line-height: 27px; }
2432
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__collapsible .gem-richtext { display: none; }
2433
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__dawn-story { margin-top: 65px; }
2434
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__dawn-story-media { width: 100%; height: 296px; margin-bottom: 32px; }
2435
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__dawn-story h2 { font-size: 20px; line-height: 26px; margin-bottom: 12px; }
2436
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__dawn-story p { font-size: 15px; line-height: 27px; }
2437
+ .gem-product-main[data-gem-product-main-layout='dawn-main'] .gem-product-main__share { min-height: 44px; width: 100%; font-size: 15px; line-height: 27px; }
2438
+ .gem-main-search { padding-top: 41px; }
2439
+ .gem-main-search .gem-section__heading { font-size: 20px; line-height: 26px; text-align: center; margin-bottom: 43px; }
2440
+ .gem-main-search .gem-search-form { max-width: none; width: 100%; margin-bottom: 22px; }
2441
+ .gem-main-search .gem-search-form .gem-input, .gem-main-search .gem-search-form .gem-button { min-height: 47px; }
2442
+ .gem-product-card-grid--quick-view-grid > .gem-section__inner, .gem-main-search > .gem-section__inner { position: relative; row-gap: 0; }
2443
+ .gem-product-card-grid--quick-view-grid .gem-product-card-grid__meta { position: absolute; inset-block-start: 0; inset-inline-end: 0; display: flex; float: none; justify-content: flex-end; align-items: center; min-height: 40px; height: 40px; margin: 0; font-size: 1.2rem; }
2444
+ .gem-product-card-grid__controls, .gem-main-search .gem-product-card-grid__controls { display: flex; justify-content: space-between; align-items: center; min-height: 40px; height: 40px; margin: 0 0 16px; padding-top: 0; }
2445
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__form, .gem-main-search .gem-product-card-grid__controls .gem-collection-filter-toolbar__form { display: contents; }
2446
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters, .gem-main-search .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters { display: block; min-height: 40px; height: 40px; border: 0; background: transparent; padding: 0; overflow: hidden; }
2447
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters summary, .gem-main-search .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters summary { display: inline-flex; align-items: center; min-height: 40px; height: 40px; border: 0; background: transparent; padding: 0; font-size: 0; pointer-events: auto; }
2448
+ .gem-collection-filter-toolbar__filters summary::before { content: none; display: none; }
2449
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters summary span:not(.svg-wrapper), .gem-main-search .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters summary span:not(.svg-wrapper) { display: inline; font-size: 1.4rem; letter-spacing: 0; }
2450
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters summary .svg-wrapper, .gem-main-search .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters summary .svg-wrapper { width: 1.6rem; height: 1.6rem; margin-right: 0.8rem; }
2451
+ .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters .gem-collection-filter-toolbar__filter, .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters label, .gem-product-card-grid__controls .gem-collection-filter-toolbar__filters select, .gem-product-card-grid__controls .gem-collection-filter-toolbar__sort, .gem-main-search .gem-product-card-grid__controls .gem-collection-filter-toolbar__sort { display: none; }
2452
+ .gem-main-search .gem-search-results-meta { margin-left: auto; font-size: 1.2rem; }
2453
+ .gem-cart-main--line-items { padding-top: 52px; padding-bottom: 38px; }
2454
+ .gem-cart-main--line-items .gem-section__heading { font-size: 30px; line-height: 39px; text-align: center; margin-bottom: 20px; }
2455
+ .gem-cart-main__empty { width: 360px !important; max-width: calc(100vw - 30px) !important; text-align: center; }
2456
+ .gem-cart-main__empty .gem-button { min-height: 47px; padding-block: 0; font-size: 15px; line-height: 18px; }
2457
+ .gem-cart-main__login { text-align: left; margin-top: 55px; }
2458
+ .gem-cart-main__login h2 { font-size: 20px; line-height: 26px; margin-bottom: 5px; }
2459
+ .gem-cart-main__login p { font-size: 15px; line-height: 27px; margin-top: 8px; }
2460
+ .gem-cart-recommendations--dawn-empty { margin-top: -46px; padding-bottom: 148px; }
2461
+ .gem-cart-recommendations--dawn-empty .gem-cart-recommendations__header { width: 360px !important; max-width: calc(100vw - 30px) !important; margin: 0 auto 15px; }
2462
+ .gem-cart-recommendations--dawn-empty .gem-section__heading { font-size: 18px; line-height: 24px; }
2463
+ .gem-cart-recommendations--dawn-empty .gem-cart-recommendations__rail { width: 360px !important; max-width: calc(100vw - 30px) !important; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: auto; overflow: visible; gap: 4px; padding-bottom: 0; }
2464
+ .gem-cart-recommendations--dawn-empty .gem-product-card-wrapper { width: auto; min-width: 0; }
2465
+ .gem-cart-recommendations--dawn-empty .gem-product-card__content { padding-top: 8px; gap: 5px; }
2466
+ .gem-cart-recommendations--dawn-empty .gem-product-card__title, .gem-cart-recommendations--dawn-empty .gem-product-card__price, .gem-cart-recommendations--dawn-empty .gem-product-card__price .gem-price { font-size: 15px; line-height: 24px; }
2467
+ .gem-shell-footer { margin-top: 0; padding-block: 27px; }
2468
+ .gem-shell-footer__inner { width: 100%; max-width: none; padding: 0; }
2469
+ .gem-shell-footer__grid { display: block; width: calc(100% - 80px); max-width: 310px; margin: 40px auto 0; padding-bottom: 0; }
2470
+ .gem-shell-footer__grid > div, .gem-shell-footer__column, .gem-shell-footer__block { width: 100%; margin: 0 0 40px; }
2471
+ .gem-shell-footer__grid > .gem-shell-footer__block:nth-child(1) { min-height: 176px; }
2472
+ .gem-shell-footer__grid > .gem-shell-footer__block:nth-child(2) { min-height: 222px; }
2473
+ .gem-shell-footer__grid > .gem-shell-footer__block:nth-child(3) { min-height: 95px; margin-bottom: 20px; }
2474
+ .gem-shell-footer .footer-block__heading { margin-bottom: 20px; font-size: 18px; line-height: 23.4px; }
2475
+ .gem-shell-footer .footer-block__details-content { gap: 10px; font-size: 14px; line-height: 25.2px; }
2476
+ .gem-shell-footer__newsletter { display: block; width: calc(100% - 80px); max-width: 310px; min-height: 162px; margin: 0 auto 0; padding-bottom: 0; }
2477
+ .gem-shell-footer__newsletter form { width: 100%; max-width: none; }
2478
+ .gem-shell-footer__bottom { display: flex; width: 100vw; max-width: none; min-height: 200px; margin: 9px 0 0; padding: 27px 40px 0; gap: 18px; }
2479
+ .gem-shell-footer__localization { order: 0; }
2480
+ .gem-shell-footer__payments { margin-left: 0; }
2481
+ .gem-hero-collage--category-mosaic { min-height: 709px; padding-block: 36px; }
2482
+ .gem-hero-collage--category-mosaic > .gem-section__inner { min-height: 637px; }
2483
+ .gem-hero-collage--category-mosaic .gem-hero-collage__grid { min-height: 637px; grid-template-columns: 1fr; grid-template-rows: 2fr 1fr 1fr; }
2484
+ .gem-hero-video--dawn-video { height: 212px; min-height: 212px; }
2485
+ .gem-hero-video--dawn-video > .gem-section__inner, .gem-hero-video--dawn-video .gem-hero-video__inner, .gem-hero-video--dawn-video .gem-hero-video__media { height: 212px; min-height: 212px; }
2486
+ .gem-advanced-list--feature-grid { height: 420px; min-height: 420px; padding-block: 36px; }
2487
+ .gem-advanced-list--feature-grid .gem-section__grid { grid-template-columns: 1fr; }
2488
+ :where(.gem-section[data-gem-heading='section']) .gem-section__heading { font-size: min(var(--gem-h2), clamp(1.75rem, 9vw, 2.75rem)); }
2489
+ }
2490
+ .gem-row:where(:not([hidden])) { --gem-row-auto-sm: repeat(var(--gem-row-cols-sm), minmax(0, 1fr)); --gem-row-auto-md: repeat(var(--gem-row-cols-md), minmax(0, 1fr)); --gem-row-auto-lg: repeat(var(--gem-row-cols), minmax(0, 1fr)); display: grid; grid-template-columns: var(--gem-row-tracks-sm, var(--gem-row-auto-sm, minmax(0, 1fr))); }
2491
+ :where(.gem-row > *) { min-width: 0; --gem-row-cols: initial; --gem-row-cols-md: initial; --gem-row-cols-sm: initial; --gem-row-tracks: initial; --gem-row-tracks-md: initial; --gem-row-tracks-sm: initial; --gem-row-gap: initial; --gem-row-gap-y: initial; }
2492
+ @media (min-width: 750px) { .gem-row { grid-template-columns: var(--gem-row-tracks-md, var(--gem-row-auto-md, var(--gem-row-tracks, var(--gem-row-auto-lg, repeat(2, minmax(0, 1fr)))))); } }
2493
+ @media (min-width: 990px) { .gem-row { grid-template-columns: var(--gem-row-tracks, var(--gem-row-auto-lg, repeat(2, minmax(0, 1fr)))); } }