@nuvler/theme-default 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +94 -0
  2. package/dist/nuvler.theme.json +23 -0
  3. package/dist/src/banner-carousel.d.ts +17 -0
  4. package/dist/src/banner-carousel.js +14 -0
  5. package/dist/src/banner-carousel.js.map +1 -0
  6. package/dist/src/carousel-frame.d.ts +9 -0
  7. package/dist/src/carousel-frame.js +27 -0
  8. package/dist/src/carousel-frame.js.map +1 -0
  9. package/dist/src/definition.d.ts +55 -0
  10. package/dist/src/definition.js +15 -0
  11. package/dist/src/definition.js.map +1 -0
  12. package/dist/src/footer.d.ts +6 -0
  13. package/dist/src/footer.js +7 -0
  14. package/dist/src/footer.js.map +1 -0
  15. package/dist/src/header-interactions.d.ts +14 -0
  16. package/dist/src/header-interactions.js +145 -0
  17. package/dist/src/header-interactions.js.map +1 -0
  18. package/dist/src/header.d.ts +5 -0
  19. package/dist/src/header.js +13 -0
  20. package/dist/src/header.js.map +1 -0
  21. package/dist/src/home.d.ts +5 -0
  22. package/dist/src/home.js +96 -0
  23. package/dist/src/home.js.map +1 -0
  24. package/dist/src/index.d.ts +10 -0
  25. package/dist/src/index.js +8 -0
  26. package/dist/src/index.js.map +1 -0
  27. package/dist/src/product-carousel.d.ts +8 -0
  28. package/dist/src/product-carousel.js +9 -0
  29. package/dist/src/product-carousel.js.map +1 -0
  30. package/dist/src/product-detail-interactive.d.ts +15 -0
  31. package/dist/src/product-detail-interactive.js +126 -0
  32. package/dist/src/product-detail-interactive.js.map +1 -0
  33. package/dist/src/product-detail.d.ts +5 -0
  34. package/dist/src/product-detail.js +27 -0
  35. package/dist/src/product-detail.js.map +1 -0
  36. package/dist/src/products.d.ts +11 -0
  37. package/dist/src/products.js +11 -0
  38. package/dist/src/products.js.map +1 -0
  39. package/dist/src/server-shell.d.ts +15 -0
  40. package/dist/src/server-shell.js +32 -0
  41. package/dist/src/server-shell.js.map +1 -0
  42. package/dist/src/shared.d.ts +17 -0
  43. package/dist/src/shared.js +24 -0
  44. package/dist/src/shared.js.map +1 -0
  45. package/dist/src/theme-component.d.ts +79 -0
  46. package/dist/src/theme-component.js +85 -0
  47. package/dist/src/theme-component.js.map +1 -0
  48. package/dist/src/theme-config.d.ts +41 -0
  49. package/dist/src/theme-config.js +62 -0
  50. package/dist/src/theme-config.js.map +1 -0
  51. package/dist/src/theme.d.ts +2 -0
  52. package/dist/src/theme.js +3 -0
  53. package/dist/src/theme.js.map +1 -0
  54. package/dist/theme.css +2965 -0
  55. package/package.json +74 -0
package/dist/theme.css ADDED
@@ -0,0 +1,2965 @@
1
+ :root {
2
+ --color-primary: #176b3a;
3
+ --color-primary-text: #ffffff;
4
+ --color-secondary: #d99b31;
5
+ --color-secondary-text: #18221b;
6
+ --color-accent: #b45309;
7
+ --store-background: #f7f7f2;
8
+ --store-text: #18221b;
9
+ --container-width: 1280px;
10
+ --border-radius: 18px;
11
+ --store-muted: #657068;
12
+ --store-line: #dfe4dd;
13
+ --store-surface: #ffffff;
14
+ --store-surface-alt: #eef2e9;
15
+ --store-header-background: #ffffff;
16
+ --store-header-text: #18221b;
17
+ --store-footer-background: #14251a;
18
+ --store-footer-text: #f7f7f2;
19
+ }
20
+
21
+ * {
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ /* O tema não pode depender das utilities do Tailwind fornecidas pelo host. */
26
+ .sr-only {
27
+ position: absolute !important;
28
+ width: 1px !important;
29
+ height: 1px !important;
30
+ overflow: hidden !important;
31
+ clip: rect(0, 0, 0, 0) !important;
32
+ clip-path: inset(50%) !important;
33
+ border: 0 !important;
34
+ margin: -1px !important;
35
+ padding: 0 !important;
36
+ white-space: nowrap !important;
37
+ }
38
+
39
+ html {
40
+ scroll-behavior: smooth;
41
+ }
42
+
43
+ body {
44
+ margin: 0;
45
+ background: var(--store-background);
46
+ color: var(--store-text);
47
+ -webkit-font-smoothing: antialiased;
48
+ }
49
+
50
+ .store-shell {
51
+ min-height: 100vh;
52
+ background: var(--store-background);
53
+ color: var(--store-text);
54
+ font-family: var(
55
+ --nuvler-font-sans,
56
+ ui-sans-serif,
57
+ system-ui,
58
+ -apple-system,
59
+ BlinkMacSystemFont,
60
+ "Segoe UI",
61
+ Arial,
62
+ Helvetica,
63
+ sans-serif
64
+ );
65
+ }
66
+
67
+ .floating-whatsapp {
68
+ position: fixed;
69
+ right: max(22px, env(safe-area-inset-right));
70
+ bottom: max(22px, env(safe-area-inset-bottom));
71
+ z-index: 60;
72
+ display: inline-flex;
73
+ width: fit-content;
74
+ min-width: 58px;
75
+ max-width: 58px;
76
+ height: 58px;
77
+ align-items: center;
78
+ justify-content: flex-start;
79
+ gap: 0;
80
+ overflow: hidden;
81
+ border: 2px solid #fff;
82
+ border-radius: 999px;
83
+ background: #25d366;
84
+ box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.42), 0 14px 35px rgba(17, 85, 43, 0.3);
85
+ color: #fff;
86
+ padding: 0 12px;
87
+ font-size: 14px;
88
+ font-weight: 800;
89
+ white-space: nowrap;
90
+ transition: max-width 240ms ease, gap 240ms ease, padding 240ms ease, transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
91
+ }
92
+
93
+ .floating-whatsapp:hover {
94
+ max-width: 280px;
95
+ gap: 9px;
96
+ padding-right: 18px;
97
+ transform: translateY(-2px);
98
+ background: #1fbd5a;
99
+ box-shadow: 0 18px 42px rgba(17, 85, 43, 0.38);
100
+ }
101
+
102
+ .floating-whatsapp:focus-visible {
103
+ outline: 3px solid color-mix(in srgb, #25d366, white 45%);
104
+ outline-offset: 3px;
105
+ }
106
+
107
+ .floating-whatsapp svg {
108
+ flex: 0 0 30px;
109
+ width: 30px;
110
+ height: 30px;
111
+ fill: currentColor;
112
+ }
113
+
114
+ .floating-whatsapp span {
115
+ max-width: 0;
116
+ overflow: hidden;
117
+ opacity: 0;
118
+ transform: translateX(6px);
119
+ transition: max-width 240ms ease, opacity 160ms ease, transform 240ms ease;
120
+ }
121
+
122
+ .floating-whatsapp:hover span,
123
+ .floating-whatsapp:focus-visible span {
124
+ max-width: 190px;
125
+ opacity: 1;
126
+ transform: translateX(0);
127
+ }
128
+
129
+ .floating-whatsapp:focus-visible {
130
+ max-width: 280px;
131
+ gap: 9px;
132
+ padding-right: 18px;
133
+ }
134
+
135
+ .not-found-page {
136
+ display: grid;
137
+ min-height: 100vh;
138
+ place-items: center;
139
+ overflow: hidden;
140
+ padding: 32px 20px;
141
+ background:
142
+ radial-gradient(circle at 20% 15%, color-mix(in srgb, var(--color-primary), transparent 82%), transparent 34%),
143
+ radial-gradient(circle at 85% 80%, color-mix(in srgb, var(--color-secondary), transparent 84%), transparent 30%),
144
+ var(--store-background);
145
+ }
146
+
147
+ .store-shell .not-found-page {
148
+ min-height: 62vh;
149
+ }
150
+
151
+ .not-found-card {
152
+ position: relative;
153
+ width: min(100%, 680px);
154
+ overflow: hidden;
155
+ border: 1px solid var(--store-line);
156
+ border-radius: calc(var(--border-radius) + 8px);
157
+ background: color-mix(in srgb, var(--store-surface), transparent 3%);
158
+ box-shadow: 0 30px 80px rgba(24, 34, 27, 0.12);
159
+ padding: clamp(34px, 7vw, 72px);
160
+ text-align: center;
161
+ }
162
+
163
+ .not-found-code {
164
+ position: absolute;
165
+ top: -40px;
166
+ right: -10px;
167
+ color: color-mix(in srgb, var(--color-primary), transparent 92%);
168
+ font-size: clamp(130px, 25vw, 240px);
169
+ font-weight: 950;
170
+ letter-spacing: -0.12em;
171
+ line-height: 1;
172
+ pointer-events: none;
173
+ }
174
+
175
+ .not-found-card > span {
176
+ position: relative;
177
+ color: var(--color-primary);
178
+ font-size: 12px;
179
+ font-weight: 900;
180
+ letter-spacing: 0.14em;
181
+ text-transform: uppercase;
182
+ }
183
+
184
+ .not-found-card h1 {
185
+ position: relative;
186
+ max-width: 560px;
187
+ margin: 18px auto 0;
188
+ font-size: clamp(36px, 7vw, 62px);
189
+ letter-spacing: -0.055em;
190
+ line-height: 1.02;
191
+ }
192
+
193
+ .not-found-card p {
194
+ position: relative;
195
+ max-width: 540px;
196
+ margin: 22px auto 0;
197
+ color: var(--store-muted);
198
+ font-size: 17px;
199
+ line-height: 1.65;
200
+ }
201
+
202
+ .not-found-card small {
203
+ position: relative;
204
+ display: block;
205
+ margin-top: 18px;
206
+ color: var(--store-muted);
207
+ font-size: 13px;
208
+ }
209
+
210
+ .not-found-actions {
211
+ position: relative;
212
+ display: flex;
213
+ justify-content: center;
214
+ margin-top: 30px;
215
+ }
216
+
217
+ a {
218
+ color: inherit;
219
+ text-decoration: none;
220
+ }
221
+
222
+ button,
223
+ input,
224
+ textarea,
225
+ select {
226
+ font: inherit;
227
+ }
228
+
229
+ .store-page {
230
+ min-height: 60vh;
231
+ }
232
+
233
+ .store-container {
234
+ width: min(calc(100% - 40px), var(--container-width));
235
+ margin-inline: auto;
236
+ }
237
+
238
+ .announcement {
239
+ background: var(--color-primary);
240
+ color: var(--color-primary-text);
241
+ font-size: 12px;
242
+ letter-spacing: 0.02em;
243
+ }
244
+
245
+ .announcement-inner {
246
+ display: flex;
247
+ justify-content: space-between;
248
+ gap: 24px;
249
+ min-height: 34px;
250
+ align-items: center;
251
+ }
252
+
253
+ .store-header {
254
+ position: sticky;
255
+ z-index: 30;
256
+ top: 0;
257
+ border-bottom: 1px solid color-mix(in srgb, var(--store-line), transparent 20%);
258
+ background: color-mix(in srgb, var(--store-header-background), transparent 4%);
259
+ color: var(--store-header-text);
260
+ backdrop-filter: blur(18px);
261
+ }
262
+
263
+ .header-inner {
264
+ display: flex;
265
+ align-items: center;
266
+ min-height: 76px;
267
+ gap: clamp(20px, 2.5vw, 36px);
268
+ }
269
+
270
+ .header-search {
271
+ position: relative;
272
+ width: 100%;
273
+ }
274
+
275
+ .header-search-shell {
276
+ position: relative;
277
+ z-index: 35;
278
+ width: 100%;
279
+ max-width: 650px;
280
+ flex: 1 1 520px;
281
+ }
282
+
283
+ .header-search input {
284
+ width: 100%;
285
+ height: 46px;
286
+ border: 1px solid var(--store-line);
287
+ border-radius: 999px;
288
+ outline: 0;
289
+ background: var(--store-surface);
290
+ padding: 0 54px 0 20px;
291
+ color: var(--store-text);
292
+ font-size: 13px;
293
+ transition: border 160ms ease, box-shadow 160ms ease;
294
+ }
295
+
296
+ .header-search input:focus {
297
+ border-color: var(--color-secondary);
298
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-secondary), transparent 84%);
299
+ }
300
+
301
+ .header-search button {
302
+ position: absolute;
303
+ top: 50%;
304
+ right: 6px;
305
+ display: grid;
306
+ width: 35px;
307
+ height: 35px;
308
+ place-items: center;
309
+ transform: translateY(-50%);
310
+ border: 0;
311
+ border-radius: 50%;
312
+ background: var(--color-secondary);
313
+ color: #fff;
314
+ cursor: pointer;
315
+ }
316
+
317
+ .header-search svg {
318
+ width: 17px;
319
+ fill: none;
320
+ stroke: currentColor;
321
+ stroke-width: 2;
322
+ stroke-linecap: round;
323
+ }
324
+
325
+ .search-suggestions {
326
+ position: absolute;
327
+ top: calc(100% + 10px);
328
+ right: 0;
329
+ left: 0;
330
+ overflow: hidden auto;
331
+ max-height: min(520px, calc(100vh - 150px));
332
+ border: 1px solid color-mix(in srgb, var(--color-secondary), var(--store-line) 72%);
333
+ border-radius: 18px;
334
+ background: var(--store-surface);
335
+ box-shadow: 0 26px 70px rgba(15, 23, 42, 0.22), 0 4px 16px rgba(15, 23, 42, 0.08);
336
+ scrollbar-color: color-mix(in srgb, var(--color-secondary), transparent 45%) transparent;
337
+ scrollbar-width: thin;
338
+ }
339
+
340
+ .search-suggestions-heading {
341
+ display: flex;
342
+ min-height: 38px;
343
+ align-items: center;
344
+ justify-content: space-between;
345
+ gap: 16px;
346
+ padding: 10px 14px;
347
+ border-bottom: 1px solid var(--store-line);
348
+ background: color-mix(in srgb, var(--color-secondary), transparent 96%);
349
+ color: var(--store-muted);
350
+ font-size: 10px;
351
+ letter-spacing: .08em;
352
+ text-transform: uppercase;
353
+ }
354
+
355
+ .search-suggestions-heading strong {
356
+ overflow: hidden;
357
+ color: var(--store-text);
358
+ text-overflow: ellipsis;
359
+ white-space: nowrap;
360
+ }
361
+
362
+ .search-suggestions-heading span {
363
+ flex: 0 0 auto;
364
+ font-size: 9px;
365
+ font-weight: 750;
366
+ }
367
+
368
+ .search-suggestions > a:not(.search-all-results) {
369
+ display: grid;
370
+ min-height: 78px;
371
+ grid-template-columns: 58px minmax(0, 1fr) auto 26px;
372
+ align-items: center;
373
+ gap: 13px;
374
+ padding: 10px 13px;
375
+ border-bottom: 1px solid color-mix(in srgb, var(--store-line), transparent 35%);
376
+ outline: 0;
377
+ transition: background 150ms ease, box-shadow 150ms ease;
378
+ }
379
+
380
+ .search-suggestions > a:not(.search-all-results):hover,
381
+ .search-suggestions > a:not(.search-all-results).active,
382
+ .search-suggestions > a:not(.search-all-results):focus-visible {
383
+ background: color-mix(in srgb, var(--color-secondary), transparent 92%);
384
+ box-shadow: inset 3px 0 var(--color-secondary);
385
+ }
386
+
387
+ .search-suggestion-image {
388
+ display: grid;
389
+ width: 58px;
390
+ height: 58px;
391
+ place-items: center;
392
+ overflow: hidden;
393
+ border: 1px solid color-mix(in srgb, var(--store-line), transparent 12%);
394
+ border-radius: 12px;
395
+ background: color-mix(in srgb, var(--store-background), white 30%);
396
+ }
397
+
398
+ .search-suggestion-image img { width: 100%; height: 100%; object-fit: contain; }
399
+ .search-suggestion-copy { display: grid; min-width: 0; gap: 7px; }
400
+ .search-suggestion-copy > strong { overflow: hidden; color: var(--store-text); font-size: 13px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
401
+ .search-suggestion-meta { display: flex; min-width: 0; align-items: center; gap: 7px; color: var(--store-muted); }
402
+ .search-suggestion-meta small { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
403
+ .search-suggestion-meta small + small::before { content: "•"; margin-right: 7px; color: color-mix(in srgb, var(--store-muted), transparent 45%); }
404
+ .search-suggestions > a > b { color: var(--color-primary); font-size: 12px; white-space: nowrap; }
405
+ .search-suggestion-arrow { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: var(--store-muted); font-size: 14px; transition: background 150ms ease, color 150ms ease, transform 150ms ease; }
406
+ .search-suggestions > a:hover .search-suggestion-arrow,
407
+ .search-suggestions > a.active .search-suggestion-arrow { background: var(--color-secondary); color: #fff; transform: translateX(2px); }
408
+
409
+ .search-suggestions-loading,
410
+ .search-suggestions-empty {
411
+ display: grid;
412
+ min-height: 110px;
413
+ place-items: center;
414
+ align-content: center;
415
+ gap: 10px;
416
+ padding: 22px;
417
+ text-align: center;
418
+ }
419
+
420
+ .search-suggestions-loading span {
421
+ width: 25px;
422
+ height: 25px;
423
+ border: 3px solid color-mix(in srgb, var(--color-secondary), transparent 72%);
424
+ border-top-color: var(--color-secondary);
425
+ border-radius: 50%;
426
+ animation: search-spinner 700ms linear infinite;
427
+ }
428
+
429
+ @keyframes search-spinner { to { transform: rotate(360deg); } }
430
+
431
+ .search-suggestions-loading p,
432
+ .search-suggestions-empty p { margin: 0; color: var(--store-muted); font-size: 11px; }
433
+ .search-suggestions-empty strong { font-size: 13px; }
434
+
435
+ .search-suggestions .search-all-results {
436
+ position: sticky;
437
+ bottom: 0;
438
+ display: flex;
439
+ min-height: 46px;
440
+ align-items: center;
441
+ justify-content: center;
442
+ gap: 10px;
443
+ background: color-mix(in srgb, var(--color-secondary), transparent 92%);
444
+ padding: 12px 14px;
445
+ color: color-mix(in srgb, var(--color-secondary), #000 22%);
446
+ text-align: center;
447
+ font-size: 11px;
448
+ font-weight: 850;
449
+ }
450
+
451
+ .search-suggestions .search-all-results:hover { background: color-mix(in srgb, var(--color-secondary), transparent 86%); }
452
+ .search-all-results strong { font-size: 15px; }
453
+
454
+ .mobile-menu-trigger,
455
+ .cart-button {
456
+ position: relative;
457
+ display: grid;
458
+ width: 42px;
459
+ height: 42px;
460
+ flex: 0 0 42px;
461
+ place-items: center;
462
+ border: 1px solid var(--store-line);
463
+ border-radius: 12px;
464
+ background: var(--store-surface);
465
+ color: var(--store-text);
466
+ cursor: pointer;
467
+ }
468
+
469
+ .mobile-menu-trigger { display: none; }
470
+ .mobile-menu-trigger svg,
471
+ .cart-button svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
472
+ .cart-button span { position: absolute; top: -6px; right: -6px; display: grid; min-width: 19px; height: 19px; place-items: center; border: 2px solid var(--store-surface); border-radius: 999px; background: var(--color-secondary); color: #fff; padding-inline: 3px; font-size: 9px; font-weight: 900; }
473
+
474
+ .mobile-menu-backdrop,
475
+ .cart-backdrop {
476
+ position: fixed;
477
+ z-index: 100;
478
+ inset: 0;
479
+ width: 100vw;
480
+ min-height: 100vh;
481
+ height: 100dvh;
482
+ background: rgba(8, 15, 12, .55);
483
+ backdrop-filter: blur(3px);
484
+ }
485
+
486
+ .mobile-menu-drawer,
487
+ .cart-drawer {
488
+ display: flex;
489
+ width: min(390px, 92vw);
490
+ min-height: 100vh;
491
+ height: 100dvh;
492
+ max-height: 100dvh;
493
+ flex-direction: column;
494
+ overflow-y: auto;
495
+ overscroll-behavior: contain;
496
+ background: var(--store-surface);
497
+ box-shadow: 22px 0 70px rgba(0, 0, 0, .25);
498
+ animation: drawer-in 180ms ease-out;
499
+ }
500
+
501
+ .cart-drawer { margin-left: auto; box-shadow: -22px 0 70px rgba(0, 0, 0, .25); animation-name: cart-drawer-in; }
502
+ @keyframes drawer-in { from { transform: translateX(-100%); } }
503
+ @keyframes cart-drawer-in { from { transform: translateX(100%); } }
504
+
505
+ .mobile-menu-heading,
506
+ .cart-heading { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--store-line); padding: 18px; }
507
+ .mobile-menu-heading > div,
508
+ .cart-heading > div { display: grid; gap: 3px; }
509
+ .mobile-menu-heading small,
510
+ .cart-heading small { color: var(--color-secondary); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
511
+ .mobile-menu-heading strong,
512
+ .cart-heading strong { font-size: 16px; }
513
+ .mobile-menu-heading button,
514
+ .cart-heading button { width: 36px; height: 36px; border: 0; border-radius: 10px; background: var(--store-background); color: var(--store-text); cursor: pointer; font-size: 25px; }
515
+ .mobile-menu-links { display: grid; padding: 10px 16px; border-bottom: 1px solid var(--store-line); }
516
+ .mobile-menu-links a { padding: 12px 4px; font-size: 13px; font-weight: 750; }
517
+ .mobile-menu-categories { padding: 18px 16px; }
518
+ .mobile-menu-categories h2 { margin: 0 0 10px; color: var(--store-muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
519
+ .mobile-menu-categories > a,
520
+ .mobile-menu-category > summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; border-bottom: 1px solid color-mix(in srgb, var(--store-line), transparent 35%); padding: 8px 4px; cursor: pointer; font-size: 13px; font-weight: 750; list-style: none; }
521
+ .mobile-menu-category summary::-webkit-details-marker { display: none; }
522
+ .mobile-menu-category[open] > summary span:last-child { transform: rotate(45deg); }
523
+ .mobile-menu-category > div { display: grid; border-left: 2px solid color-mix(in srgb, var(--color-secondary), transparent 75%); padding-left: 13px; }
524
+ .mobile-menu-category > div > a { padding: 10px 3px; color: var(--store-muted); font-size: 11px; font-weight: 650; }
525
+ .mobile-menu-contact { display: grid; gap: 8px; margin-top: auto; padding: 18px; background: color-mix(in srgb, var(--color-secondary), transparent 93%); }
526
+ .mobile-menu-contact a { font-size: 12px; font-weight: 750; }
527
+
528
+ .cart-items { flex: 1; overflow-y: auto; }
529
+ .cart-empty { display: grid; min-height: 50vh; place-content: center; padding: 30px; text-align: center; }
530
+ .cart-empty strong { font-size: 18px; }
531
+ .cart-empty p { margin: 8px auto 18px; color: var(--store-muted); font-size: 12px; line-height: 1.6; }
532
+ .cart-empty button { border: 0; background: none; color: var(--color-secondary); cursor: pointer; font-weight: 800; }
533
+ .cart-item { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 13px; border-bottom: 1px solid var(--store-line); padding: 16px; }
534
+ .cart-item > a { display: grid; height: 78px; place-items: center; overflow: hidden; border-radius: 12px; background: var(--store-background); }
535
+ .cart-item img { width: 100%; height: 100%; object-fit: contain; }
536
+ .cart-item > div { display: grid; align-content: start; gap: 3px; }
537
+ .cart-item strong { display: -webkit-box; overflow: hidden; font-size: 12px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
538
+ .cart-item small { color: var(--store-muted); font-size: 10px; }
539
+ .cart-item b { margin-top: 3px; color: var(--color-secondary); font-size: 12px; }
540
+ .cart-quantity { display: flex; align-items: center; gap: 7px; margin-top: 8px; }
541
+ .cart-quantity button:not(.cart-remove) { width: 27px; height: 27px; border: 1px solid var(--store-line); border-radius: 8px; background: var(--store-surface); cursor: pointer; }
542
+ .cart-quantity span { min-width: 18px; text-align: center; font-size: 11px; font-weight: 800; }
543
+ .cart-quantity .cart-remove { margin-left: auto; border: 0; background: none; color: #b42318; cursor: pointer; font-size: 9px; font-weight: 750; }
544
+ .cart-footer { position: sticky; bottom: 0; border-top: 1px solid var(--store-line); background: var(--store-surface); padding: 16px; box-shadow: 0 -12px 35px rgba(15, 23, 42, .08); }
545
+ .cart-footer > div { display: flex; align-items: center; justify-content: space-between; font-size: 13px; }
546
+ .cart-footer > div strong { font-size: 18px; }
547
+ .cart-footer > p { margin: 8px 0 13px; color: var(--store-muted); font-size: 10px; line-height: 1.45; }
548
+ .cart-footer .cart-warning { border-radius: 10px; background: #fff4e5; padding: 10px; color: #8a4b00; }
549
+
550
+ .primary-nav-shell {
551
+ border-top: 1px solid var(--store-line);
552
+ background: var(--store-header-background);
553
+ color: var(--store-header-text);
554
+ }
555
+
556
+ .brand {
557
+ display: inline-flex;
558
+ align-items: center;
559
+ justify-self: start;
560
+ gap: 11px;
561
+ min-width: 0;
562
+ max-width: min(220px, 24vw);
563
+ font-size: 20px;
564
+ font-weight: 800;
565
+ letter-spacing: -0.04em;
566
+ }
567
+
568
+ .brand-mark {
569
+ display: grid;
570
+ width: 38px;
571
+ height: 38px;
572
+ place-items: center;
573
+ border-radius: 11px 4px 11px 4px;
574
+ background: var(--color-primary);
575
+ color: #fff;
576
+ font-size: 23px;
577
+ font-weight: 900;
578
+ }
579
+
580
+ .brand-logo {
581
+ width: auto;
582
+ max-width: 190px;
583
+ height: 48px;
584
+ object-fit: contain;
585
+ }
586
+
587
+ .header-message {
588
+ display: flex;
589
+ min-width: 210px;
590
+ min-height: 46px;
591
+ flex: 1 1 240px;
592
+ align-items: center;
593
+ gap: 11px;
594
+ overflow: hidden;
595
+ border: 1px solid color-mix(in srgb, var(--color-secondary), transparent 82%);
596
+ border-radius: 14px;
597
+ background: color-mix(in srgb, var(--color-secondary), transparent 93%);
598
+ padding: 7px 12px;
599
+ }
600
+
601
+ .header-message-icon {
602
+ display: grid;
603
+ width: 31px;
604
+ height: 31px;
605
+ flex: 0 0 31px;
606
+ place-items: center;
607
+ border-radius: 10px;
608
+ background: var(--color-secondary);
609
+ color: #fff;
610
+ }
611
+
612
+ .header-message-icon svg {
613
+ width: 17px;
614
+ height: 17px;
615
+ fill: none;
616
+ stroke: currentColor;
617
+ stroke-width: 1.7;
618
+ stroke-linecap: round;
619
+ stroke-linejoin: round;
620
+ }
621
+
622
+ .header-message-copy {
623
+ display: grid;
624
+ min-width: 0;
625
+ gap: 2px;
626
+ line-height: 1.12;
627
+ }
628
+
629
+ .header-message-copy small {
630
+ color: var(--color-secondary);
631
+ font-size: 9px;
632
+ font-weight: 850;
633
+ letter-spacing: 0.08em;
634
+ text-transform: uppercase;
635
+ }
636
+
637
+ .header-message-copy strong {
638
+ display: -webkit-box;
639
+ overflow: hidden;
640
+ color: var(--store-text);
641
+ font-size: 11px;
642
+ font-weight: 750;
643
+ line-height: 1.3;
644
+ -webkit-box-orient: vertical;
645
+ -webkit-line-clamp: 2;
646
+ }
647
+
648
+ .main-nav {
649
+ display: flex;
650
+ min-height: 45px;
651
+ align-items: center;
652
+ justify-content: center;
653
+ gap: 20px;
654
+ font-size: 13px;
655
+ font-weight: 700;
656
+ }
657
+
658
+ .category-nav {
659
+ position: relative;
660
+ overflow: visible;
661
+ border-top: 1px solid color-mix(in srgb, var(--store-line), transparent 20%);
662
+ border-bottom: 1px solid var(--store-line);
663
+ background: var(--store-surface);
664
+ color: var(--store-text);
665
+ }
666
+
667
+ .category-nav-inner {
668
+ display: flex;
669
+ overflow: visible;
670
+ min-height: 48px;
671
+ align-items: center;
672
+ gap: 24px;
673
+ padding-block: 0;
674
+ scrollbar-width: none;
675
+ }
676
+
677
+ .category-nav-inner::-webkit-scrollbar {
678
+ display: none;
679
+ }
680
+
681
+ .category-nav a {
682
+ display: inline-flex;
683
+ flex: 0 0 auto;
684
+ min-height: 47px;
685
+ align-items: center;
686
+ border-radius: 0;
687
+ padding: 14px 2px 12px;
688
+ color: var(--store-text);
689
+ font-size: 12px;
690
+ font-weight: 700;
691
+ white-space: nowrap;
692
+ transition: background 160ms ease, color 160ms ease, transform 160ms ease;
693
+ }
694
+
695
+ .category-nav-group {
696
+ position: static;
697
+ flex: 0 0 auto;
698
+ }
699
+
700
+ .category-nav-group[data-overflowed="true"] {
701
+ position: absolute;
702
+ visibility: hidden;
703
+ pointer-events: none;
704
+ }
705
+
706
+ .category-nav-all {
707
+ position: static;
708
+ z-index: 42;
709
+ flex: 0 0 auto;
710
+ }
711
+
712
+ .category-nav .all-categories {
713
+ display: inline-flex;
714
+ min-height: 47px;
715
+ align-items: center;
716
+ gap: 8px;
717
+ margin-right: 2px;
718
+ border-right: 1px solid var(--store-line);
719
+ padding: 2px 24px 2px 0;
720
+ color: var(--color-secondary);
721
+ cursor: pointer;
722
+ font-size: 12px;
723
+ font-weight: 850;
724
+ list-style: none;
725
+ white-space: nowrap;
726
+ }
727
+
728
+ .category-nav .all-categories::-webkit-details-marker {
729
+ display: none;
730
+ }
731
+
732
+ .category-nav-all[open] .all-categories {
733
+ color: color-mix(in srgb, var(--color-secondary), #000 18%);
734
+ }
735
+
736
+ .category-nav-all-panel {
737
+ position: absolute;
738
+ z-index: 50;
739
+ top: 100%;
740
+ left: 50%;
741
+ display: flex;
742
+ width: min(1180px, calc(100vw - 40px));
743
+ max-height: min(520px, calc(100vh - 190px));
744
+ flex-direction: column;
745
+ overflow: hidden;
746
+ transform: translateX(-50%);
747
+ border: 1px solid color-mix(in srgb, var(--store-line), transparent 10%);
748
+ border-radius: 18px;
749
+ background: var(--store-surface);
750
+ box-shadow: 0 24px 65px rgba(15, 23, 42, 0.2);
751
+ }
752
+
753
+ .category-nav-panel-heading {
754
+ display: flex;
755
+ align-items: center;
756
+ justify-content: space-between;
757
+ gap: 20px;
758
+ border-bottom: 1px solid var(--store-line);
759
+ padding: 20px 22px;
760
+ background: color-mix(in srgb, var(--color-secondary), transparent 92%);
761
+ }
762
+
763
+ .category-nav-panel-heading > div {
764
+ display: grid;
765
+ gap: 3px;
766
+ }
767
+
768
+ .category-nav-panel-heading span {
769
+ color: var(--store-muted);
770
+ font-size: 10px;
771
+ font-weight: 800;
772
+ letter-spacing: 0.12em;
773
+ text-transform: uppercase;
774
+ }
775
+
776
+ .category-nav-panel-heading strong {
777
+ font-size: 18px;
778
+ letter-spacing: -0.025em;
779
+ }
780
+
781
+ .category-nav .category-nav-panel-heading a {
782
+ min-height: auto;
783
+ border-radius: 999px;
784
+ padding: 9px 13px;
785
+ background: var(--color-secondary);
786
+ color: #fff;
787
+ font-size: 11px;
788
+ }
789
+
790
+ .category-nav-tree {
791
+ overflow-y: auto;
792
+ display: grid;
793
+ max-height: 430px;
794
+ grid-template-columns: repeat(4, minmax(0, 1fr));
795
+ align-content: start;
796
+ column-gap: 10px;
797
+ padding: 12px;
798
+ scrollbar-color: color-mix(in srgb, var(--color-primary), transparent 55%) transparent;
799
+ scrollbar-width: thin;
800
+ }
801
+
802
+ .category-nav-tree-node > a {
803
+ display: flex;
804
+ width: 100%;
805
+ min-height: 42px;
806
+ align-items: center;
807
+ gap: 9px;
808
+ border-radius: 10px;
809
+ padding-block: 10px;
810
+ white-space: normal;
811
+ }
812
+
813
+ .category-nav-tree-node[data-depth="0"] > a {
814
+ background: color-mix(in srgb, var(--color-secondary), transparent 93%);
815
+ font-size: 13px;
816
+ font-weight: 800;
817
+ }
818
+
819
+ .category-nav-tree-node[data-depth]:not([data-depth="0"]) > a {
820
+ min-height: 30px;
821
+ padding-top: 6px;
822
+ padding-bottom: 6px;
823
+ color: var(--store-muted);
824
+ font-size: 11px;
825
+ font-weight: 650;
826
+ }
827
+
828
+ .category-nav-tree-node > a:hover {
829
+ background: color-mix(in srgb, var(--color-secondary), transparent 90%);
830
+ }
831
+
832
+ .category-tree-branch {
833
+ width: 8px;
834
+ height: 8px;
835
+ flex: 0 0 auto;
836
+ border-bottom: 1px solid var(--store-line);
837
+ border-left: 1px solid var(--store-line);
838
+ }
839
+
840
+ .category-nav-submenu {
841
+ position: absolute;
842
+ z-index: 40;
843
+ top: 100%;
844
+ left: 50%;
845
+ display: none;
846
+ width: min(1180px, calc(100vw - 40px));
847
+ max-height: min(520px, calc(100vh - 190px));
848
+ grid-template-columns: repeat(4, minmax(0, 1fr));
849
+ align-content: start;
850
+ gap: 12px;
851
+ overflow-y: auto;
852
+ transform: translateX(-50%);
853
+ border: 1px solid var(--store-line);
854
+ border-radius: 16px;
855
+ background: var(--store-surface);
856
+ padding: 12px;
857
+ box-shadow: 0 22px 55px rgba(15, 23, 42, 0.18);
858
+ }
859
+
860
+ .category-nav-group:hover .category-nav-submenu,
861
+ .category-nav-group:focus-within .category-nav-submenu {
862
+ display: grid;
863
+ }
864
+
865
+ .category-nav-submenu a {
866
+ display: flex;
867
+ width: 100%;
868
+ min-height: 42px;
869
+ border-radius: 10px;
870
+ padding-block: 11px;
871
+ white-space: normal;
872
+ }
873
+
874
+ .category-nav-submenu > .category-nav-tree-node > a {
875
+ background: color-mix(in srgb, var(--color-secondary), transparent 93%);
876
+ font-size: 13px;
877
+ font-weight: 800;
878
+ }
879
+
880
+ .category-nav-submenu .category-nav-tree-node .category-nav-tree-node > a {
881
+ min-height: 30px;
882
+ padding-top: 6px;
883
+ padding-bottom: 6px;
884
+ color: var(--store-muted);
885
+ font-size: 11px;
886
+ font-weight: 650;
887
+ }
888
+
889
+ .category-nav .all-categories svg {
890
+ width: 16px;
891
+ fill: none;
892
+ stroke: currentColor;
893
+ stroke-width: 2;
894
+ stroke-linecap: round;
895
+ }
896
+
897
+ .category-nav .all-categories .category-nav-chevron {
898
+ width: 14px;
899
+ transition: transform 160ms ease;
900
+ }
901
+
902
+ .category-nav-all[open] .category-nav-chevron {
903
+ transform: rotate(180deg);
904
+ }
905
+
906
+ .category-nav-inner > .category-nav-group > a:hover {
907
+ background: transparent;
908
+ color: color-mix(in srgb, var(--color-secondary), #000 18%);
909
+ }
910
+
911
+ .category-nav .category-nav-panel-heading a:hover {
912
+ background: color-mix(in srgb, var(--color-secondary), #000 14%);
913
+ color: #fff;
914
+ }
915
+
916
+ .category-nav .all-categories:hover {
917
+ background: transparent;
918
+ color: color-mix(in srgb, var(--color-secondary), #000 18%);
919
+ }
920
+
921
+ .category-nav-inner > .category-nav-group > a::after {
922
+ position: absolute;
923
+ right: 0;
924
+ bottom: 0;
925
+ left: 0;
926
+ height: 2px;
927
+ transform: scaleX(0);
928
+ background: var(--color-secondary);
929
+ content: "";
930
+ transition: transform 160ms ease;
931
+ }
932
+
933
+ .category-nav-inner > .category-nav-group > a {
934
+ position: relative;
935
+ color: var(--color-secondary);
936
+ }
937
+
938
+ .category-nav-inner > .category-nav-group:hover > a::after,
939
+ .category-nav-inner > .category-nav-group:focus-within > a::after {
940
+ transform: scaleX(1);
941
+ }
942
+
943
+ .main-nav a,
944
+ .text-link {
945
+ transition: color 160ms ease;
946
+ }
947
+
948
+ .main-nav a:hover,
949
+ .text-link:hover {
950
+ color: var(--color-primary);
951
+ }
952
+
953
+ .header-quote {
954
+ border: 1px solid var(--color-primary);
955
+ border-radius: 999px;
956
+ padding: 11px 17px;
957
+ color: var(--color-primary);
958
+ font-size: 13px;
959
+ font-weight: 800;
960
+ transition: 160ms ease;
961
+ }
962
+
963
+ .header-quote:hover {
964
+ background: var(--color-primary);
965
+ color: #fff;
966
+ }
967
+
968
+ .header-actions {
969
+ display: flex;
970
+ justify-self: end;
971
+ align-items: center;
972
+ gap: 10px;
973
+ }
974
+
975
+ .header-more-menu {
976
+ position: relative;
977
+ }
978
+
979
+ .header-more-menu summary {
980
+ display: flex;
981
+ min-height: 42px;
982
+ align-items: center;
983
+ gap: 5px;
984
+ cursor: pointer;
985
+ list-style: none;
986
+ color: var(--store-text);
987
+ font-size: 13px;
988
+ font-weight: 800;
989
+ }
990
+
991
+ .header-more-menu summary::-webkit-details-marker {
992
+ display: none;
993
+ }
994
+
995
+ .header-more-menu summary span {
996
+ transition: transform 160ms ease;
997
+ }
998
+
999
+ .header-more-menu[open] summary span {
1000
+ transform: rotate(180deg);
1001
+ }
1002
+
1003
+ .header-more-panel {
1004
+ position: absolute;
1005
+ z-index: 40;
1006
+ top: calc(100% + 8px);
1007
+ right: 0;
1008
+ display: grid;
1009
+ min-width: 190px;
1010
+ gap: 2px;
1011
+ border: 1px solid var(--store-line);
1012
+ border-radius: 14px;
1013
+ background: var(--store-surface);
1014
+ box-shadow: 0 22px 60px rgba(24, 34, 27, 0.16);
1015
+ padding: 8px;
1016
+ }
1017
+
1018
+ .header-more-panel a {
1019
+ border-radius: 8px;
1020
+ padding: 9px 10px;
1021
+ font-size: 13px;
1022
+ font-weight: 700;
1023
+ }
1024
+
1025
+ .header-more-panel a:hover {
1026
+ background: color-mix(in srgb, var(--color-primary), #fff 92%);
1027
+ color: var(--color-primary);
1028
+ }
1029
+
1030
+ .button {
1031
+ display: inline-flex;
1032
+ min-height: 48px;
1033
+ align-items: center;
1034
+ justify-content: center;
1035
+ border: 1px solid transparent;
1036
+ border-radius: calc(var(--border-radius) * 0.65);
1037
+ padding: 12px 20px;
1038
+ cursor: pointer;
1039
+ font-size: 14px;
1040
+ font-weight: 800;
1041
+ transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
1042
+ }
1043
+
1044
+ .button:hover {
1045
+ transform: translateY(-1px);
1046
+ }
1047
+
1048
+ .button:disabled {
1049
+ cursor: not-allowed;
1050
+ opacity: 0.55;
1051
+ transform: none;
1052
+ }
1053
+
1054
+ .button-primary {
1055
+ background: var(--color-primary);
1056
+ color: var(--color-primary-text);
1057
+ box-shadow: 0 9px 24px color-mix(in srgb, var(--color-primary), transparent 76%);
1058
+ }
1059
+
1060
+ .button-primary:hover {
1061
+ background: color-mix(in srgb, var(--color-primary), #000 12%);
1062
+ }
1063
+
1064
+ .button-secondary {
1065
+ border-color: var(--store-line);
1066
+ background: var(--color-secondary);
1067
+ color: var(--color-secondary-text);
1068
+ }
1069
+
1070
+ .button-secondary:hover {
1071
+ border-color: var(--color-secondary);
1072
+ background: color-mix(in srgb, var(--color-secondary), #000 7%);
1073
+ color: var(--color-secondary-text);
1074
+ }
1075
+
1076
+ .button-block {
1077
+ width: 100%;
1078
+ }
1079
+
1080
+ .hero-section {
1081
+ position: relative;
1082
+ overflow: hidden;
1083
+ padding: 86px 0 92px;
1084
+ background:
1085
+ radial-gradient(circle at 72% 35%, color-mix(in srgb, var(--color-secondary), transparent 80%), transparent 28%),
1086
+ linear-gradient(135deg, color-mix(in srgb, var(--color-primary), #fff 92%), var(--store-background));
1087
+ }
1088
+
1089
+ .hero-section-image {
1090
+ display: grid;
1091
+ min-height: clamp(420px, 43vw, 650px);
1092
+ align-items: stretch;
1093
+ padding: 0;
1094
+ background: var(--store-text);
1095
+ }
1096
+
1097
+ .hero-background-image,
1098
+ .hero-background-overlay {
1099
+ position: absolute;
1100
+ inset: 0;
1101
+ width: 100%;
1102
+ height: 100%;
1103
+ }
1104
+
1105
+ .hero-background-image {
1106
+ object-fit: cover;
1107
+ object-position: center;
1108
+ }
1109
+
1110
+ .hero-background-overlay {
1111
+ background: linear-gradient(90deg, rgba(8, 17, 11, 0.78) 0%, rgba(8, 17, 11, 0.48) 46%, rgba(8, 17, 11, 0.08) 78%);
1112
+ }
1113
+
1114
+ .hero-image-content {
1115
+ position: relative;
1116
+ z-index: 2;
1117
+ display: flex;
1118
+ min-height: inherit;
1119
+ align-items: center;
1120
+ padding-block: 72px;
1121
+ }
1122
+
1123
+ .hero-section-image .hero-copy {
1124
+ color: #fff;
1125
+ text-shadow: 0 2px 24px rgba(0, 0, 0, 0.22);
1126
+ }
1127
+
1128
+ .hero-section-image .hero-eyebrow,
1129
+ .hero-section-image .hero-copy p,
1130
+ .hero-section-image .text-link {
1131
+ color: #fff;
1132
+ }
1133
+
1134
+ .hero-section-image .hero-copy p {
1135
+ text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42);
1136
+ }
1137
+
1138
+ .banner-carousel {
1139
+ position: relative;
1140
+ overflow: hidden;
1141
+ background: #e9ece7;
1142
+ }
1143
+
1144
+ .banner-track {
1145
+ display: flex;
1146
+ transition: transform 500ms cubic-bezier(0.22, 0.7, 0.2, 1);
1147
+ }
1148
+
1149
+ .banner-slide {
1150
+ position: relative;
1151
+ flex: 0 0 100%;
1152
+ min-height: clamp(320px, 38vw, 590px);
1153
+ }
1154
+
1155
+ .banner-slide > img,
1156
+ .banner-slide > .store-image-placeholder {
1157
+ position: absolute;
1158
+ inset: 0;
1159
+ width: 100%;
1160
+ height: 100%;
1161
+ object-fit: cover;
1162
+ }
1163
+
1164
+ .banner-overlay {
1165
+ position: absolute;
1166
+ inset: 0;
1167
+ display: flex;
1168
+ align-items: center;
1169
+ background: linear-gradient(90deg, rgba(8, 17, 11, 0.68), rgba(8, 17, 11, 0.05) 68%);
1170
+ color: #fff;
1171
+ }
1172
+
1173
+ .banner-copy {
1174
+ max-width: 590px;
1175
+ }
1176
+
1177
+ .banner-copy h2 {
1178
+ margin: 0;
1179
+ font-size: clamp(38px, 5vw, 68px);
1180
+ letter-spacing: -0.06em;
1181
+ line-height: 1;
1182
+ }
1183
+
1184
+ .banner-copy p {
1185
+ max-width: 520px;
1186
+ margin: 20px 0 0;
1187
+ color: rgba(255, 255, 255, 0.84);
1188
+ font-size: 17px;
1189
+ line-height: 1.65;
1190
+ }
1191
+
1192
+ .banner-copy .button {
1193
+ margin-top: 28px;
1194
+ }
1195
+
1196
+ .carousel-arrow {
1197
+ position: absolute;
1198
+ z-index: 3;
1199
+ top: 50%;
1200
+ display: grid;
1201
+ width: 43px;
1202
+ height: 43px;
1203
+ place-items: center;
1204
+ transform: translateY(-50%);
1205
+ border: 1px solid rgba(255, 255, 255, 0.55);
1206
+ border-radius: 50%;
1207
+ background: rgba(255, 255, 255, 0.9);
1208
+ box-shadow: 0 8px 25px rgba(24, 34, 27, 0.15);
1209
+ color: var(--store-text);
1210
+ cursor: pointer;
1211
+ font-size: 28px;
1212
+ }
1213
+
1214
+ .carousel-arrow-prev { left: 20px; }
1215
+ .carousel-arrow-next { right: 20px; }
1216
+
1217
+ .carousel-dots {
1218
+ position: absolute;
1219
+ z-index: 3;
1220
+ bottom: 18px;
1221
+ left: 50%;
1222
+ display: flex;
1223
+ gap: 7px;
1224
+ transform: translateX(-50%);
1225
+ }
1226
+
1227
+ .carousel-dots button {
1228
+ width: 8px;
1229
+ height: 8px;
1230
+ border: 0;
1231
+ border-radius: 999px;
1232
+ background: rgba(255, 255, 255, 0.55);
1233
+ padding: 0;
1234
+ cursor: pointer;
1235
+ transition: width 160ms ease, background 160ms ease;
1236
+ }
1237
+
1238
+ .carousel-dots button.active {
1239
+ width: 28px;
1240
+ background: #fff;
1241
+ }
1242
+
1243
+ .hero-grid {
1244
+ display: grid;
1245
+ grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
1246
+ align-items: center;
1247
+ gap: 72px;
1248
+ }
1249
+
1250
+ .hero-copy {
1251
+ max-width: 680px;
1252
+ }
1253
+
1254
+ .hero-eyebrow,
1255
+ .catalog-hero > div > span,
1256
+ .page-heading > span,
1257
+ .section-heading > div > span {
1258
+ display: inline-block;
1259
+ margin-bottom: 16px;
1260
+ color: var(--color-secondary);
1261
+ font-size: 12px;
1262
+ font-weight: 900;
1263
+ letter-spacing: 0.14em;
1264
+ text-transform: uppercase;
1265
+ }
1266
+
1267
+ .hero-copy h1 {
1268
+ max-width: 720px;
1269
+ margin: 0;
1270
+ font-size: clamp(46px, 6vw, 78px);
1271
+ font-weight: 850;
1272
+ letter-spacing: -0.065em;
1273
+ line-height: 0.98;
1274
+ }
1275
+
1276
+ .hero-copy p {
1277
+ max-width: 590px;
1278
+ margin: 28px 0 0;
1279
+ color: var(--store-muted);
1280
+ font-size: clamp(17px, 2vw, 20px);
1281
+ line-height: 1.7;
1282
+ }
1283
+
1284
+ .hero-actions {
1285
+ display: flex;
1286
+ align-items: center;
1287
+ gap: 26px;
1288
+ margin-top: 34px;
1289
+ }
1290
+
1291
+ .text-link {
1292
+ font-size: 14px;
1293
+ font-weight: 800;
1294
+ }
1295
+
1296
+ .text-link span {
1297
+ margin-left: 6px;
1298
+ }
1299
+
1300
+ .hero-art {
1301
+ position: relative;
1302
+ min-height: 450px;
1303
+ }
1304
+
1305
+ .hero-seven {
1306
+ position: absolute;
1307
+ inset: 50% auto auto 50%;
1308
+ display: grid;
1309
+ width: 270px;
1310
+ height: 330px;
1311
+ place-items: center;
1312
+ transform: translate(-50%, -50%) rotate(4deg);
1313
+ border-radius: 110px 24px 110px 24px;
1314
+ background: var(--color-primary);
1315
+ box-shadow: 0 36px 80px color-mix(in srgb, var(--color-primary), transparent 62%);
1316
+ color: #fff;
1317
+ font-size: 220px;
1318
+ font-weight: 900;
1319
+ line-height: 1;
1320
+ }
1321
+
1322
+ .hero-orbit {
1323
+ position: absolute;
1324
+ inset: 50% auto auto 50%;
1325
+ border: 1px solid color-mix(in srgb, var(--color-primary), transparent 70%);
1326
+ border-radius: 50%;
1327
+ transform: translate(-50%, -50%);
1328
+ }
1329
+
1330
+ .hero-orbit-one {
1331
+ width: 390px;
1332
+ height: 390px;
1333
+ }
1334
+
1335
+ .hero-orbit-two {
1336
+ width: 490px;
1337
+ height: 490px;
1338
+ }
1339
+
1340
+ .hero-card {
1341
+ position: absolute;
1342
+ z-index: 2;
1343
+ border: 1px solid rgba(255, 255, 255, 0.75);
1344
+ border-radius: 999px;
1345
+ background: rgba(255, 255, 255, 0.88);
1346
+ box-shadow: 0 16px 45px rgba(24, 34, 27, 0.12);
1347
+ padding: 13px 18px;
1348
+ font-size: 12px;
1349
+ font-weight: 800;
1350
+ backdrop-filter: blur(10px);
1351
+ }
1352
+
1353
+ .hero-card-top {
1354
+ top: 15%;
1355
+ right: 0;
1356
+ }
1357
+
1358
+ .hero-card-bottom {
1359
+ bottom: 15%;
1360
+ left: 0;
1361
+ }
1362
+
1363
+ .store-section {
1364
+ padding: 88px 0;
1365
+ }
1366
+
1367
+ .editorial-section {
1368
+ border-top: 1px solid var(--store-line);
1369
+ background: var(--store-surface);
1370
+ text-align: center;
1371
+ }
1372
+
1373
+ .editorial-content {
1374
+ max-width: 820px;
1375
+ }
1376
+
1377
+ .editorial-content > span {
1378
+ display: block;
1379
+ margin-bottom: 12px;
1380
+ color: var(--color-primary);
1381
+ font-size: 11px;
1382
+ font-weight: 900;
1383
+ letter-spacing: 0.14em;
1384
+ text-transform: uppercase;
1385
+ }
1386
+
1387
+ .editorial-content h2 {
1388
+ margin: 0;
1389
+ font-size: clamp(32px, 4vw, 50px);
1390
+ letter-spacing: -0.05em;
1391
+ }
1392
+
1393
+ .editorial-content p {
1394
+ margin: 20px auto 0;
1395
+ color: var(--store-muted);
1396
+ font-size: 17px;
1397
+ line-height: 1.75;
1398
+ white-space: pre-line;
1399
+ }
1400
+
1401
+ .editorial-content .button {
1402
+ margin-top: 28px;
1403
+ }
1404
+
1405
+ .image-text-section {
1406
+ background: var(--store-surface);
1407
+ }
1408
+
1409
+ .image-text-layout {
1410
+ display: grid;
1411
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
1412
+ align-items: center;
1413
+ gap: 64px;
1414
+ }
1415
+
1416
+ .image-text-layout[data-position="right"] .image-text-media {
1417
+ order: 2;
1418
+ }
1419
+
1420
+ .image-text-media {
1421
+ overflow: hidden;
1422
+ aspect-ratio: 4 / 3;
1423
+ border-radius: var(--border-radius);
1424
+ background: #eef0ea;
1425
+ }
1426
+
1427
+ .image-text-media img,
1428
+ .image-text-media .store-image-placeholder {
1429
+ width: 100%;
1430
+ height: 100%;
1431
+ object-fit: cover;
1432
+ }
1433
+
1434
+ .image-text-copy > span {
1435
+ color: var(--color-primary);
1436
+ font-size: 11px;
1437
+ font-weight: 900;
1438
+ letter-spacing: 0.14em;
1439
+ text-transform: uppercase;
1440
+ }
1441
+
1442
+ .image-text-copy h2 {
1443
+ margin: 12px 0 0;
1444
+ font-size: clamp(34px, 4vw, 52px);
1445
+ letter-spacing: -0.05em;
1446
+ }
1447
+
1448
+ .image-text-copy p {
1449
+ margin: 20px 0 0;
1450
+ color: var(--store-muted);
1451
+ font-size: 17px;
1452
+ line-height: 1.75;
1453
+ white-space: pre-line;
1454
+ }
1455
+
1456
+ .editorial-grid {
1457
+ display: grid;
1458
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1459
+ gap: 24px;
1460
+ }
1461
+
1462
+ .editorial-card {
1463
+ overflow: hidden;
1464
+ border: 1px solid var(--store-line);
1465
+ border-radius: var(--border-radius);
1466
+ background: var(--store-surface);
1467
+ transition: transform 180ms ease, box-shadow 180ms ease;
1468
+ }
1469
+
1470
+ .editorial-card:hover {
1471
+ transform: translateY(-4px);
1472
+ box-shadow: 0 20px 50px rgba(24, 34, 27, 0.1);
1473
+ }
1474
+
1475
+ .editorial-card-image {
1476
+ display: block;
1477
+ overflow: hidden;
1478
+ aspect-ratio: 16 / 10;
1479
+ background: #eef0ea;
1480
+ }
1481
+
1482
+ .editorial-card-image img,
1483
+ .editorial-card-image .store-image-placeholder {
1484
+ width: 100%;
1485
+ height: 100%;
1486
+ object-fit: cover;
1487
+ }
1488
+
1489
+ .editorial-card-content {
1490
+ padding: 24px;
1491
+ }
1492
+
1493
+ .editorial-card-content > span,
1494
+ .article-header > span {
1495
+ display: block;
1496
+ margin-bottom: 10px;
1497
+ color: var(--color-secondary);
1498
+ font-size: 10px;
1499
+ font-weight: 900;
1500
+ letter-spacing: 0.13em;
1501
+ text-transform: uppercase;
1502
+ }
1503
+
1504
+ .editorial-card h2 {
1505
+ margin: 0;
1506
+ font-size: 21px;
1507
+ letter-spacing: -0.035em;
1508
+ line-height: 1.25;
1509
+ }
1510
+
1511
+ .editorial-card p {
1512
+ display: -webkit-box;
1513
+ overflow: hidden;
1514
+ min-height: 62px;
1515
+ margin: 12px 0 18px;
1516
+ color: var(--store-muted);
1517
+ font-size: 14px;
1518
+ line-height: 1.55;
1519
+ -webkit-box-orient: vertical;
1520
+ -webkit-line-clamp: 3;
1521
+ }
1522
+
1523
+ .article-page {
1524
+ padding: 32px 0 100px;
1525
+ }
1526
+
1527
+ .article-shell {
1528
+ max-width: 1040px;
1529
+ }
1530
+
1531
+ .article-header {
1532
+ max-width: 830px;
1533
+ margin: 64px auto 42px;
1534
+ text-align: center;
1535
+ }
1536
+
1537
+ .article-header h1 {
1538
+ margin: 0;
1539
+ font-size: clamp(42px, 6vw, 72px);
1540
+ letter-spacing: -0.06em;
1541
+ line-height: 1;
1542
+ }
1543
+
1544
+ .article-header p {
1545
+ margin: 22px auto 0;
1546
+ color: var(--store-muted);
1547
+ font-size: 18px;
1548
+ line-height: 1.65;
1549
+ }
1550
+
1551
+ .article-header small {
1552
+ display: block;
1553
+ margin-top: 18px;
1554
+ color: var(--store-muted);
1555
+ }
1556
+
1557
+ .article-cover {
1558
+ overflow: hidden;
1559
+ max-height: 620px;
1560
+ border-radius: var(--border-radius);
1561
+ background: #eef0ea;
1562
+ }
1563
+
1564
+ .article-cover img,
1565
+ .article-cover .store-image-placeholder {
1566
+ width: 100%;
1567
+ max-height: 620px;
1568
+ object-fit: cover;
1569
+ }
1570
+
1571
+ .article-content {
1572
+ max-width: 780px;
1573
+ margin: 50px auto 0;
1574
+ }
1575
+
1576
+ .content-renderer {
1577
+ display: grid;
1578
+ gap: 24px;
1579
+ color: color-mix(in srgb, var(--store-text), transparent 8%);
1580
+ font-size: 17px;
1581
+ line-height: 1.8;
1582
+ }
1583
+
1584
+ .content-renderer h2,
1585
+ .content-renderer h3 {
1586
+ margin: 18px 0 0;
1587
+ color: var(--store-text);
1588
+ letter-spacing: -0.04em;
1589
+ line-height: 1.18;
1590
+ }
1591
+
1592
+ .content-renderer h2 { font-size: 34px; }
1593
+ .content-renderer h3 { font-size: 25px; }
1594
+ .content-renderer p { margin: 0; }
1595
+ .content-renderer ul,
1596
+ .content-renderer ol { margin: 0; padding-left: 26px; }
1597
+ .content-renderer blockquote { margin: 8px 0; border-left: 4px solid var(--color-primary); padding: 8px 0 8px 24px; font-size: 20px; font-style: italic; }
1598
+ .content-renderer blockquote cite { display: block; margin-top: 8px; color: var(--store-muted); font-size: 13px; font-style: normal; }
1599
+ .content-renderer hr { width: 100%; border: 0; border-top: 1px solid var(--store-line); }
1600
+ .content-renderer figure { margin: 10px 0; }
1601
+ .content-renderer figure img,
1602
+ .content-renderer figure .store-image-placeholder { width: 100%; max-height: 540px; border-radius: 14px; object-fit: contain; }
1603
+ .content-renderer figcaption { margin-top: 8px; color: var(--store-muted); font-size: 12px; text-align: center; }
1604
+
1605
+ .content-image-text {
1606
+ display: flex;
1607
+ align-items: center;
1608
+ gap: 32px;
1609
+ }
1610
+
1611
+ .content-image-text[data-position="right"] figure { order: 2; }
1612
+ .content-image-text figure { flex: 0 0 var(--content-media); }
1613
+ .content-image-text > div { flex: 1; }
1614
+ .content-image-text h2 { margin-top: 0; }
1615
+ .content-table { overflow-x: auto; }
1616
+ .content-table table { width: 100%; border-collapse: collapse; }
1617
+ .content-table td { border: 1px solid var(--store-line); padding: 10px 12px; }
1618
+ .legacy-content { color: var(--store-muted); font-size: 17px; line-height: 1.8; white-space: pre-line; }
1619
+
1620
+ .section-heading {
1621
+ display: flex;
1622
+ align-items: end;
1623
+ justify-content: space-between;
1624
+ gap: 24px;
1625
+ margin-bottom: 34px;
1626
+ }
1627
+
1628
+ .section-heading h2,
1629
+ .catalog-hero h1,
1630
+ .page-heading h1 {
1631
+ margin: 0;
1632
+ font-size: clamp(34px, 4vw, 52px);
1633
+ letter-spacing: -0.05em;
1634
+ line-height: 1.05;
1635
+ }
1636
+
1637
+ .section-heading a {
1638
+ border-bottom: 1px solid currentColor;
1639
+ padding-bottom: 4px;
1640
+ color: var(--color-secondary);
1641
+ font-size: 14px;
1642
+ font-weight: 800;
1643
+ }
1644
+
1645
+ .product-grid {
1646
+ display: grid;
1647
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1648
+ gap: 22px;
1649
+ }
1650
+
1651
+ .product-grid[data-columns="3"] {
1652
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1653
+ }
1654
+
1655
+ .product-grid[data-columns="4"] {
1656
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1657
+ }
1658
+
1659
+ .product-carousel {
1660
+ position: relative;
1661
+ }
1662
+
1663
+ .product-carousel-track {
1664
+ display: flex;
1665
+ align-items: stretch;
1666
+ overflow-x: auto;
1667
+ gap: 22px;
1668
+ padding: 5px 2px 25px;
1669
+ scroll-behavior: smooth;
1670
+ scroll-snap-type: x mandatory;
1671
+ scrollbar-width: none;
1672
+ }
1673
+
1674
+ .product-carousel-track::-webkit-scrollbar { display: none; }
1675
+
1676
+ .product-carousel-item {
1677
+ display: flex;
1678
+ flex: 0 0 calc((100% - 66px) / 4);
1679
+ min-width: 250px;
1680
+ scroll-snap-align: start;
1681
+ }
1682
+
1683
+ .product-carousel .carousel-arrow {
1684
+ top: 42%;
1685
+ border-color: var(--store-line);
1686
+ }
1687
+
1688
+ .product-carousel .carousel-arrow-prev { left: -21px; }
1689
+ .product-carousel .carousel-arrow-next { right: -21px; }
1690
+
1691
+ .product-card {
1692
+ display: flex;
1693
+ width: 100%;
1694
+ height: 100%;
1695
+ flex-direction: column;
1696
+ overflow: hidden;
1697
+ border: 1px solid var(--store-line);
1698
+ border-radius: var(--border-radius);
1699
+ background: var(--store-surface);
1700
+ transition: transform 180ms ease, box-shadow 180ms ease;
1701
+ }
1702
+
1703
+ .product-card:hover {
1704
+ transform: translateY(-4px);
1705
+ box-shadow: 0 20px 50px rgba(24, 34, 27, 0.1);
1706
+ }
1707
+
1708
+ .product-card-image {
1709
+ position: relative;
1710
+ display: block;
1711
+ overflow: hidden;
1712
+ aspect-ratio: 1 / 1;
1713
+ background: var(--store-surface-alt);
1714
+ }
1715
+
1716
+ .product-card-image img,
1717
+ .product-card-image > .store-image-placeholder {
1718
+ width: 100%;
1719
+ height: 100%;
1720
+ object-fit: cover;
1721
+ transition: transform 300ms ease;
1722
+ }
1723
+
1724
+ .product-card:hover .product-card-image img {
1725
+ transform: scale(1.035);
1726
+ }
1727
+
1728
+ .store-image-placeholder {
1729
+ display: grid;
1730
+ place-items: center;
1731
+ background:
1732
+ radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--color-secondary), transparent 68%), transparent 28%),
1733
+ color-mix(in srgb, var(--color-primary), #fff 90%);
1734
+ color: color-mix(in srgb, var(--color-primary), transparent 78%);
1735
+ }
1736
+
1737
+ .store-image-placeholder span {
1738
+ font-size: 96px;
1739
+ font-weight: 900;
1740
+ }
1741
+
1742
+ .product-card-content {
1743
+ display: flex;
1744
+ flex: 1;
1745
+ flex-direction: column;
1746
+ padding: 20px;
1747
+ }
1748
+
1749
+ .product-category {
1750
+ display: block;
1751
+ margin-bottom: 8px;
1752
+ color: var(--color-accent);
1753
+ font-size: 10px;
1754
+ font-weight: 900;
1755
+ letter-spacing: 0.12em;
1756
+ text-transform: uppercase;
1757
+ }
1758
+
1759
+ .product-category-empty {
1760
+ visibility: hidden;
1761
+ }
1762
+
1763
+ .product-card h3 {
1764
+ display: -webkit-box;
1765
+ min-height: 48px;
1766
+ overflow: hidden;
1767
+ margin: 0;
1768
+ font-size: 18px;
1769
+ letter-spacing: -0.025em;
1770
+ line-height: 1.35;
1771
+ -webkit-box-orient: vertical;
1772
+ -webkit-line-clamp: 2;
1773
+ }
1774
+
1775
+ .product-card-description {
1776
+ display: -webkit-box;
1777
+ min-height: 42px;
1778
+ overflow: hidden;
1779
+ margin: 10px 0 18px;
1780
+ color: var(--store-muted);
1781
+ font-size: 13px;
1782
+ line-height: 1.55;
1783
+ -webkit-box-orient: vertical;
1784
+ -webkit-line-clamp: 2;
1785
+ }
1786
+
1787
+ .product-card-content > .button {
1788
+ margin-top: auto;
1789
+ }
1790
+
1791
+ .benefits-section {
1792
+ border-top: 1px solid var(--store-line);
1793
+ border-bottom: 1px solid var(--store-line);
1794
+ background: var(--store-surface);
1795
+ padding: 34px 0;
1796
+ }
1797
+
1798
+ .benefits-grid {
1799
+ display: grid;
1800
+ grid-template-columns: repeat(3, 1fr);
1801
+ }
1802
+
1803
+ .benefits-grid > div {
1804
+ display: flex;
1805
+ flex-direction: column;
1806
+ gap: 6px;
1807
+ padding: 6px 36px;
1808
+ text-align: center;
1809
+ }
1810
+
1811
+ .benefits-grid > div + div {
1812
+ border-left: 1px solid var(--store-line);
1813
+ }
1814
+
1815
+ .benefits-grid strong {
1816
+ font-size: 14px;
1817
+ }
1818
+
1819
+ .benefits-grid span {
1820
+ color: var(--store-muted);
1821
+ font-size: 12px;
1822
+ }
1823
+
1824
+ .catalog-hero {
1825
+ border-bottom: 1px solid var(--store-line);
1826
+ background: color-mix(in srgb, var(--color-primary), #fff 94%);
1827
+ padding: 64px 0;
1828
+ }
1829
+
1830
+ .catalog-hero p {
1831
+ max-width: 600px;
1832
+ margin: 15px 0 0;
1833
+ color: var(--store-muted);
1834
+ line-height: 1.6;
1835
+ }
1836
+
1837
+ .catalog-layout {
1838
+ display: grid;
1839
+ grid-template-columns: 270px minmax(0, 1fr);
1840
+ gap: 44px;
1841
+ padding-top: 54px;
1842
+ padding-bottom: 90px;
1843
+ }
1844
+
1845
+ .category-filter {
1846
+ display: flex;
1847
+ flex-direction: column;
1848
+ align-items: flex-start;
1849
+ gap: 4px;
1850
+ }
1851
+
1852
+ .category-filter strong {
1853
+ margin-bottom: 12px;
1854
+ font-size: 15px;
1855
+ }
1856
+
1857
+ .category-filter a {
1858
+ width: 100%;
1859
+ border-radius: 10px;
1860
+ padding: 10px 12px;
1861
+ color: var(--store-muted);
1862
+ font-size: 13px;
1863
+ font-weight: 700;
1864
+ }
1865
+
1866
+ .category-filter a:hover,
1867
+ .category-filter a.active {
1868
+ background: color-mix(in srgb, var(--color-primary), #fff 91%);
1869
+ color: var(--color-primary);
1870
+ }
1871
+
1872
+ .catalog-filters {
1873
+ position: sticky;
1874
+ top: 146px;
1875
+ overflow: hidden;
1876
+ align-items: stretch;
1877
+ align-self: start;
1878
+ gap: 0;
1879
+ border: 1px solid var(--store-line);
1880
+ border-radius: 16px;
1881
+ background: var(--store-surface);
1882
+ padding: 18px;
1883
+ }
1884
+
1885
+ .catalog-filter-form > label,
1886
+ .catalog-filter-section > strong,
1887
+ .catalog-filter-section > legend {
1888
+ display: block;
1889
+ margin: 0 0 11px;
1890
+ color: var(--store-text);
1891
+ font-size: 13px;
1892
+ font-weight: 850;
1893
+ }
1894
+
1895
+ .catalog-filter-search {
1896
+ position: relative;
1897
+ }
1898
+
1899
+ .catalog-filter-search input {
1900
+ width: 100%;
1901
+ height: 42px;
1902
+ border: 1px solid var(--store-line);
1903
+ border-radius: 10px;
1904
+ outline: 0;
1905
+ background: var(--store-background);
1906
+ padding: 0 42px 0 12px;
1907
+ color: var(--store-text);
1908
+ font-size: 13px;
1909
+ }
1910
+
1911
+ .catalog-filter-search input:focus {
1912
+ border-color: var(--color-primary);
1913
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary), transparent 88%);
1914
+ }
1915
+
1916
+ .catalog-filter-search button {
1917
+ position: absolute;
1918
+ top: 50%;
1919
+ right: 5px;
1920
+ display: grid;
1921
+ width: 32px;
1922
+ height: 32px;
1923
+ place-items: center;
1924
+ transform: translateY(-50%);
1925
+ border: 0;
1926
+ border-radius: 8px;
1927
+ background: var(--color-primary);
1928
+ color: #fff;
1929
+ cursor: pointer;
1930
+ }
1931
+
1932
+ .catalog-filter-search svg {
1933
+ width: 15px;
1934
+ fill: none;
1935
+ stroke: currentColor;
1936
+ stroke-width: 2;
1937
+ }
1938
+
1939
+ .catalog-filter-section {
1940
+ width: 100%;
1941
+ margin: 18px 0 0;
1942
+ border: 0;
1943
+ border-top: 1px solid var(--store-line);
1944
+ padding: 18px 0 0;
1945
+ }
1946
+
1947
+ .catalog-category-tree a {
1948
+ display: flex;
1949
+ min-height: 36px;
1950
+ align-items: center;
1951
+ gap: 7px;
1952
+ padding-block: 8px;
1953
+ }
1954
+
1955
+ .category-filter-node {
1956
+ width: 100%;
1957
+ }
1958
+
1959
+ .catalog-variant-filters {
1960
+ width: 100%;
1961
+ }
1962
+
1963
+ .catalog-filter-checkbox {
1964
+ display: grid;
1965
+ grid-template-columns: 17px minmax(0, 1fr) auto;
1966
+ align-items: center;
1967
+ gap: 9px;
1968
+ min-height: 34px;
1969
+ color: var(--store-muted);
1970
+ font-size: 13px;
1971
+ cursor: pointer;
1972
+ }
1973
+
1974
+ .catalog-filter-checkbox input {
1975
+ width: 16px;
1976
+ height: 16px;
1977
+ accent-color: var(--color-primary);
1978
+ }
1979
+
1980
+ .catalog-filter-checkbox:has(input:checked) span {
1981
+ color: var(--color-primary);
1982
+ font-weight: 800;
1983
+ }
1984
+
1985
+ .catalog-filter-checkbox small {
1986
+ display: grid;
1987
+ min-width: 23px;
1988
+ height: 23px;
1989
+ place-items: center;
1990
+ border-radius: 999px;
1991
+ background: var(--store-background);
1992
+ color: var(--store-muted);
1993
+ font-size: 10px;
1994
+ font-weight: 800;
1995
+ }
1996
+
1997
+ .catalog-variant-filters > .button {
1998
+ margin-top: 18px;
1999
+ }
2000
+
2001
+ .catalog-clear-filters {
2002
+ margin-top: 12px;
2003
+ border: 1px solid var(--store-line);
2004
+ text-align: center;
2005
+ }
2006
+
2007
+ .catalog-active-filters {
2008
+ display: flex;
2009
+ flex-wrap: wrap;
2010
+ gap: 8px;
2011
+ margin: -3px 0 18px;
2012
+ }
2013
+
2014
+ .catalog-active-filters a {
2015
+ display: inline-flex;
2016
+ min-height: 31px;
2017
+ align-items: center;
2018
+ gap: 8px;
2019
+ border: 1px solid color-mix(in srgb, var(--color-primary), transparent 72%);
2020
+ border-radius: 999px;
2021
+ background: color-mix(in srgb, var(--color-primary), #fff 93%);
2022
+ padding: 5px 10px;
2023
+ color: var(--color-primary);
2024
+ font-size: 11px;
2025
+ font-weight: 800;
2026
+ }
2027
+
2028
+ .catalog-active-filters a:hover {
2029
+ border-color: var(--color-primary);
2030
+ }
2031
+
2032
+ .catalog-toolbar {
2033
+ display: flex;
2034
+ justify-content: flex-end;
2035
+ margin-bottom: 18px;
2036
+ color: var(--store-muted);
2037
+ font-size: 12px;
2038
+ font-weight: 700;
2039
+ }
2040
+
2041
+ .catalog-pagination {
2042
+ display: flex;
2043
+ align-items: center;
2044
+ justify-content: space-between;
2045
+ gap: 14px;
2046
+ margin-top: 34px;
2047
+ border-top: 1px solid var(--store-line);
2048
+ padding-top: 24px;
2049
+ }
2050
+
2051
+ .catalog-pagination > a,
2052
+ .catalog-pagination-item > a {
2053
+ display: inline-flex;
2054
+ min-height: 42px;
2055
+ align-items: center;
2056
+ justify-content: center;
2057
+ gap: 7px;
2058
+ border: 1px solid var(--store-line);
2059
+ border-radius: 999px;
2060
+ padding: 9px 15px;
2061
+ background: var(--store-surface);
2062
+ color: var(--store-text);
2063
+ font-size: 12px;
2064
+ font-weight: 800;
2065
+ }
2066
+
2067
+ .catalog-pagination-pages {
2068
+ display: flex;
2069
+ align-items: center;
2070
+ gap: 6px;
2071
+ }
2072
+
2073
+ .catalog-pagination-item {
2074
+ display: inline-flex;
2075
+ align-items: center;
2076
+ gap: 6px;
2077
+ }
2078
+
2079
+ .catalog-pagination-item > a {
2080
+ width: 42px;
2081
+ padding-inline: 0;
2082
+ }
2083
+
2084
+ .catalog-pagination-item > a.active {
2085
+ border-color: var(--color-primary);
2086
+ background: var(--color-primary);
2087
+ color: #fff;
2088
+ }
2089
+
2090
+ .catalog-pagination > a:hover,
2091
+ .catalog-pagination-item > a:not(.active):hover {
2092
+ border-color: var(--color-primary);
2093
+ color: var(--color-primary);
2094
+ }
2095
+
2096
+ .catalog-pagination > a.disabled {
2097
+ opacity: 0.4;
2098
+ pointer-events: none;
2099
+ }
2100
+
2101
+ .catalog-pagination-ellipsis {
2102
+ padding-inline: 3px;
2103
+ color: var(--store-muted);
2104
+ }
2105
+
2106
+ .product-page {
2107
+ padding: 28px 0 100px;
2108
+ }
2109
+
2110
+ .breadcrumbs {
2111
+ display: flex;
2112
+ overflow: hidden;
2113
+ align-items: center;
2114
+ gap: 9px;
2115
+ margin-bottom: 30px;
2116
+ color: var(--store-muted);
2117
+ font-size: 12px;
2118
+ white-space: nowrap;
2119
+ }
2120
+
2121
+ .breadcrumbs strong {
2122
+ overflow: hidden;
2123
+ color: var(--store-text);
2124
+ text-overflow: ellipsis;
2125
+ }
2126
+
2127
+ .product-detail {
2128
+ display: grid;
2129
+ grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
2130
+ align-items: start;
2131
+ gap: 64px;
2132
+ }
2133
+
2134
+ .product-main-image {
2135
+ position: relative;
2136
+ overflow: hidden;
2137
+ aspect-ratio: 1 / 1;
2138
+ border: 1px solid var(--store-line);
2139
+ border-radius: var(--border-radius);
2140
+ background: var(--store-surface);
2141
+ }
2142
+
2143
+ .product-image-magnifier {
2144
+ cursor: default;
2145
+ }
2146
+
2147
+ .product-image-magnifier[data-zoom-enabled="true"] {
2148
+ cursor: zoom-in;
2149
+ }
2150
+
2151
+ .product-zoom-toggle {
2152
+ position: absolute;
2153
+ z-index: 5;
2154
+ top: 14px;
2155
+ right: 14px;
2156
+ display: none;
2157
+ min-height: 38px;
2158
+ align-items: center;
2159
+ gap: 7px;
2160
+ border: 1px solid rgba(15, 23, 42, 0.14);
2161
+ border-radius: 999px;
2162
+ background: rgba(255, 255, 255, 0.92);
2163
+ padding: 8px 12px;
2164
+ color: var(--store-muted);
2165
+ font: inherit;
2166
+ font-size: 12px;
2167
+ font-weight: 800;
2168
+ cursor: pointer;
2169
+ box-shadow: 0 5px 18px rgba(15, 23, 42, 0.12);
2170
+ backdrop-filter: blur(8px);
2171
+ transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
2172
+ }
2173
+
2174
+ .product-zoom-toggle:hover {
2175
+ border-color: var(--color-primary);
2176
+ color: var(--color-primary);
2177
+ transform: translateY(-1px);
2178
+ }
2179
+
2180
+ .product-zoom-toggle.active {
2181
+ background: var(--color-primary);
2182
+ color: #fff;
2183
+ }
2184
+
2185
+ .product-zoom-toggle svg {
2186
+ width: 17px;
2187
+ height: 17px;
2188
+ fill: none;
2189
+ stroke: currentColor;
2190
+ stroke-width: 1.8;
2191
+ stroke-linecap: round;
2192
+ stroke-linejoin: round;
2193
+ }
2194
+
2195
+ .product-zoom-toggle .zoom-off-line {
2196
+ stroke-width: 2.4;
2197
+ }
2198
+
2199
+ .product-zoom-lens {
2200
+ pointer-events: none;
2201
+ position: absolute;
2202
+ z-index: 3;
2203
+ display: none;
2204
+ aspect-ratio: 1;
2205
+ transform: translate(-50%, -50%) scale(0.92);
2206
+ border: 3px solid rgba(255, 255, 255, 0.95);
2207
+ border-radius: 50%;
2208
+ background-color: var(--store-surface);
2209
+ background-repeat: no-repeat;
2210
+ box-shadow: 0 10px 32px rgba(15, 23, 42, 0.3), 0 0 0 1px rgba(15, 23, 42, 0.15);
2211
+ opacity: 0;
2212
+ transition: opacity 120ms ease, transform 120ms ease;
2213
+ }
2214
+
2215
+ @media (hover: hover) and (pointer: fine) {
2216
+ .product-zoom-toggle {
2217
+ display: inline-flex;
2218
+ }
2219
+
2220
+ .product-zoom-lens.visible {
2221
+ display: block;
2222
+ transform: translate(-50%, -50%) scale(1);
2223
+ opacity: 1;
2224
+ }
2225
+ }
2226
+
2227
+ .product-main-image img,
2228
+ .product-main-image .store-image-placeholder {
2229
+ width: 100%;
2230
+ height: 100%;
2231
+ object-fit: contain;
2232
+ }
2233
+
2234
+ .product-main-image > [data-product-main-image] {
2235
+ display: block;
2236
+ width: 100%;
2237
+ height: 100%;
2238
+ }
2239
+
2240
+ .product-main-image > [data-product-main-image][hidden] {
2241
+ display: none;
2242
+ }
2243
+
2244
+ .product-thumbnails {
2245
+ display: grid;
2246
+ grid-template-columns: repeat(5, 1fr);
2247
+ gap: 10px;
2248
+ margin-top: 12px;
2249
+ }
2250
+
2251
+ .product-thumbnails > button {
2252
+ overflow: hidden;
2253
+ aspect-ratio: 1;
2254
+ border: 1px solid var(--store-line);
2255
+ border-radius: 10px;
2256
+ background: var(--store-surface);
2257
+ padding: 0;
2258
+ cursor: pointer;
2259
+ transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
2260
+ }
2261
+
2262
+ .product-thumbnails > button:hover {
2263
+ border-color: var(--color-primary);
2264
+ transform: translateY(-1px);
2265
+ }
2266
+
2267
+ .product-thumbnails > button.active {
2268
+ border-color: var(--color-primary);
2269
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary), transparent 72%);
2270
+ }
2271
+
2272
+ .product-thumbnails img,
2273
+ .product-thumbnails .store-image-placeholder {
2274
+ width: 100%;
2275
+ height: 100%;
2276
+ object-fit: cover;
2277
+ }
2278
+
2279
+ .product-info {
2280
+ position: sticky;
2281
+ top: 122px;
2282
+ min-width: 0;
2283
+ width: 100%;
2284
+ padding-top: 16px;
2285
+ }
2286
+
2287
+ .product-info h1 {
2288
+ max-width: 100%;
2289
+ margin: 0;
2290
+ font-size: clamp(36px, 4vw, 56px);
2291
+ letter-spacing: -0.055em;
2292
+ line-height: 1.04;
2293
+ overflow-wrap: anywhere;
2294
+ word-break: break-word;
2295
+ hyphens: auto;
2296
+ }
2297
+
2298
+ .product-description {
2299
+ margin: 26px 0;
2300
+ color: var(--store-muted);
2301
+ font-size: 16px;
2302
+ line-height: 1.75;
2303
+ white-space: pre-line;
2304
+ }
2305
+
2306
+ .product-description > :first-child {
2307
+ margin-top: 0;
2308
+ }
2309
+
2310
+ .product-description > :last-child {
2311
+ margin-bottom: 0;
2312
+ }
2313
+
2314
+ .product-description p,
2315
+ .product-description ul,
2316
+ .product-description ol,
2317
+ .product-description blockquote,
2318
+ .product-description table,
2319
+ .product-description figure {
2320
+ margin: 0 0 16px;
2321
+ }
2322
+
2323
+ .product-description ul,
2324
+ .product-description ol {
2325
+ padding-left: 24px;
2326
+ }
2327
+
2328
+ .product-description li + li {
2329
+ margin-top: 6px;
2330
+ }
2331
+
2332
+ .product-description h1,
2333
+ .product-description h2,
2334
+ .product-description h3,
2335
+ .product-description h4,
2336
+ .product-description h5,
2337
+ .product-description h6 {
2338
+ margin: 24px 0 10px;
2339
+ color: var(--store-text);
2340
+ font-size: clamp(18px, 2vw, 24px);
2341
+ line-height: 1.25;
2342
+ }
2343
+
2344
+ .product-description a {
2345
+ color: var(--color-primary);
2346
+ font-weight: 700;
2347
+ text-decoration: underline;
2348
+ text-underline-offset: 3px;
2349
+ }
2350
+
2351
+ .product-description img {
2352
+ max-width: 100%;
2353
+ height: auto;
2354
+ border-radius: calc(var(--border-radius) * 0.7);
2355
+ }
2356
+
2357
+ .product-description table {
2358
+ display: block;
2359
+ overflow-x: auto;
2360
+ border-collapse: collapse;
2361
+ white-space: normal;
2362
+ }
2363
+
2364
+ .product-description th,
2365
+ .product-description td {
2366
+ border: 1px solid var(--store-line);
2367
+ padding: 9px 12px;
2368
+ text-align: left;
2369
+ }
2370
+
2371
+ .product-description blockquote {
2372
+ border-left: 3px solid var(--color-primary);
2373
+ padding-left: 16px;
2374
+ }
2375
+
2376
+ .product-purchase {
2377
+ max-width: 440px;
2378
+ }
2379
+
2380
+ .variant-selector {
2381
+ display: grid;
2382
+ gap: 18px;
2383
+ margin-bottom: 24px;
2384
+ }
2385
+
2386
+ .variant-selector fieldset {
2387
+ min-width: 0;
2388
+ margin: 0;
2389
+ border: 0;
2390
+ padding: 0;
2391
+ }
2392
+
2393
+ .variant-selector legend {
2394
+ margin-bottom: 9px;
2395
+ color: var(--store-muted);
2396
+ font-size: 13px;
2397
+ }
2398
+
2399
+ .variant-selector legend strong {
2400
+ color: var(--store-text);
2401
+ }
2402
+
2403
+ .variant-values {
2404
+ display: flex;
2405
+ flex-wrap: wrap;
2406
+ gap: 8px;
2407
+ }
2408
+
2409
+ .variant-values button {
2410
+ min-height: 40px;
2411
+ border: 1px solid var(--store-line);
2412
+ border-radius: 10px;
2413
+ background: var(--store-surface);
2414
+ padding: 8px 14px;
2415
+ color: var(--store-text);
2416
+ font: inherit;
2417
+ font-size: 13px;
2418
+ font-weight: 750;
2419
+ cursor: pointer;
2420
+ }
2421
+
2422
+ .variant-values button:hover,
2423
+ .variant-values button.active {
2424
+ border-color: var(--color-primary);
2425
+ background: color-mix(in srgb, var(--color-primary), #fff 91%);
2426
+ color: var(--color-primary);
2427
+ }
2428
+
2429
+ .selected-variant,
2430
+ .variant-unavailable {
2431
+ display: grid;
2432
+ gap: 3px;
2433
+ margin: 0;
2434
+ border-radius: 10px;
2435
+ padding: 12px 14px;
2436
+ font-size: 13px;
2437
+ }
2438
+
2439
+ .selected-variant {
2440
+ background: color-mix(in srgb, var(--color-primary), #fff 93%);
2441
+ }
2442
+
2443
+ .selected-variant span {
2444
+ color: var(--store-muted);
2445
+ font-size: 12px;
2446
+ }
2447
+
2448
+ .variant-unavailable {
2449
+ background: #fff1f2;
2450
+ color: #be123c;
2451
+ font-weight: 700;
2452
+ }
2453
+
2454
+ .purchase-benefits {
2455
+ display: grid;
2456
+ gap: 12px;
2457
+ max-width: 440px;
2458
+ margin-top: 24px;
2459
+ border-top: 1px solid var(--store-line);
2460
+ padding-top: 20px;
2461
+ }
2462
+
2463
+ .purchase-benefits span {
2464
+ display: grid;
2465
+ gap: 3px;
2466
+ color: var(--store-muted);
2467
+ font-size: 12px;
2468
+ }
2469
+
2470
+ .purchase-benefits strong {
2471
+ color: var(--store-text);
2472
+ font-size: 13px;
2473
+ }
2474
+
2475
+ .empty-state {
2476
+ grid-column: 1 / -1;
2477
+ border: 1px dashed var(--store-line);
2478
+ border-radius: var(--border-radius);
2479
+ background: var(--store-surface);
2480
+ padding: 68px 30px;
2481
+ text-align: center;
2482
+ }
2483
+
2484
+ .empty-state > span {
2485
+ display: grid;
2486
+ width: 58px;
2487
+ height: 58px;
2488
+ place-items: center;
2489
+ margin: 0 auto 18px;
2490
+ border-radius: 18px 6px 18px 6px;
2491
+ background: color-mix(in srgb, var(--color-primary), #fff 88%);
2492
+ color: var(--color-primary);
2493
+ font-size: 31px;
2494
+ font-weight: 900;
2495
+ }
2496
+
2497
+ .empty-state h2 {
2498
+ margin: 0;
2499
+ font-size: 24px;
2500
+ }
2501
+
2502
+ .empty-state p {
2503
+ margin: 10px 0 0;
2504
+ color: var(--store-muted);
2505
+ }
2506
+
2507
+ .empty-state .button {
2508
+ margin-top: 24px;
2509
+ }
2510
+
2511
+ .store-footer {
2512
+ background: var(--store-footer-background);
2513
+ color: var(--store-footer-text);
2514
+ padding: 64px 0 22px;
2515
+ }
2516
+
2517
+ .footer-grid {
2518
+ display: grid;
2519
+ grid-template-columns: minmax(260px, 2fr) repeat(auto-fit, minmax(130px, 1fr));
2520
+ gap: 72px;
2521
+ }
2522
+
2523
+ .footer-grid > div {
2524
+ display: flex;
2525
+ flex-direction: column;
2526
+ align-items: flex-start;
2527
+ gap: 10px;
2528
+ }
2529
+
2530
+ .footer-grid strong {
2531
+ margin-bottom: 6px;
2532
+ font-size: 14px;
2533
+ }
2534
+
2535
+ .footer-grid .footer-brand {
2536
+ font-size: 24px;
2537
+ letter-spacing: -0.04em;
2538
+ }
2539
+
2540
+ .footer-grid p,
2541
+ .footer-grid a,
2542
+ .footer-grid span {
2543
+ max-width: 480px;
2544
+ margin: 0;
2545
+ color: color-mix(in srgb, var(--store-footer-text), transparent 38%);
2546
+ font-size: 13px;
2547
+ line-height: 1.65;
2548
+ }
2549
+
2550
+ .footer-grid a:hover {
2551
+ color: var(--store-footer-text);
2552
+ }
2553
+
2554
+ .footer-bottom {
2555
+ display: flex;
2556
+ justify-content: space-between;
2557
+ gap: 20px;
2558
+ margin-top: 48px;
2559
+ border-top: 1px solid color-mix(in srgb, var(--store-footer-text), transparent 88%);
2560
+ padding-top: 22px;
2561
+ color: color-mix(in srgb, var(--store-footer-text), transparent 54%);
2562
+ font-size: 11px;
2563
+ }
2564
+
2565
+ @media (max-width: 1050px) {
2566
+ .header-message {
2567
+ display: none;
2568
+ }
2569
+
2570
+ .header-search-shell {
2571
+ max-width: none;
2572
+ }
2573
+
2574
+ .product-grid,
2575
+ .product-grid[data-columns],
2576
+ .catalog-results .product-grid {
2577
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2578
+ }
2579
+
2580
+ .product-carousel-item {
2581
+ flex-basis: calc((100% - 22px) / 2);
2582
+ }
2583
+
2584
+ .hero-grid {
2585
+ gap: 30px;
2586
+ }
2587
+
2588
+ .hero-art {
2589
+ transform: scale(0.84);
2590
+ }
2591
+ }
2592
+
2593
+ @media (max-width: 800px) {
2594
+ .store-container {
2595
+ width: min(calc(100% - 28px), var(--container-width));
2596
+ }
2597
+
2598
+ .product-carousel .carousel-arrow-prev { left: 8px; }
2599
+ .product-carousel .carousel-arrow-next { right: 8px; }
2600
+
2601
+ .announcement-inner {
2602
+ justify-content: center;
2603
+ }
2604
+
2605
+ .announcement-inner span + span {
2606
+ display: none;
2607
+ }
2608
+
2609
+ .header-inner {
2610
+ display: grid;
2611
+ grid-template-columns: 42px minmax(0, 1fr) 42px;
2612
+ min-height: 66px;
2613
+ padding-top: 10px;
2614
+ padding-bottom: 10px;
2615
+ }
2616
+
2617
+ .main-nav {
2618
+ overflow-x: auto;
2619
+ justify-content: flex-start;
2620
+ min-height: 40px;
2621
+ scrollbar-width: none;
2622
+ white-space: nowrap;
2623
+ }
2624
+
2625
+ .header-search-shell {
2626
+ grid-column: 1 / -1;
2627
+ grid-row: 2;
2628
+ max-width: none;
2629
+ }
2630
+
2631
+ .mobile-menu-trigger { display: grid; }
2632
+ .header-actions { display: none; }
2633
+ .category-nav,
2634
+ .primary-nav-shell { display: none; }
2635
+
2636
+ .brand {
2637
+ grid-column: 2;
2638
+ justify-self: center;
2639
+ max-width: min(180px, 60vw);
2640
+ font-size: 17px;
2641
+ }
2642
+
2643
+ .cart-button {
2644
+ grid-column: 3;
2645
+ justify-self: end;
2646
+ }
2647
+
2648
+ .brand-mark {
2649
+ width: 34px;
2650
+ height: 34px;
2651
+ }
2652
+
2653
+ .brand-logo {
2654
+ max-width: 135px;
2655
+ height: 38px;
2656
+ }
2657
+
2658
+ .header-quote {
2659
+ padding: 9px 12px;
2660
+ font-size: 11px;
2661
+ }
2662
+
2663
+ .header-more-menu summary {
2664
+ min-height: 36px;
2665
+ font-size: 12px;
2666
+ }
2667
+
2668
+ .category-nav a {
2669
+ min-height: 34px;
2670
+ padding: 7px 12px;
2671
+ }
2672
+
2673
+ .category-nav-inner {
2674
+ min-height: 48px;
2675
+ gap: 10px;
2676
+ overflow: visible;
2677
+ }
2678
+
2679
+ .category-nav .all-categories {
2680
+ padding-right: 14px;
2681
+ }
2682
+
2683
+ .category-nav-all-panel {
2684
+ left: 14px;
2685
+ width: min(520px, calc(100vw - 28px));
2686
+ max-height: min(520px, calc(100vh - 165px));
2687
+ transform: none;
2688
+ }
2689
+
2690
+ .category-nav-tree {
2691
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2692
+ }
2693
+
2694
+ .category-nav-submenu {
2695
+ left: 14px;
2696
+ width: calc(100vw - 28px);
2697
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2698
+ transform: none;
2699
+ }
2700
+
2701
+ .hero-section {
2702
+ padding: 62px 0 66px;
2703
+ }
2704
+
2705
+ .hero-section-image {
2706
+ min-height: 500px;
2707
+ padding: 0;
2708
+ }
2709
+
2710
+ .hero-image-content {
2711
+ min-height: inherit;
2712
+ align-items: end;
2713
+ padding-block: 72px 56px;
2714
+ }
2715
+
2716
+ .hero-background-overlay {
2717
+ background: linear-gradient(0deg, rgba(8, 17, 11, 0.86) 0%, rgba(8, 17, 11, 0.38) 62%, rgba(8, 17, 11, 0.08) 100%);
2718
+ }
2719
+
2720
+ .hero-grid {
2721
+ grid-template-columns: 1fr;
2722
+ }
2723
+
2724
+ .hero-copy h1 {
2725
+ font-size: clamp(43px, 13vw, 65px);
2726
+ }
2727
+
2728
+ .hero-copy p {
2729
+ font-size: 16px;
2730
+ }
2731
+
2732
+ .hero-actions {
2733
+ align-items: stretch;
2734
+ flex-direction: column;
2735
+ }
2736
+
2737
+ .hero-actions .text-link {
2738
+ padding-left: 4px;
2739
+ }
2740
+
2741
+ .hero-art {
2742
+ display: none;
2743
+ }
2744
+
2745
+ .banner-slide {
2746
+ min-height: 420px;
2747
+ }
2748
+
2749
+ .banner-overlay {
2750
+ align-items: end;
2751
+ background: linear-gradient(0deg, rgba(8, 17, 11, 0.78), rgba(8, 17, 11, 0.05) 80%);
2752
+ padding-bottom: 55px;
2753
+ }
2754
+
2755
+ .banner-copy h2 {
2756
+ font-size: 38px;
2757
+ }
2758
+
2759
+ .banner-copy p {
2760
+ font-size: 14px;
2761
+ }
2762
+
2763
+ .banner-carousel .carousel-arrow {
2764
+ width: 35px;
2765
+ height: 35px;
2766
+ }
2767
+
2768
+ .banner-carousel .carousel-arrow-prev { left: 8px; }
2769
+ .banner-carousel .carousel-arrow-next { right: 8px; }
2770
+
2771
+ .store-section {
2772
+ padding: 62px 0;
2773
+ }
2774
+
2775
+ .section-heading {
2776
+ align-items: flex-start;
2777
+ flex-direction: column;
2778
+ }
2779
+
2780
+ .benefits-grid {
2781
+ grid-template-columns: 1fr;
2782
+ gap: 24px;
2783
+ }
2784
+
2785
+ .benefits-grid > div + div {
2786
+ border-top: 1px solid var(--store-line);
2787
+ border-left: 0;
2788
+ padding-top: 24px;
2789
+ }
2790
+
2791
+ .catalog-layout {
2792
+ grid-template-columns: 1fr;
2793
+ gap: 28px;
2794
+ }
2795
+
2796
+ .category-filter {
2797
+ overflow-x: auto;
2798
+ align-items: center;
2799
+ flex-direction: row;
2800
+ padding-bottom: 5px;
2801
+ }
2802
+
2803
+ .category-filter strong {
2804
+ display: none;
2805
+ }
2806
+
2807
+ .category-filter a {
2808
+ width: auto;
2809
+ white-space: nowrap;
2810
+ }
2811
+
2812
+ .catalog-filters {
2813
+ position: static;
2814
+ overflow: visible;
2815
+ align-items: stretch;
2816
+ flex-direction: column;
2817
+ padding: 16px;
2818
+ }
2819
+
2820
+ .catalog-filters strong {
2821
+ display: block;
2822
+ }
2823
+
2824
+ .catalog-filters a {
2825
+ width: 100%;
2826
+ white-space: normal;
2827
+ }
2828
+
2829
+ .product-detail {
2830
+ grid-template-columns: 1fr;
2831
+ gap: 28px;
2832
+ }
2833
+
2834
+ .image-text-layout {
2835
+ grid-template-columns: 1fr;
2836
+ gap: 30px;
2837
+ }
2838
+
2839
+ .image-text-layout[data-position="right"] .image-text-media {
2840
+ order: 0;
2841
+ }
2842
+
2843
+ .editorial-grid {
2844
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2845
+ }
2846
+
2847
+ .content-image-text {
2848
+ align-items: stretch;
2849
+ flex-direction: column;
2850
+ }
2851
+
2852
+ .content-image-text[data-position="right"] figure { order: 0; }
2853
+
2854
+ .content-image-text figure { flex-basis: auto; }
2855
+
2856
+ .product-info {
2857
+ position: static;
2858
+ }
2859
+
2860
+ .footer-grid {
2861
+ grid-template-columns: 1fr 1fr;
2862
+ gap: 42px 28px;
2863
+ }
2864
+
2865
+ .footer-grid > div:first-child {
2866
+ grid-column: 1 / -1;
2867
+ }
2868
+ }
2869
+
2870
+ @media (max-width: 520px) {
2871
+ .search-suggestions {
2872
+ max-height: min(430px, calc(100dvh - 155px));
2873
+ border-radius: 14px;
2874
+ }
2875
+
2876
+ .search-suggestions > a:not(.search-all-results) {
2877
+ min-height: 70px;
2878
+ grid-template-columns: 50px minmax(0, 1fr) 24px;
2879
+ gap: 10px;
2880
+ padding: 9px 10px;
2881
+ }
2882
+
2883
+ .search-suggestion-image {
2884
+ width: 50px;
2885
+ height: 50px;
2886
+ }
2887
+
2888
+ .search-suggestions > a > b {
2889
+ display: none;
2890
+ }
2891
+
2892
+ .search-suggestions-heading strong {
2893
+ max-width: 68%;
2894
+ }
2895
+
2896
+ .floating-whatsapp {
2897
+ right: max(16px, env(safe-area-inset-right));
2898
+ bottom: max(16px, env(safe-area-inset-bottom));
2899
+ width: 58px;
2900
+ min-width: 58px;
2901
+ max-width: 58px;
2902
+ height: 58px;
2903
+ justify-content: center;
2904
+ padding: 0;
2905
+ }
2906
+
2907
+ .floating-whatsapp span {
2908
+ position: absolute;
2909
+ width: 1px;
2910
+ height: 1px;
2911
+ overflow: hidden;
2912
+ clip: rect(0 0 0 0);
2913
+ white-space: nowrap;
2914
+ }
2915
+
2916
+ .floating-whatsapp:hover,
2917
+ .floating-whatsapp:focus-visible {
2918
+ max-width: 58px;
2919
+ gap: 0;
2920
+ padding-right: 12px;
2921
+ }
2922
+
2923
+ .product-grid,
2924
+ .product-grid[data-columns],
2925
+ .catalog-results .product-grid,
2926
+ .editorial-grid {
2927
+ grid-template-columns: 1fr;
2928
+ }
2929
+
2930
+ .product-carousel-item {
2931
+ flex-basis: min(84vw, 300px);
2932
+ min-width: min(84vw, 300px);
2933
+ }
2934
+
2935
+ .catalog-pagination {
2936
+ flex-wrap: wrap;
2937
+ }
2938
+
2939
+ .catalog-pagination-pages {
2940
+ order: -1;
2941
+ width: 100%;
2942
+ justify-content: center;
2943
+ }
2944
+
2945
+ .footer-grid {
2946
+ grid-template-columns: 1fr;
2947
+ }
2948
+
2949
+ .footer-grid > div:first-child {
2950
+ grid-column: auto;
2951
+ }
2952
+
2953
+ .footer-bottom {
2954
+ flex-direction: column;
2955
+ }
2956
+ }
2957
+
2958
+ @media (prefers-reduced-motion: reduce) {
2959
+ *,
2960
+ *::before,
2961
+ *::after {
2962
+ scroll-behavior: auto !important;
2963
+ transition-duration: 0.01ms !important;
2964
+ }
2965
+ }