@howssatoshi/quantumcss 1.7.7 → 1.10.1

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,984 @@
1
+ /* ── Variables ── */
2
+ :root {
3
+ --font-display: 'Syne', system-ui, sans-serif;
4
+ --font-body: 'DM Sans', system-ui, sans-serif;
5
+ }
6
+
7
+ /* ── Reset & Base (Custom) ── */
8
+ h1, h2, h3, h4, h5, .display {
9
+ font-family: var(--font-display);
10
+ }
11
+
12
+ /* ── Stars background ── */
13
+ .stars-bg {
14
+ position: fixed;
15
+ inset: 0;
16
+ z-index: 0;
17
+ pointer-events: none;
18
+ overflow: hidden;
19
+ }
20
+
21
+ .star {
22
+ position: absolute;
23
+ border-radius: 50%;
24
+ background: #fff;
25
+ animation: star-twinkle var(--d, 3s) ease-in-out infinite;
26
+ opacity: 0.3;
27
+ }
28
+
29
+ html[data-theme="light"] .star {
30
+ background: var(--q-color-starlight-blue);
31
+ opacity: 0.15;
32
+ }
33
+
34
+ @keyframes star-twinkle {
35
+ 0%, 100% { opacity: 0.15; transform: scale(0.8); }
36
+ 50% { opacity: 0.7; transform: scale(1.2); }
37
+ }
38
+
39
+ /* ── Layout helpers ── */
40
+ .site-wrapper { position: relative; z-index: 1; }
41
+
42
+ /* ── Navbar (Shopping Specific) ── */
43
+ .nav-brand {
44
+ font-family: var(--font-display);
45
+ font-size: 1.5rem;
46
+ font-weight: 800;
47
+ letter-spacing: -.02em;
48
+ text-decoration: none;
49
+ }
50
+
51
+ .nav-links {
52
+ list-style: none;
53
+ margin: 0;
54
+ padding: 0;
55
+ }
56
+
57
+ .nav-links a {
58
+ color: var(--q-text-secondary);
59
+ font-size: .875rem;
60
+ font-weight: 500;
61
+ text-decoration: none;
62
+ transition: color .2s;
63
+ }
64
+
65
+ .nav-links a:hover { color: var(--q-color-starlight-blue); }
66
+
67
+ /* ── Hero ── */
68
+ .hero {
69
+ min-height: 92vh;
70
+ display: flex;
71
+ flex-direction: column;
72
+ align-items: center;
73
+ justify-content: center;
74
+ padding: 5rem 1.5rem 3rem;
75
+ position: relative;
76
+ overflow: hidden;
77
+ width: 100%;
78
+ text-align: center;
79
+ }
80
+
81
+ .hero-glow {
82
+ position: absolute;
83
+ width: 70vw;
84
+ height: 70vw;
85
+ max-width: 900px;
86
+ max-height: 900px;
87
+ border-radius: 50%;
88
+ background: radial-gradient(ellipse at center,
89
+ rgba(0,212,255,.12) 0%,
90
+ rgba(255,179,138,.06) 50%,
91
+ transparent 75%);
92
+ top: 50%;
93
+ left: 50%;
94
+ transform: translate(-50%, -50%);
95
+ pointer-events: none;
96
+ animation: hero-breathe 8s ease-in-out infinite;
97
+ z-index: 1;
98
+ }
99
+
100
+ @keyframes hero-breathe {
101
+ 0%, 100% { transform: translate(-50%,-50%) scale(1); opacity: .8; }
102
+ 50% { transform: translate(-50%,-50%) scale(1.12); opacity: 1; }
103
+ }
104
+
105
+ html[data-theme="light"] .hero-glow {
106
+ opacity: 0.4;
107
+ background: radial-gradient(ellipse at center,
108
+ rgba(0,212,255,.2) 0%,
109
+ rgba(255,179,138,.1) 50%,
110
+ transparent 75%);
111
+ }
112
+
113
+ .hero-content {
114
+ max-width: 780px;
115
+ position: relative;
116
+ z-index: 2;
117
+ display: flex;
118
+ flex-direction: column;
119
+ align-items: center;
120
+ }
121
+
122
+ .hero-eyebrow {
123
+ display: inline-flex;
124
+ align-items: center;
125
+ gap: .5rem;
126
+ background: rgba(0,212,255,.08);
127
+ border: 1px solid rgba(0,212,255,.2);
128
+ border-radius: var(--q-radius-full);
129
+ color: var(--q-color-starlight-blue);
130
+ font-size: .75rem;
131
+ font-weight: 700;
132
+ letter-spacing: .1em;
133
+ text-transform: uppercase;
134
+ padding: .35rem .9rem;
135
+ margin-bottom: 1.75rem;
136
+ }
137
+
138
+ html[data-theme="light"] .hero-eyebrow {
139
+ background: rgba(0,212,255,.05);
140
+ border-color: rgba(0,212,255,.15);
141
+ }
142
+
143
+ .hero-eyebrow span {
144
+ background: var(--q-color-starlight-blue);
145
+ border-radius: 50%;
146
+ width: 6px;
147
+ height: 6px;
148
+ display: block;
149
+ }
150
+
151
+ .hero h1 {
152
+ font-size: clamp(2.8rem, 7vw, 5.5rem);
153
+ font-weight: 800;
154
+ line-height: 1.05;
155
+ letter-spacing: -.03em;
156
+ margin-bottom: 1.25rem;
157
+ }
158
+
159
+ .hero-sub {
160
+ color: var(--q-text-secondary);
161
+ font-size: 1.1rem;
162
+ max-width: 560px;
163
+ margin: 0 auto 2.5rem;
164
+ line-height: 1.7;
165
+ }
166
+
167
+ .btn-outline-glow {
168
+ display: inline-flex;
169
+ align-items: center;
170
+ gap: .4rem;
171
+ padding: .65rem 1.5rem;
172
+ background: transparent;
173
+ color: #fff;
174
+ font-weight: 600;
175
+ font-size: .9rem;
176
+ border: 1px solid hsla(0,0%,100%,.2);
177
+ border-radius: var(--q-radius-full);
178
+ cursor: pointer;
179
+ transition: all .2s;
180
+ }
181
+
182
+ html[data-theme="light"] .btn-outline-glow {
183
+ color: var(--q-text-primary);
184
+ border-color: rgba(0,0,0,.15);
185
+ }
186
+
187
+ .btn-outline-glow:hover {
188
+ border-color: var(--q-color-starlight-blue);
189
+ background: rgba(0,212,255,.06);
190
+ color: var(--q-color-starlight-blue);
191
+ }
192
+
193
+ .hero-stats {
194
+ display: flex;
195
+ gap: 3rem;
196
+ justify-content: center;
197
+ margin-top: 4rem;
198
+ padding-top: 2.5rem;
199
+ border-top: 1px solid var(--q-card-border);
200
+ }
201
+
202
+ .hero-stat-value {
203
+ font-family: var(--font-display);
204
+ font-size: 1.875rem;
205
+ font-weight: 800;
206
+ color: var(--q-color-starlight-blue);
207
+ }
208
+
209
+ .hero-stat-label {
210
+ font-size: .78rem;
211
+ color: var(--q-text-muted);
212
+ margin-top: .15rem;
213
+ text-transform: uppercase;
214
+ letter-spacing: .05em;
215
+ }
216
+
217
+ /* ── Category Strip ── */
218
+ .categories-section { padding: 3rem 0; }
219
+
220
+ .section-label {
221
+ font-size: .7rem;
222
+ font-weight: 700;
223
+ letter-spacing: .15em;
224
+ text-transform: uppercase;
225
+ color: var(--q-text-muted);
226
+ margin-bottom: 1.25rem;
227
+ }
228
+
229
+ .categories-scroll {
230
+ display: flex;
231
+ gap: 1rem;
232
+ overflow-x: auto;
233
+ padding-bottom: .5rem;
234
+ scrollbar-width: none;
235
+ }
236
+
237
+ .categories-scroll::-webkit-scrollbar { display: none; }
238
+
239
+ .cat-pill {
240
+ display: inline-flex;
241
+ align-items: center;
242
+ gap: .5rem;
243
+ padding: .6rem 1.25rem;
244
+ white-space: nowrap;
245
+ background: var(--q-card-bg);
246
+ border: 1px solid var(--q-card-border);
247
+ border-radius: var(--q-radius-full);
248
+ color: var(--q-text-secondary);
249
+ font-size: .875rem;
250
+ font-weight: 500;
251
+ cursor: pointer;
252
+ transition: all .2s;
253
+ }
254
+
255
+ html[data-theme="light"] .cat-pill {
256
+ background: #fff;
257
+ border-color: rgba(0,0,0,.08);
258
+ }
259
+
260
+ .cat-pill:hover, .cat-pill.active {
261
+ background: rgba(0,212,255,.1);
262
+ border-color: rgba(0,212,255,.3);
263
+ color: var(--q-color-starlight-blue);
264
+ }
265
+
266
+ .cat-pill-icon { font-size: 1rem; }
267
+
268
+ /* ── Section Headers ── */
269
+ .section-header {
270
+ display: flex;
271
+ align-items: flex-end;
272
+ justify-content: space-between;
273
+ margin-bottom: 2rem;
274
+ flex-wrap: wrap;
275
+ gap: 1rem;
276
+ }
277
+
278
+ .section-title {
279
+ font-size: 1.875rem;
280
+ font-weight: 800;
281
+ letter-spacing: -.02em;
282
+ }
283
+
284
+ .view-all-link {
285
+ color: var(--q-color-starlight-blue);
286
+ font-size: .875rem;
287
+ font-weight: 600;
288
+ text-decoration: none;
289
+ display: flex;
290
+ align-items: center;
291
+ gap: .25rem;
292
+ transition: gap .2s;
293
+ }
294
+
295
+ .view-all-link:hover { gap: .5rem; }
296
+
297
+ /* ── Product Grid ── */
298
+ .products-section { padding: 4rem 0; }
299
+
300
+ .product-grid {
301
+ display: grid;
302
+ grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
303
+ gap: 1.5rem;
304
+ }
305
+
306
+ .product-card {
307
+ background: var(--q-card-bg);
308
+ border: 1px solid var(--q-card-border);
309
+ border-radius: var(--q-radius-2xl);
310
+ overflow: hidden;
311
+ transition: all .3s cubic-bezier(.4,0,.2,1);
312
+ position: relative;
313
+ cursor: pointer;
314
+ }
315
+
316
+ html[data-theme="light"] .product-card {
317
+ background: #fff;
318
+ border-color: rgba(0,0,0,.06);
319
+ box-shadow: 0 4px 20px rgba(0,0,0,.04);
320
+ }
321
+
322
+ .product-card:hover {
323
+ border-color: rgba(0,212,255,.25);
324
+ transform: translateY(-6px);
325
+ box-shadow: 0 24px 48px -12px rgba(0,0,0,.5), 0 0 30px rgba(0,212,255,.06);
326
+ }
327
+
328
+ html[data-theme="light"] .product-card:hover {
329
+ box-shadow: 0 20px 40px -10px rgba(0,0,0,.08), 0 0 20px rgba(0,212,255,.04);
330
+ }
331
+
332
+ .product-image-wrap {
333
+ aspect-ratio: 3/3.5;
334
+ overflow: hidden;
335
+ position: relative;
336
+ }
337
+
338
+ .product-image {
339
+ width: 100%;
340
+ height: 100%;
341
+ object-fit: cover;
342
+ transition: transform .6s cubic-bezier(.4,0,.2,1);
343
+ }
344
+
345
+ .product-card:hover .product-image { transform: scale(1.06); }
346
+
347
+ .product-img-placeholder {
348
+ width: 100%;
349
+ height: 100%;
350
+ display: flex;
351
+ align-items: center;
352
+ justify-content: center;
353
+ font-size: 3.5rem;
354
+ transition: transform .6s cubic-bezier(.4,0,.2,1);
355
+ }
356
+
357
+ .product-card:hover .product-img-placeholder { transform: scale(1.06); }
358
+
359
+ .product-badge-wrap {
360
+ position: absolute;
361
+ top: .75rem;
362
+ left: .75rem;
363
+ display: flex;
364
+ gap: .4rem;
365
+ flex-wrap: wrap;
366
+ }
367
+
368
+ .product-quick-add {
369
+ position: absolute;
370
+ bottom: 0;
371
+ left: 0;
372
+ right: 0;
373
+ display: flex;
374
+ gap: .5rem;
375
+ padding: .75rem;
376
+ background: linear-gradient(to top, rgba(8,8,26,.95) 0%, transparent);
377
+ opacity: 0;
378
+ transform: translateY(8px);
379
+ transition: all .25s;
380
+ }
381
+
382
+ html[data-theme="light"] .product-quick-add {
383
+ background: linear-gradient(to top, rgba(255,255,255,.95) 0%, transparent);
384
+ }
385
+
386
+ .product-card:hover .product-quick-add {
387
+ opacity: 1;
388
+ transform: translateY(0);
389
+ }
390
+
391
+ .btn-quick-add {
392
+ flex: 1;
393
+ height: 2.25rem;
394
+ background: linear-gradient(135deg, var(--q-color-starlight-peach), var(--q-color-starlight-blue));
395
+ color: #000;
396
+ font-weight: 700;
397
+ font-size: .8rem;
398
+ border: none;
399
+ border-radius: var(--q-radius-full);
400
+ cursor: pointer;
401
+ transition: filter .2s;
402
+ }
403
+
404
+ .btn-quick-add:hover { filter: brightness(1.1); }
405
+
406
+ .btn-wishlist {
407
+ width: 2.25rem;
408
+ height: 2.25rem;
409
+ border-radius: 50%;
410
+ background: hsla(0,0%,100%,.12);
411
+ border: 1px solid hsla(0,0%,100%,.15);
412
+ color: #fff;
413
+ cursor: pointer;
414
+ display: flex;
415
+ align-items: center;
416
+ justify-content: center;
417
+ font-size: 1rem;
418
+ transition: all .2s;
419
+ }
420
+
421
+ html[data-theme="light"] .btn-wishlist {
422
+ background: rgba(0,0,0,.05);
423
+ border-color: rgba(0,0,0,.1);
424
+ color: var(--q-text-secondary);
425
+ }
426
+
427
+ .btn-wishlist:hover {
428
+ background: rgba(239,68,68,.25);
429
+ border-color: rgba(239,68,68,.4);
430
+ }
431
+
432
+ .product-info { padding: 1rem 1.1rem 1.25rem; }
433
+
434
+ .product-brand {
435
+ font-size: .7rem;
436
+ font-weight: 700;
437
+ letter-spacing: .1em;
438
+ text-transform: uppercase;
439
+ color: var(--q-color-starlight-blue);
440
+ margin-bottom: .25rem;
441
+ }
442
+
443
+ .product-name {
444
+ font-family: var(--font-display);
445
+ font-weight: 700;
446
+ font-size: 1rem;
447
+ line-height: 1.3;
448
+ margin-bottom: .5rem;
449
+ color: var(--q-text-primary);
450
+ }
451
+
452
+ .product-rating {
453
+ display: flex;
454
+ align-items: center;
455
+ gap: .35rem;
456
+ margin-bottom: .6rem;
457
+ }
458
+
459
+ .stars {
460
+ color: #fbbf24;
461
+ font-size: .8rem;
462
+ letter-spacing: .05em;
463
+ }
464
+
465
+ .rating-count {
466
+ font-size: .75rem;
467
+ color: var(--q-text-muted);
468
+ }
469
+
470
+ .product-price-row {
471
+ display: flex;
472
+ align-items: center;
473
+ gap: .5rem;
474
+ }
475
+
476
+ .price-current {
477
+ font-family: var(--font-display);
478
+ font-size: 1.2rem;
479
+ font-weight: 800;
480
+ color: #fff;
481
+ }
482
+
483
+ html[data-theme="light"] .price-current {
484
+ color: var(--q-text-primary);
485
+ }
486
+
487
+ .price-original {
488
+ font-size: .85rem;
489
+ color: var(--q-text-muted);
490
+ text-decoration: line-through;
491
+ }
492
+
493
+ .price-discount {
494
+ font-size: .72rem;
495
+ font-weight: 700;
496
+ color: #ff7e5f;
497
+ }
498
+
499
+ .product-colors {
500
+ display: flex;
501
+ gap: .35rem;
502
+ margin-top: .6rem;
503
+ }
504
+
505
+ .color-swatch {
506
+ width: 14px;
507
+ height: 14px;
508
+ border-radius: 50%;
509
+ border: 2px solid transparent;
510
+ cursor: pointer;
511
+ transition: border-color .2s;
512
+ }
513
+
514
+ .color-swatch:hover, .color-swatch.active { border-color: #fff; }
515
+ html[data-theme="light"] .color-swatch:hover,
516
+ html[data-theme="light"] .color-swatch.active { border-color: var(--q-text-primary); }
517
+
518
+ /* ── Featured Banner ── */
519
+ .featured-section { padding: 4rem 0; }
520
+
521
+ .featured-grid {
522
+ display: grid;
523
+ grid-template-columns: 1fr 1fr;
524
+ gap: 1.5rem;
525
+ }
526
+
527
+ .featured-card {
528
+ border-radius: var(--q-radius-3xl);
529
+ overflow: hidden;
530
+ position: relative;
531
+ min-height: 340px;
532
+ display: flex;
533
+ align-items: flex-end;
534
+ border: 1px solid var(--q-card-border);
535
+ cursor: pointer;
536
+ transition: transform .3s;
537
+ }
538
+
539
+ .featured-card:hover { transform: translateY(-4px); }
540
+
541
+ .featured-card-bg {
542
+ position: absolute;
543
+ inset: 0;
544
+ transition: transform .6s cubic-bezier(.4,0,.2,1);
545
+ }
546
+
547
+ .featured-card:hover .featured-card-bg { transform: scale(1.04); }
548
+
549
+ .featured-bg-1 { background: linear-gradient(135deg, #0d1b3e 0%, #1a1052 50%, #0d2b3e 100%); }
550
+ .featured-bg-2 { background: linear-gradient(135deg, #2d0a1a 0%, #1f0d33 50%, #0a1f2d 100%); }
551
+
552
+ html[data-theme="light"] .featured-bg-1 { background: linear-gradient(135deg, #eff6ff 0%, #e0e7ff 50%, #dbeafe 100%); }
553
+ html[data-theme="light"] .featured-bg-2 { background: linear-gradient(135deg, #fff7ed 0%, #fef3c7 50%, #ffedd5 100%); }
554
+
555
+ .featured-float-icon {
556
+ position: absolute;
557
+ top: 50%;
558
+ left: 50%;
559
+ transform: translate(-50%, -50%);
560
+ font-size: 6rem;
561
+ opacity: .2;
562
+ }
563
+
564
+ html[data-theme="light"] .featured-float-icon { opacity: .4; }
565
+
566
+ .featured-glow-1 {
567
+ position: absolute;
568
+ top: 50%;
569
+ left: 50%;
570
+ transform: translate(-60%, -60%);
571
+ width: 200px;
572
+ height: 200px;
573
+ border-radius: 50%;
574
+ background: radial-gradient(ellipse, rgba(0,212,255,.3), transparent 70%);
575
+ }
576
+
577
+ .featured-glow-2 {
578
+ position: absolute;
579
+ top: 50%;
580
+ left: 50%;
581
+ transform: translate(-60%, -60%);
582
+ width: 200px;
583
+ height: 200px;
584
+ border-radius: 50%;
585
+ background: radial-gradient(ellipse, rgba(255,126,95,.3), transparent 70%);
586
+ }
587
+
588
+ .featured-content {
589
+ position: relative;
590
+ z-index: 2;
591
+ padding: 2rem;
592
+ background: linear-gradient(to top, rgba(8,8,26,.9) 0%, transparent);
593
+ width: 100%;
594
+ }
595
+
596
+ html[data-theme="light"] .featured-content {
597
+ background: linear-gradient(to top, rgba(255,255,255,.9) 0%, transparent);
598
+ }
599
+
600
+ .featured-eyebrow {
601
+ font-size: .7rem;
602
+ font-weight: 700;
603
+ letter-spacing: .12em;
604
+ text-transform: uppercase;
605
+ color: var(--q-color-starlight-blue);
606
+ margin-bottom: .4rem;
607
+ }
608
+
609
+ .featured-title {
610
+ font-family: var(--font-display);
611
+ font-size: 1.6rem;
612
+ font-weight: 800;
613
+ line-height: 1.15;
614
+ margin-bottom: .6rem;
615
+ }
616
+
617
+ .featured-desc {
618
+ color: var(--q-text-secondary);
619
+ font-size: .875rem;
620
+ margin-bottom: 1rem;
621
+ }
622
+
623
+ /* ── Trending / Marquee ── */
624
+ .trending-section {
625
+ padding: 2rem 0;
626
+ overflow: hidden;
627
+ }
628
+
629
+ .marquee-track {
630
+ display: flex;
631
+ gap: 1.5rem;
632
+ animation: marquee 30s linear infinite;
633
+ width: max-content;
634
+ }
635
+
636
+ .marquee-track:hover { animation-play-state: paused; }
637
+
638
+ @keyframes marquee {
639
+ from { transform: translateX(0); }
640
+ to { transform: translateX(-50%); }
641
+ }
642
+
643
+ .marquee-item {
644
+ display: flex;
645
+ align-items: center;
646
+ gap: .5rem;
647
+ padding: .5rem 1.25rem;
648
+ background: var(--q-card-bg);
649
+ border: 1px solid var(--q-card-border);
650
+ border-radius: var(--q-radius-full);
651
+ white-space: nowrap;
652
+ font-size: .8rem;
653
+ color: var(--q-text-secondary);
654
+ }
655
+
656
+ html[data-theme="light"] .marquee-item {
657
+ background: #fff;
658
+ border-color: rgba(0,0,0,.06);
659
+ }
660
+
661
+ .marquee-item span {
662
+ color: var(--q-color-starlight-blue);
663
+ font-weight: 700;
664
+ }
665
+
666
+ .marquee-dot {
667
+ width: 4px;
668
+ height: 4px;
669
+ border-radius: 50%;
670
+ background: var(--q-color-starlight-peach);
671
+ }
672
+
673
+ /* ── Testimonials ── */
674
+ .testimonials-section { padding: 5rem 0; }
675
+
676
+ .testimonials-grid {
677
+ display: grid;
678
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
679
+ gap: 1.5rem;
680
+ }
681
+
682
+ .testimonial-card {
683
+ background: var(--q-card-bg);
684
+ border: 1px solid var(--q-card-border);
685
+ border-radius: var(--q-radius-2xl);
686
+ padding: 1.75rem;
687
+ transition: border-color .2s;
688
+ }
689
+
690
+ html[data-theme="light"] .testimonial-card {
691
+ background: #fff;
692
+ border-color: rgba(0,0,0,.06);
693
+ }
694
+
695
+ .testimonial-card:hover { border-color: rgba(0,212,255,.2); }
696
+
697
+ .testimonial-quote {
698
+ font-size: 1.75rem;
699
+ color: var(--q-color-starlight-blue);
700
+ margin-bottom: .75rem;
701
+ }
702
+
703
+ .testimonial-text {
704
+ color: var(--q-text-secondary);
705
+ font-size: .9rem;
706
+ line-height: 1.7;
707
+ margin-bottom: 1.25rem;
708
+ }
709
+
710
+ .testimonial-author {
711
+ display: flex;
712
+ align-items: center;
713
+ gap: .75rem;
714
+ }
715
+
716
+ .t-avatar {
717
+ width: 40px;
718
+ height: 40px;
719
+ border-radius: 50%;
720
+ background: linear-gradient(135deg, var(--q-color-starlight-blue), var(--q-color-starlight-peach));
721
+ display: flex;
722
+ align-items: center;
723
+ justify-content: center;
724
+ font-weight: 700;
725
+ font-size: .875rem;
726
+ color: #000;
727
+ flex-shrink: 0;
728
+ }
729
+
730
+ .t-name { font-weight: 600; font-size: .875rem; }
731
+ .t-handle { color: var(--q-text-muted); font-size: .75rem; }
732
+
733
+ /* ── Newsletter ── */
734
+ .newsletter-section { padding: 5rem 0; }
735
+
736
+ .newsletter-card {
737
+ background: linear-gradient(135deg, rgba(0,212,255,.06) 0%, rgba(255,179,138,.04) 100%);
738
+ border: 1px solid rgba(0,212,255,.12);
739
+ border-radius: var(--q-radius-3xl);
740
+ padding: 4rem 2.5rem;
741
+ text-align: center;
742
+ position: relative;
743
+ overflow: hidden;
744
+ }
745
+
746
+ html[data-theme="light"] .newsletter-card {
747
+ background: linear-gradient(135deg, rgba(0,212,255,.03) 0%, rgba(255,179,138,.02) 100%);
748
+ border-color: rgba(0,212,255,.08);
749
+ }
750
+
751
+ .newsletter-bg-glow {
752
+ position: absolute;
753
+ top: 50%;
754
+ left: 50%;
755
+ transform: translate(-50%, -50%);
756
+ width: 500px;
757
+ height: 300px;
758
+ border-radius: 50%;
759
+ background: radial-gradient(ellipse, rgba(0,212,255,.07), transparent 70%);
760
+ pointer-events: none;
761
+ }
762
+
763
+ .newsletter-title {
764
+ font-size: 2.25rem;
765
+ font-weight: 800;
766
+ letter-spacing: -.02em;
767
+ margin-bottom: .75rem;
768
+ }
769
+
770
+ .newsletter-sub {
771
+ color: var(--q-text-secondary);
772
+ margin-bottom: 2rem;
773
+ }
774
+
775
+ .newsletter-form {
776
+ display: flex;
777
+ gap: .75rem;
778
+ max-width: 480px;
779
+ margin: 0 auto;
780
+ flex-wrap: wrap;
781
+ justify-content: center;
782
+ }
783
+
784
+ .newsletter-input {
785
+ flex: 1;
786
+ min-width: 220px;
787
+ height: 3rem;
788
+ background: hsla(0,0%,100%,.05);
789
+ border: 1px solid hsla(0,0%,100%,.15);
790
+ border-radius: var(--q-radius-full);
791
+ color: #fff;
792
+ padding: 0 1.25rem;
793
+ font-size: .9rem;
794
+ outline: none;
795
+ transition: border-color .2s;
796
+ }
797
+
798
+ html[data-theme="light"] .newsletter-input {
799
+ background: rgba(0,0,0,.03);
800
+ border-color: rgba(0,0,0,.1);
801
+ color: var(--q-text-primary);
802
+ }
803
+
804
+ .newsletter-input::placeholder { color: var(--q-text-muted); }
805
+ .newsletter-input:focus { border-color: var(--q-color-starlight-blue); }
806
+
807
+ /* ── Footer ── */
808
+ .footer-grid {
809
+ display: grid;
810
+ grid-template-columns: 2fr 1fr 1fr 1fr;
811
+ gap: 3rem;
812
+ margin-bottom: 3rem;
813
+ }
814
+
815
+ .footer-brand {
816
+ font-family: var(--font-display);
817
+ font-size: 1.4rem;
818
+ font-weight: 800;
819
+ margin-bottom: .75rem;
820
+ }
821
+
822
+ .footer-desc {
823
+ color: var(--q-text-secondary);
824
+ font-size: .875rem;
825
+ line-height: 1.7;
826
+ }
827
+
828
+ .footer-col-title {
829
+ font-weight: 700;
830
+ font-size: .85rem;
831
+ letter-spacing: .06em;
832
+ text-transform: uppercase;
833
+ margin-bottom: 1rem;
834
+ }
835
+
836
+ .footer-links {
837
+ list-style: none;
838
+ display: flex;
839
+ flex-direction: column;
840
+ gap: .5rem;
841
+ }
842
+
843
+ .footer-links a {
844
+ color: var(--q-text-secondary);
845
+ font-size: .875rem;
846
+ text-decoration: none;
847
+ transition: color .2s;
848
+ }
849
+
850
+ .footer-links a:hover { color: var(--q-color-starlight-blue); }
851
+
852
+ .footer-divider {
853
+ border: none;
854
+ border-top: 1px solid var(--q-card-border);
855
+ margin-bottom: 1.5rem;
856
+ }
857
+
858
+ .footer-bottom {
859
+ display: flex;
860
+ align-items: center;
861
+ justify-content: space-between;
862
+ flex-wrap: wrap;
863
+ gap: 1rem;
864
+ color: var(--q-text-muted);
865
+ font-size: .8rem;
866
+ }
867
+
868
+ .footer-socials {
869
+ display: flex;
870
+ gap: .5rem;
871
+ }
872
+
873
+ .social-btn {
874
+ width: 36px;
875
+ height: 36px;
876
+ border-radius: 50%;
877
+ background: var(--q-card-bg);
878
+ border: 1px solid var(--q-card-border);
879
+ display: flex;
880
+ align-items: center;
881
+ justify-content: center;
882
+ color: var(--q-text-secondary);
883
+ font-size: .8rem;
884
+ cursor: pointer;
885
+ transition: all .2s;
886
+ text-decoration: none;
887
+ }
888
+
889
+ html[data-theme="light"] .social-btn {
890
+ background: #fff;
891
+ border-color: rgba(0,0,0,.08);
892
+ }
893
+
894
+ .social-btn:hover {
895
+ background: rgba(0,212,255,.1);
896
+ border-color: rgba(0,212,255,.3);
897
+ color: var(--q-color-starlight-blue);
898
+ }
899
+
900
+ /* ── Floating Cart ── */
901
+ .floating-cta {
902
+ position: fixed;
903
+ bottom: 2rem;
904
+ right: 2rem;
905
+ z-index: 900;
906
+ }
907
+
908
+ .floating-cart-btn {
909
+ display: flex;
910
+ align-items: center;
911
+ gap: .6rem;
912
+ background: linear-gradient(135deg, var(--q-color-starlight-peach), var(--q-color-starlight-blue));
913
+ color: #000;
914
+ font-weight: 700;
915
+ font-size: .85rem;
916
+ padding: .75rem 1.5rem;
917
+ border: none;
918
+ border-radius: var(--q-radius-full);
919
+ cursor: pointer;
920
+ box-shadow: 0 8px 32px rgba(0,212,255,.3);
921
+ transition: all .25s;
922
+ }
923
+
924
+ .floating-cart-btn:hover {
925
+ transform: translateY(-3px);
926
+ box-shadow: 0 16px 40px rgba(0,212,255,.4);
927
+ }
928
+
929
+ /* ── Trust Bar ── */
930
+ .trust-item {
931
+ display: flex;
932
+ align-items: center;
933
+ gap: .75rem;
934
+ }
935
+
936
+ .trust-icon { font-size: 1.5rem; }
937
+ .trust-text-title { font-weight: 700; font-size: .875rem; }
938
+ .trust-text-sub { color: var(--q-text-muted); font-size: .75rem; }
939
+
940
+ /* ── Search Bar ── */
941
+ .search-bar-wrap {
942
+ position: relative;
943
+ flex: 1;
944
+ max-width: 320px;
945
+ }
946
+
947
+ .search-icon-pos {
948
+ position: absolute;
949
+ left: .9rem;
950
+ top: 50%;
951
+ transform: translateY(-50%);
952
+ color: var(--q-text-muted);
953
+ pointer-events: none;
954
+ }
955
+
956
+ .search-bar-input {
957
+ width: 100%;
958
+ height: 38px;
959
+ background: hsla(0,0%,100%,.05);
960
+ border: 1px solid hsla(0,0%,100%,.1);
961
+ border-radius: var(--q-radius-full);
962
+ color: #fff;
963
+ padding: 0 1rem 0 2.4rem;
964
+ font-size: .875rem;
965
+ outline: none;
966
+ transition: border-color .2s;
967
+ }
968
+
969
+ html[data-theme="light"] .search-bar-input {
970
+ background: rgba(0,0,0,.03);
971
+ border-color: rgba(0,0,0,.08);
972
+ color: var(--q-text-primary);
973
+ }
974
+
975
+ .search-bar-input::placeholder { color: var(--q-text-muted); }
976
+ .search-bar-input:focus { border-color: rgba(0,212,255,.4); }
977
+
978
+ /* ── Responsive ── */
979
+ @media (max-width: 768px) {
980
+ .hero-stats { gap: 1.5rem; flex-wrap: wrap; }
981
+ .product-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
982
+ .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
983
+ .featured-grid { grid-template-columns: 1fr; }
984
+ }