anonymous111110987654321 commited on
Commit
00a8993
Β·
verified Β·
1 Parent(s): 1510158

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +1030 -19
index.html CHANGED
@@ -1,19 +1,1030 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Magical Swim Collection | Disney Inspired</title>
7
+ <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Poppins:wght@300;400;500;600&display=swap" rel="stylesheet">
8
+ <style>
9
+ :root {
10
+ --primary: #e91e63;
11
+ --primary-light: #fce4ec;
12
+ --secondary: #9c27b0;
13
+ --accent: #ffd700;
14
+ --dark: #1a1a2e;
15
+ --light: #fefefe;
16
+ --glass: rgba(255, 255, 255, 0.1);
17
+ }
18
+
19
+ * {
20
+ margin: 0;
21
+ padding: 0;
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ body {
26
+ font-family: 'Poppins', sans-serif;
27
+ background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
28
+ color: var(--light);
29
+ min-height: 100vh;
30
+ overflow-x: hidden;
31
+ }
32
+
33
+ /* Floating Sparkles Background */
34
+ .sparkles {
35
+ position: fixed;
36
+ top: 0;
37
+ left: 0;
38
+ width: 100%;
39
+ height: 100%;
40
+ pointer-events: none;
41
+ z-index: 0;
42
+ overflow: hidden;
43
+ }
44
+
45
+ .sparkle {
46
+ position: absolute;
47
+ width: 4px;
48
+ height: 4px;
49
+ background: var(--accent);
50
+ border-radius: 50%;
51
+ animation: float 15s infinite;
52
+ opacity: 0;
53
+ }
54
+
55
+ @keyframes float {
56
+ 0%, 100% { transform: translateY(100vh) rotate(0deg); opacity: 0; }
57
+ 10% { opacity: 1; }
58
+ 90% { opacity: 1; }
59
+ 100% { transform: translateY(-100vh) rotate(720deg); opacity: 0; }
60
+ }
61
+
62
+ /* Header */
63
+ header {
64
+ position: fixed;
65
+ top: 0;
66
+ left: 0;
67
+ right: 0;
68
+ z-index: 100;
69
+ padding: 1rem 5%;
70
+ display: flex;
71
+ justify-content: space-between;
72
+ align-items: center;
73
+ background: linear-gradient(180deg, rgba(26,26,46,0.95) 0%, rgba(26,26,46,0) 100%);
74
+ backdrop-filter: blur(10px);
75
+ }
76
+
77
+ .logo {
78
+ font-family: 'Playfair Display', serif;
79
+ font-size: 1.8rem;
80
+ font-weight: 700;
81
+ background: linear-gradient(45deg, var(--primary), var(--accent));
82
+ -webkit-background-clip: text;
83
+ -webkit-text-fill-color: transparent;
84
+ background-clip: text;
85
+ text-decoration: none;
86
+ }
87
+
88
+ .logo span {
89
+ font-size: 0.9rem;
90
+ font-weight: 300;
91
+ display: block;
92
+ letter-spacing: 3px;
93
+ text-transform: uppercase;
94
+ }
95
+
96
+ nav ul {
97
+ display: flex;
98
+ gap: 2rem;
99
+ list-style: none;
100
+ }
101
+
102
+ nav a {
103
+ color: var(--light);
104
+ text-decoration: none;
105
+ font-weight: 400;
106
+ position: relative;
107
+ transition: color 0.3s;
108
+ }
109
+
110
+ nav a::after {
111
+ content: '';
112
+ position: absolute;
113
+ bottom: -5px;
114
+ left: 0;
115
+ width: 0;
116
+ height: 2px;
117
+ background: var(--primary);
118
+ transition: width 0.3s;
119
+ }
120
+
121
+ nav a:hover::after {
122
+ width: 100%;
123
+ }
124
+
125
+ /* Hero Section */
126
+ .hero {
127
+ min-height: 100vh;
128
+ display: flex;
129
+ align-items: center;
130
+ padding: 8rem 5% 4rem;
131
+ position: relative;
132
+ z-index: 1;
133
+ }
134
+
135
+ .hero-content {
136
+ flex: 1;
137
+ max-width: 600px;
138
+ }
139
+
140
+ .hero h1 {
141
+ font-family: 'Playfair Display', serif;
142
+ font-size: clamp(3rem, 8vw, 5rem);
143
+ line-height: 1.1;
144
+ margin-bottom: 1.5rem;
145
+ animation: slideUp 1s ease-out;
146
+ }
147
+
148
+ .hero h1 span {
149
+ display: block;
150
+ background: linear-gradient(90deg, var(--primary), var(--secondary), var(--accent));
151
+ -webkit-background-clip: text;
152
+ -webkit-text-fill-color: transparent;
153
+ background-clip: text;
154
+ }
155
+
156
+ .hero p {
157
+ font-size: 1.1rem;
158
+ opacity: 0.8;
159
+ margin-bottom: 2rem;
160
+ animation: slideUp 1s ease-out 0.2s both;
161
+ }
162
+
163
+ .cta-btn {
164
+ display: inline-flex;
165
+ align-items: center;
166
+ gap: 0.5rem;
167
+ padding: 1rem 2.5rem;
168
+ background: linear-gradient(45deg, var(--primary), var(--secondary));
169
+ color: white;
170
+ text-decoration: none;
171
+ border-radius: 50px;
172
+ font-weight: 600;
173
+ transition: transform 0.3s, box-shadow 0.3s;
174
+ animation: slideUp 1s ease-out 0.4s both;
175
+ }
176
+
177
+ .cta-btn:hover {
178
+ transform: translateY(-3px);
179
+ box-shadow: 0 10px 30px rgba(233, 30, 99, 0.4);
180
+ }
181
+
182
+ .hero-visual {
183
+ flex: 1;
184
+ display: flex;
185
+ justify-content: center;
186
+ align-items: center;
187
+ position: relative;
188
+ }
189
+
190
+ .hero-model {
191
+ width: 100%;
192
+ max-width: 450px;
193
+ height: 600px;
194
+ background: linear-gradient(135deg, var(--primary-light), rgba(156, 39, 176, 0.3));
195
+ border-radius: 50% 50% 0 0;
196
+ position: relative;
197
+ animation: float 6s ease-in-out infinite;
198
+ }
199
+
200
+ .hero-model::before {
201
+ content: 'πŸ‘—';
202
+ position: absolute;
203
+ top: 50%;
204
+ left: 50%;
205
+ transform: translate(-50%, -50%);
206
+ font-size: 12rem;
207
+ opacity: 0.9;
208
+ }
209
+
210
+ .floating-element {
211
+ position: absolute;
212
+ font-size: 2rem;
213
+ animation: float 4s ease-in-out infinite;
214
+ }
215
+
216
+ .floating-element:nth-child(2) { top: 10%; right: 10%; animation-delay: -1s; }
217
+ .floating-element:nth-child(3) { bottom: 20%; left: 5%; animation-delay: -2s; }
218
+ .floating-element:nth-child(4) { top: 30%; left: 10%; animation-delay: -3s; }
219
+
220
+ @keyframes slideUp {
221
+ from { opacity: 0; transform: translateY(30px); }
222
+ to { opacity: 1; transform: translateY(0); }
223
+ }
224
+
225
+ /* Collection Section */
226
+ .collection {
227
+ padding: 4rem 5%;
228
+ position: relative;
229
+ z-index: 1;
230
+ }
231
+
232
+ .section-header {
233
+ text-align: center;
234
+ margin-bottom: 4rem;
235
+ }
236
+
237
+ .section-header h2 {
238
+ font-family: 'Playfair Display', serif;
239
+ font-size: 2.5rem;
240
+ margin-bottom: 1rem;
241
+ }
242
+
243
+ .section-header p {
244
+ opacity: 0.7;
245
+ max-width: 500px;
246
+ margin: 0 auto;
247
+ }
248
+
249
+ .filter-tabs {
250
+ display: flex;
251
+ justify-content: center;
252
+ gap: 1rem;
253
+ margin-bottom: 3rem;
254
+ flex-wrap: wrap;
255
+ }
256
+
257
+ .filter-tab {
258
+ padding: 0.8rem 1.5rem;
259
+ border: 1px solid rgba(255,255,255,0.2);
260
+ border-radius: 30px;
261
+ background: transparent;
262
+ color: var(--light);
263
+ cursor: pointer;
264
+ transition: all 0.3s;
265
+ font-family: 'Poppins', sans-serif;
266
+ }
267
+
268
+ .filter-tab.active, .filter-tab:hover {
269
+ background: var(--primary);
270
+ border-color: var(--primary);
271
+ }
272
+
273
+ .products-grid {
274
+ display: grid;
275
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
276
+ gap: 2rem;
277
+ }
278
+
279
+ .product-card {
280
+ background: rgba(255, 255, 255, 0.05);
281
+ border-radius: 20px;
282
+ overflow: hidden;
283
+ transition: transform 0.3s, box-shadow 0.3s;
284
+ cursor: pointer;
285
+ position: relative;
286
+ }
287
+
288
+ .product-card:hover {
289
+ transform: translateY(-10px);
290
+ box-shadow: 0 20px 40px rgba(0,0,0,0.3);
291
+ }
292
+
293
+ .product-image {
294
+ height: 350px;
295
+ position: relative;
296
+ overflow: hidden;
297
+ display: flex;
298
+ align-items: center;
299
+ justify-content: center;
300
+ }
301
+
302
+ .product-image .swimsuit-display {
303
+ font-size: 8rem;
304
+ transition: transform 0.5s;
305
+ }
306
+
307
+ .product-card:hover .swimsuit-display {
308
+ transform: scale(1.1);
309
+ }
310
+
311
+ .product-badge {
312
+ position: absolute;
313
+ top: 15px;
314
+ left: 15px;
315
+ padding: 0.3rem 1rem;
316
+ background: var(--accent);
317
+ color: var(--dark);
318
+ font-size: 0.75rem;
319
+ font-weight: 600;
320
+ border-radius: 20px;
321
+ }
322
+
323
+ .product-info {
324
+ padding: 1.5rem;
325
+ }
326
+
327
+ .product-theme {
328
+ font-size: 0.8rem;
329
+ text-transform: uppercase;
330
+ letter-spacing: 2px;
331
+ color: var(--primary);
332
+ margin-bottom: 0.5rem;
333
+ }
334
+
335
+ .product-name {
336
+ font-family: 'Playfair Display', serif;
337
+ font-size: 1.3rem;
338
+ margin-bottom: 0.5rem;
339
+ }
340
+
341
+ .product-price {
342
+ display: flex;
343
+ align-items: center;
344
+ gap: 1rem;
345
+ }
346
+
347
+ .price {
348
+ font-size: 1.4rem;
349
+ font-weight: 600;
350
+ color: var(--accent);
351
+ }
352
+
353
+ .original-price {
354
+ text-decoration: line-through;
355
+ opacity: 0.5;
356
+ }
357
+
358
+ .add-to-cart {
359
+ position: absolute;
360
+ bottom: 1.5rem;
361
+ right: 1.5rem;
362
+ width: 50px;
363
+ height: 50px;
364
+ border-radius: 50%;
365
+ background: var(--primary);
366
+ border: none;
367
+ color: white;
368
+ font-size: 1.3rem;
369
+ cursor: pointer;
370
+ transition: transform 0.3s, background 0.3s;
371
+ display: flex;
372
+ align-items: center;
373
+ justify-content: center;
374
+ }
375
+
376
+ .add-to-cart:hover {
377
+ transform: scale(1.1);
378
+ background: var(--secondary);
379
+ }
380
+
381
+ /* Features Section */
382
+ .features {
383
+ padding: 4rem 5%;
384
+ display: grid;
385
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
386
+ gap: 2rem;
387
+ margin-top: 4rem;
388
+ }
389
+
390
+ .feature-card {
391
+ text-align: center;
392
+ padding: 2rem;
393
+ background: rgba(255,255,255,0.03);
394
+ border-radius: 20px;
395
+ border: 1px solid rgba(255,255,255,0.05);
396
+ }
397
+
398
+ .feature-icon {
399
+ font-size: 3rem;
400
+ margin-bottom: 1rem;
401
+ }
402
+
403
+ .feature-card h3 {
404
+ margin-bottom: 0.5rem;
405
+ font-size: 1.2rem;
406
+ }
407
+
408
+ .feature-card p {
409
+ opacity: 0.6;
410
+ font-size: 0.9rem;
411
+ }
412
+
413
+ /* Newsletter */
414
+ .newsletter {
415
+ padding: 6rem 5%;
416
+ text-align: center;
417
+ position: relative;
418
+ z-index: 1;
419
+ }
420
+
421
+ .newsletter-box {
422
+ max-width: 600px;
423
+ margin: 0 auto;
424
+ padding: 3rem;
425
+ background: linear-gradient(135deg, rgba(233, 30, 99, 0.2), rgba(156, 39, 176, 0.2));
426
+ border-radius: 30px;
427
+ border: 1px solid rgba(255,255,255,0.1);
428
+ }
429
+
430
+ .newsletter h2 {
431
+ font-family: 'Playfair Display', serif;
432
+ font-size: 2rem;
433
+ margin-bottom: 1rem;
434
+ }
435
+
436
+ .newsletter-form {
437
+ display: flex;
438
+ gap: 1rem;
439
+ margin-top: 2rem;
440
+ flex-wrap: wrap;
441
+ justify-content: center;
442
+ }
443
+
444
+ .newsletter-form input {
445
+ flex: 1;
446
+ min-width: 250px;
447
+ padding: 1rem 1.5rem;
448
+ border: none;
449
+ border-radius: 50px;
450
+ background: rgba(255,255,255,0.1);
451
+ color: white;
452
+ font-family: 'Poppins', sans-serif;
453
+ }
454
+
455
+ .newsletter-form input::placeholder {
456
+ color: rgba(255,255,255,0.5);
457
+ }
458
+
459
+ .newsletter-form button {
460
+ padding: 1rem 2rem;
461
+ border: none;
462
+ border-radius: 50px;
463
+ background: var(--primary);
464
+ color: white;
465
+ font-weight: 600;
466
+ cursor: pointer;
467
+ transition: background 0.3s;
468
+ }
469
+
470
+ .newsletter-form button:hover {
471
+ background: var(--secondary);
472
+ }
473
+
474
+ /* Footer */
475
+ footer {
476
+ padding: 3rem 5%;
477
+ border-top: 1px solid rgba(255,255,255,0.1);
478
+ display: flex;
479
+ justify-content: space-between;
480
+ align-items: center;
481
+ flex-wrap: wrap;
482
+ gap: 1rem;
483
+ }
484
+
485
+ footer a {
486
+ color: var(--accent);
487
+ text-decoration: none;
488
+ }
489
+
490
+ footer a:hover {
491
+ text-decoration: underline;
492
+ }
493
+
494
+ .social-links {
495
+ display: flex;
496
+ gap: 1rem;
497
+ }
498
+
499
+ .social-links a {
500
+ width: 40px;
501
+ height: 40px;
502
+ border-radius: 50%;
503
+ background: rgba(255,255,255,0.1);
504
+ display: flex;
505
+ align-items: center;
506
+ justify-content: center;
507
+ transition: background 0.3s;
508
+ }
509
+
510
+ .social-links a:hover {
511
+ background: var(--primary);
512
+ }
513
+
514
+ /* Mobile Menu */
515
+ .menu-toggle {
516
+ display: none;
517
+ flex-direction: column;
518
+ gap: 5px;
519
+ cursor: pointer;
520
+ z-index: 101;
521
+ }
522
+
523
+ .menu-toggle span {
524
+ width: 25px;
525
+ height: 2px;
526
+ background: white;
527
+ transition: all 0.3s;
528
+ }
529
+
530
+ /* Responsive */
531
+ @media (max-width: 968px) {
532
+ .hero {
533
+ flex-direction: column;
534
+ text-align: center;
535
+ padding-top: 6rem;
536
+ }
537
+
538
+ .hero-content {
539
+ max-width: 100%;
540
+ }
541
+
542
+ .hero-model {
543
+ width: 300px;
544
+ height: 400px;
545
+ margin-top: 2rem;
546
+ }
547
+
548
+ nav {
549
+ position: fixed;
550
+ top: 0;
551
+ right: -100%;
552
+ width: 70%;
553
+ height: 100vh;
554
+ background: rgba(26, 26, 46, 0.98);
555
+ padding: 5rem 2rem;
556
+ transition: right 0.3s;
557
+ }
558
+
559
+ nav.active {
560
+ right: 0;
561
+ }
562
+
563
+ nav ul {
564
+ flex-direction: column;
565
+ gap: 1.5rem;
566
+ }
567
+
568
+ .menu-toggle {
569
+ display: flex;
570
+ }
571
+ }
572
+
573
+ @media (max-width: 480px) {
574
+ .logo {
575
+ font-size: 1.4rem;
576
+ }
577
+
578
+ .hero h1 {
579
+ font-size: 2.5rem;
580
+ }
581
+
582
+ .products-grid {
583
+ grid-template-columns: 1fr;
584
+ }
585
+
586
+ .newsletter-form {
587
+ flex-direction: column;
588
+ }
589
+
590
+ .newsletter-form input,
591
+ .newsletter-form button {
592
+ width: 100%;
593
+ }
594
+ }
595
+
596
+ /* Modal */
597
+ .modal {
598
+ display: none;
599
+ position: fixed;
600
+ top: 0;
601
+ left: 0;
602
+ width: 100%;
603
+ height: 100%;
604
+ background: rgba(0,0,0,0.8);
605
+ z-index: 1000;
606
+ justify-content: center;
607
+ align-items: center;
608
+ padding: 2rem;
609
+ }
610
+
611
+ .modal.active {
612
+ display: flex;
613
+ }
614
+
615
+ .modal-content {
616
+ background: linear-gradient(135deg, #1a1a2e, #16213e);
617
+ border-radius: 30px;
618
+ padding: 3rem;
619
+ max-width: 500px;
620
+ width: 100%;
621
+ text-align: center;
622
+ position: relative;
623
+ border: 1px solid rgba(255,255,255,0.1);
624
+ }
625
+
626
+ .modal-close {
627
+ position: absolute;
628
+ top: 1rem;
629
+ right: 1rem;
630
+ background: none;
631
+ border: none;
632
+ color: white;
633
+ font-size: 1.5rem;
634
+ cursor: pointer;
635
+ }
636
+
637
+ .modal-icon {
638
+ font-size: 4rem;
639
+ margin-bottom: 1rem;
640
+ }
641
+
642
+ .modal h3 {
643
+ font-family: 'Playfair Display', serif;
644
+ font-size: 1.8rem;
645
+ margin-bottom: 1rem;
646
+ }
647
+
648
+ /* Built with anycoder */
649
+ .anycoder-link {
650
+ position: fixed;
651
+ bottom: 20px;
652
+ left: 20px;
653
+ z-index: 99;
654
+ padding: 0.5rem 1rem;
655
+ background: rgba(255, 215, 0, 0.2);
656
+ border: 1px solid var(--accent);
657
+ border-radius: 20px;
658
+ color: var(--accent);
659
+ text-decoration: none;
660
+ font-size: 0.8rem;
661
+ transition: all 0.3s;
662
+ }
663
+
664
+ .anycoder-link:hover {
665
+ background: rgba(255, 215, 0, 0.4);
666
+ transform: scale(1.05);
667
+ }
668
+ </style>
669
+ </head>
670
+ <body>
671
+ <!-- Sparkles Background -->
672
+ <div class="sparkles" id="sparkles"></div>
673
+
674
+ <!-- Header -->
675
+ <header>
676
+ <a href="#" class="logo">
677
+ Enchanted
678
+ <span>Collection</span>
679
+ </a>
680
+ <nav id="nav">
681
+ <ul>
682
+ <li><a href="#home">Home</a></li>
683
+ <li><a href="#collection">Collection</a></li>
684
+ <li><a href="#about">About</a></li>
685
+ <li><a href="#contact">Contact</a></li>
686
+ </ul>
687
+ </nav>
688
+ <div class="menu-toggle" id="menuToggle">
689
+ <span></span>
690
+ <span></span>
691
+ <span></span>
692
+ </div>
693
+ </header>
694
+
695
+ <!-- Hero Section -->
696
+ <section class="hero" id="home">
697
+ <div class="hero-content">
698
+ <h1>
699
+ Disney Inspired
700
+ <span>Magical Swimwear</span>
701
+ </h1>
702
+ <p>Dive into a world of enchantment with our exclusive one-piece swimsuits. Each piece tells a story of magic, elegance, and timeless Disney charm.</p>
703
+ <a href="#collection" class="cta-btn">
704
+ ✨ Explore Collection
705
+ </a>
706
+ </div>
707
+ <div class="hero-visual">
708
+ <div class="hero-model"></div>
709
+ <div class="floating-element">πŸ¦‹</div>
710
+ <div class="floating-element">✨</div>
711
+ <div class="floating-element">🌟</div>
712
+ </div>
713
+ </section>
714
+
715
+ <!-- Collection Section -->
716
+ <section class="collection" id="collection">
717
+ <div class="section-header">
718
+ <h2>Our Magical Collection</h2>
719
+ <p>Discover stunning one-piece swimsuits inspired by your favorite Disney stories</p>
720
+ </div>
721
+
722
+ <div class="filter-tabs">
723
+ <button class="filter-tab active" data-filter="all">All</button>
724
+ <button class="filter-tab" data-filter="princess">Princess</button>
725
+ <button class="filter-tab" data-filter="magic">Magic Castle</button>
726
+ <button class="filter-tab" data-filter="ocean">Ocean</button>
727
+ <button class="filter-tab" data-filter="forest">Forest</button>
728
+ </div>
729
+
730
+ <div class="products-grid" id="productsGrid">
731
+ <!-- Products will be generated by JavaScript -->
732
+ </div>
733
+ </section>
734
+
735
+ <!-- Features -->
736
+ <section class="features">
737
+ <div class="feature-card">
738
+ <div class="feature-icon">πŸ‘—</div>
739
+ <h3>Premium Quality</h3>
740
+ <p>Made with luxurious, durable fabrics for lasting comfort</p>
741
+ </div>
742
+ <div class="feature-card">
743
+ <div class="feature-icon">🌟</div>
744
+ <h3>Unique Designs</h3>
745
+ <p>Exclusive Disney-inspired patterns and embellishments</p>
746
+ </div>
747
+ <div class="feature-card">
748
+ <div class="feature-icon">πŸ’«</div>
749
+ <h3>Perfect Fit</h3>
750
+ <p>Flattering cuts designed for all body types</p>
751
+ </div>
752
+ <div class="feature-card">
753
+ <div class="feature-icon">🚚</div>
754
+ <h3>Free Shipping</h3>
755
+ <p>On orders over $100 with magical delivery</p>
756
+ </div>
757
+ </section>
758
+
759
+ <!-- Newsletter -->
760
+ <section class="newsletter" id="contact">
761
+ <div class="newsletter-box">
762
+ <h2>Join the Magic ✨</h2>
763
+ <p>Subscribe to receive exclusive offers and be the first to see new collections</p>
764
+ <form class="newsletter-form" onsubmit="handleSubscribe(event)">
765
+ <input type="email" placeholder="Enter your email" required>
766
+ <button type="submit">Subscribe</button>
767
+ </form>
768
+ </div>
769
+ </section>
770
+
771
+ <!-- Footer -->
772
+ <footer>
773
+ <div>
774
+ <p>&copy; 2024 Enchanted Swimwear. All rights reserved.</p>
775
+ </div>
776
+ <div class="social-links">
777
+ <a href="#">πŸ“˜</a>
778
+ <a href="#">πŸ“Έ</a>
779
+ <a href="#">🐦</a>
780
+ <a href="#">πŸ“Œ</a>
781
+ </div>
782
+ </footer>
783
+
784
+ <!-- Success Modal -->
785
+ <div class="modal" id="successModal">
786
+ <div class="modal-content">
787
+ <button class="modal-close" onclick="closeModal()">Γ—</button>
788
+ <div class="modal-icon">πŸŽ‰</div>
789
+ <h3>Added to Cart!</h3>
790
+ <p>The magical swimsuit has been added to your collection</p>
791
+ </div>
792
+ </div>
793
+
794
+ <!-- Anycoder Link -->
795
+ <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank" class="anycoder-link">Built with anycoder</a>
796
+
797
+ <script>
798
+ // Product Data
799
+ const products = [
800
+ {
801
+ id: 1,
802
+ name: "Cinderella Glass Slipper",
803
+ theme: "Princess",
804
+ price: 89.99,
805
+ originalPrice: 120.00,
806
+ badge: "Bestseller",
807
+ emoji: "πŸ‘—",
808
+ colors: ["#3498db", "#f1c40f"],
809
+ description: "Elegant blue gown with golden accents"
810
+ },
811
+ {
812
+ id: 2,
813
+ name: "Aurora's Rose Garden",
814
+ theme: "Princess",
815
+ price: 79.99,
816
+ originalPrice: 99.99,
817
+ badge: "New",
818
+ emoji: "🌹",
819
+ colors: ["#e91e63", "#9c27b0"],
820
+ description: "Romantic pink petals design"
821
+ },
822
+ {
823
+ id: 3,
824
+ name: "Ariel's Ocean Kingdom",
825
+ theme: "Ocean",
826
+ price: 94.99,
827
+ originalPrice: 130.00,
828
+ badge: "Limited",
829
+ emoji: "πŸ§œβ€β™€οΈ",
830
+ colors: ["#00bcd4", "#4caf50"],
831
+ description: "Deep sea shimmer with scales"
832
+ },
833
+ {
834
+ id: 4,
835
+ name: "Belle's Golden Library",
836
+ theme: "Magic",
837
+ price: 109.99,
838
+ originalPrice: 150.00,
839
+ badge: "Premium",
840
+ emoji: "πŸ“š",
841
+ colors: ["#f1c40f", "#8b4513"],
842
+ description: "Golden elegance with rose motifs"
843
+ },
844
+ {
845
+ id: 5,
846
+ name: "Snow White's Apple",
847
+ theme: "Princess",
848
+ price: 74.99,
849
+ originalPrice: 95.00,
850
+ badge: null,
851
+ emoji: "🍎",
852
+ colors: ["#e74c3c", "#ecf0f1"],
853
+ description: "Classic red and white design"
854
+ },
855
+ {
856
+ id: 6,
857
+ name: "Tinker Bell's Sparkle",
858
+ theme: "Magic",
859
+ price: 84.99,
860
+ originalPrice: 110.00,
861
+ badge: "Popular",
862
+ emoji: "🧚",
863
+ colors: ["#2ecc71", "#f39c12"],
864
+ description: "Green glitter fairy wings"
865
+ },
866
+ {
867
+ id: 7,
868
+ name: "Mermaid's Secret Cove",
869
+ theme: "Ocean",
870
+ price: 99.99,
871
+ originalPrice: 140.00,
872
+ badge: null,
873
+ emoji: "🐠",
874
+ colors: ["#00cec9", "#6c5ce7"],
875
+ description: "Tropical fish and coral pattern"
876
+ },
877
+ {
878
+ id: 8,
879
+ name: "Woodland Friends",
880
+ theme: "Forest",
881
+ price: 69.99,
882
+ originalPrice: 89.99,
883
+ badge: null,
884
+ emoji: "🦌",
885
+ colors: ["#27ae60", "#8fbc8f"],
886
+ description: "Forest creature embroidered design"
887
+ },
888
+ {
889
+ id: 9,
890
+ name: "Princess Castle Dream",
891
+ theme: "Magic",
892
+ price: 119.99,
893
+ originalPrice: 160.00,
894
+ badge: "Exclusive",
895
+ emoji: "🏰",
896
+ colors: ["#9b59b6", "#e91e63"],
897
+ description: "Castle silhouette at sunset"
898
+ },
899
+ {
900
+ id: 10,
901
+ name: "Rapunzel's Tower",
902
+ theme: "Princess",
903
+ price: 89.99,
904
+ originalPrice: 115.00,
905
+ badge: null,
906
+ emoji: "🏞️",
907
+ colors: ["#d35400", "#f1c40f"],
908
+ description: "Long flowing hair design"
909
+ },
910
+ {
911
+ id: 11,
912
+ name: "Little Mermaid's Cove",
913
+ theme: "Ocean",
914
+ price: 94.99,
915
+ originalPrice: 125.00,
916
+ badge: "New",
917
+ emoji: "🐚",
918
+ colors: ["#1abc9c", "#3498db"],
919
+ description: "Shell and sea sparkles"
920
+ },
921
+ {
922
+ id: 12,
923
+ name: "Enchanted Forest",
924
+ theme: "Forest",
925
+ price: 79.99,
926
+ originalPrice: 100.00,
927
+ badge: null,
928
+ emoji: "πŸƒ",
929
+ colors: ["#2ecc71", "#1abc9c"],
930
+ description: "Mystical leaves and vines"
931
+ }
932
+ ];
933
+
934
+ // Generate Sparkles
935
+ function createSparkles() {
936
+ const container = document.getElementById('sparkles');
937
+ for (let i = 0; i < 50; i++) {
938
+ const sparkle = document.createElement('div');
939
+ sparkle.className = 'sparkle';
940
+ sparkle.style.left = Math.random() * 100 + '%';
941
+ sparkle.style.animationDelay = Math.random() * 15 + 's';
942
+ sparkle.style.animationDuration = (15 + Math.random() * 10) + 's';
943
+ container.appendChild(sparkle);
944
+ }
945
+ }
946
+
947
+ // Render Products
948
+ function renderProducts(filter = 'all') {
949
+ const grid = document.getElementById('productsGrid');
950
+ const filteredProducts = filter === 'all'
951
+ ? products
952
+ : products.filter(p => p.theme.toLowerCase() === filter);
953
+
954
+ grid.innerHTML = filteredProducts.map(product => `
955
+ <div class="product-card" data-id="${product.id}">
956
+ <div class="product-image" style="background: linear-gradient(135deg, ${product.colors[0]}33, ${product.colors[1]}33)">
957
+ ${product.badge ? `<span class="product-badge">${product.badge}</span>` : ''}
958
+ <span class="swimsuit-display">${product.emoji}</span>
959
+ </div>
960
+ <div class="product-info">
961
+ <div class="product-theme">${product.theme}</div>
962
+ <div class="product-name">${product.name}</div>
963
+ <div class="product-price">
964
+ <span class="price">$${product.price}</span>
965
+ <span class="original-price">$${product.originalPrice}</span>
966
+ </div>
967
+ </div>
968
+ <button class="add-to-cart" onclick="addToCart(${product.id})">+</button>
969
+ </div>
970
+ `).join('');
971
+ }
972
+
973
+ // Filter Products
974
+ document.querySelectorAll('.filter-tab').forEach(tab => {
975
+ tab.addEventListener('click', () => {
976
+ document.querySelectorAll('.filter-tab').forEach(t => t.classList.remove('active'));
977
+ tab.classList.add('active');
978
+ renderProducts(tab.dataset.filter);
979
+ });
980
+ });
981
+
982
+ // Add to Cart
983
+ function addToCart(id) {
984
+ const modal = document.getElementById('successModal');
985
+ modal.classList.add('active');
986
+ setTimeout(() => closeModal(), 2500);
987
+ }
988
+
989
+ function closeModal() {
990
+ document.getElementById('successModal').classList.remove('active');
991
+ }
992
+
993
+ // Newsletter
994
+ function handleSubscribe(e) {
995
+ e.preventDefault();
996
+ const input = e.target.querySelector('input');
997
+ alert(`Thank you for subscribing! ✨ We'll send magical offers to ${input.value}`);
998
+ input.value = '';
999
+ }
1000
+
1001
+ // Mobile Menu
1002
+ document.getElementById('menuToggle').addEventListener('click', () => {
1003
+ document.getElementById('nav').classList.toggle('active');
1004
+ });
1005
+
1006
+ // Close modal on outside click
1007
+ document.getElementById('successModal').addEventListener('click', (e) => {
1008
+ if (e.target === document.getElementById('successModal')) {
1009
+ closeModal();
1010
+ }
1011
+ });
1012
+
1013
+ // Initialize
1014
+ createSparkles();
1015
+ renderProducts();
1016
+
1017
+ // Smooth scroll for anchor links
1018
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
1019
+ anchor.addEventListener('click', function(e) {
1020
+ e.preventDefault();
1021
+ const target = document.querySelector(this.getAttribute('href'));
1022
+ if (target) {
1023
+ target.scrollIntoView({ behavior: 'smooth', block: 'start' });
1024
+ document.getElementById('nav').classList.remove('active');
1025
+ }
1026
+ });
1027
+ });
1028
+ </script>
1029
+ </body>
1030
+ </html>