@amelharrak/eldo-ui 1.0.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.
Files changed (134) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/dist/css/eldo.css +11683 -0
  4. package/dist/css/eldo.css.map +1 -0
  5. package/dist/css/eldo.min.css +1 -0
  6. package/dist/index.cjs +2 -0
  7. package/dist/index.cjs.map +1 -0
  8. package/dist/index.mjs +64 -0
  9. package/dist/index.mjs.map +1 -0
  10. package/dist/types/__tests__/Alert.test.d.ts +1 -0
  11. package/dist/types/__tests__/Button.test.d.ts +1 -0
  12. package/dist/types/__tests__/Modal.test.d.ts +1 -0
  13. package/dist/types/components/Accordion.d.ts +15 -0
  14. package/dist/types/components/Alert.d.ts +15 -0
  15. package/dist/types/components/Avatar.d.ts +10 -0
  16. package/dist/types/components/Badge.d.ts +7 -0
  17. package/dist/types/components/Box.d.ts +27 -0
  18. package/dist/types/components/Breadcrumb.d.ts +15 -0
  19. package/dist/types/components/Button.d.ts +16 -0
  20. package/dist/types/components/ButtonGroup.d.ts +7 -0
  21. package/dist/types/components/Card.d.ts +15 -0
  22. package/dist/types/components/Carousel.d.ts +21 -0
  23. package/dist/types/components/Checkbox.d.ts +10 -0
  24. package/dist/types/components/Col.d.ts +12 -0
  25. package/dist/types/components/Collapse.d.ts +12 -0
  26. package/dist/types/components/Container.d.ts +8 -0
  27. package/dist/types/components/Dropdown.d.ts +19 -0
  28. package/dist/types/components/FileUpload.d.ts +13 -0
  29. package/dist/types/components/Input.d.ts +20 -0
  30. package/dist/types/components/InputOTP.d.ts +13 -0
  31. package/dist/types/components/ListGroup.d.ts +20 -0
  32. package/dist/types/components/Modal.d.ts +13 -0
  33. package/dist/types/components/Navbar.d.ts +17 -0
  34. package/dist/types/components/NumberInput.d.ts +15 -0
  35. package/dist/types/components/Offcanvas.d.ts +15 -0
  36. package/dist/types/components/Pagination.d.ts +14 -0
  37. package/dist/types/components/Popover.d.ts +14 -0
  38. package/dist/types/components/Progress.d.ts +11 -0
  39. package/dist/types/components/Radio.d.ts +11 -0
  40. package/dist/types/components/Row.d.ts +7 -0
  41. package/dist/types/components/Scrollspy.d.ts +13 -0
  42. package/dist/types/components/Select.d.ts +16 -0
  43. package/dist/types/components/Slider.d.ts +16 -0
  44. package/dist/types/components/Sonner.d.ts +21 -0
  45. package/dist/types/components/Spinner.d.ts +11 -0
  46. package/dist/types/components/Stat.d.ts +24 -0
  47. package/dist/types/components/Switch.d.ts +14 -0
  48. package/dist/types/components/Tabs.d.ts +20 -0
  49. package/dist/types/components/Text.d.ts +13 -0
  50. package/dist/types/components/Timeline.d.ts +41 -0
  51. package/dist/types/components/Toast.d.ts +17 -0
  52. package/dist/types/components/Tooltip.d.ts +12 -0
  53. package/dist/types/index.d.ts +40 -0
  54. package/package.json +106 -0
  55. package/setup.js +260 -0
  56. package/src/scss/abstracts/_functions.scss +19 -0
  57. package/src/scss/abstracts/_mixins.scss +33 -0
  58. package/src/scss/abstracts/_variables.scss +119 -0
  59. package/src/scss/base/_reset.scss +24 -0
  60. package/src/scss/base/_transitions.scss +10 -0
  61. package/src/scss/base/_typography.scss +50 -0
  62. package/src/scss/components/_accordion.scss +238 -0
  63. package/src/scss/components/_alert.scss +85 -0
  64. package/src/scss/components/_alerts.scss +137 -0
  65. package/src/scss/components/_avatar.scss +184 -0
  66. package/src/scss/components/_badge.scss +70 -0
  67. package/src/scss/components/_blockquote.scss +41 -0
  68. package/src/scss/components/_breadcrumb.scss +39 -0
  69. package/src/scss/components/_button-group.scss +43 -0
  70. package/src/scss/components/_button.scss +92 -0
  71. package/src/scss/components/_buttons.scss +66 -0
  72. package/src/scss/components/_calendar.scss +520 -0
  73. package/src/scss/components/_card.scss +52 -0
  74. package/src/scss/components/_cards.scss +123 -0
  75. package/src/scss/components/_carousel.scss +490 -0
  76. package/src/scss/components/_charts.scss +29 -0
  77. package/src/scss/components/_checkbox.scss +194 -0
  78. package/src/scss/components/_code.scss +70 -0
  79. package/src/scss/components/_collapse.scss +13 -0
  80. package/src/scss/components/_combobox.scss +239 -0
  81. package/src/scss/components/_date-picker.scss +102 -0
  82. package/src/scss/components/_divider.scss +55 -0
  83. package/src/scss/components/_dropdown.scss +122 -0
  84. package/src/scss/components/_file-upload.scss +233 -0
  85. package/src/scss/components/_floating-labels.scss +247 -0
  86. package/src/scss/components/_form-select.scss +49 -0
  87. package/src/scss/components/_forms.scss +41 -0
  88. package/src/scss/components/_index.scss +7 -0
  89. package/src/scss/components/_input-otp.scss +338 -0
  90. package/src/scss/components/_list-group.scss +95 -0
  91. package/src/scss/components/_modal.scss +166 -0
  92. package/src/scss/components/_nav.scss +175 -0
  93. package/src/scss/components/_navbar.scss +228 -0
  94. package/src/scss/components/_number-input.scss +67 -0
  95. package/src/scss/components/_offcanvas.scss +123 -0
  96. package/src/scss/components/_pagination.scss +64 -0
  97. package/src/scss/components/_placeholders.scss +52 -0
  98. package/src/scss/components/_popovers.scss +69 -0
  99. package/src/scss/components/_progress.scss +90 -0
  100. package/src/scss/components/_range.scss +82 -0
  101. package/src/scss/components/_scrollspy.scss +239 -0
  102. package/src/scss/components/_skeleton.scss +108 -0
  103. package/src/scss/components/_slider.scss +95 -0
  104. package/src/scss/components/_snippet.scss +79 -0
  105. package/src/scss/components/_spinners.scss +137 -0
  106. package/src/scss/components/_stat.scss +42 -0
  107. package/src/scss/components/_stepper.scss +104 -0
  108. package/src/scss/components/_switch.scss +57 -0
  109. package/src/scss/components/_table.scss +109 -0
  110. package/src/scss/components/_tag.scss +60 -0
  111. package/src/scss/components/_tags-input.scss +60 -0
  112. package/src/scss/components/_timeline.scss +238 -0
  113. package/src/scss/components/_toasts.scss +75 -0
  114. package/src/scss/components/_tooltips.scss +50 -0
  115. package/src/scss/components/_tree-view.scss +72 -0
  116. package/src/scss/components/_user.scss +26 -0
  117. package/src/scss/docs/_examples.scss +148 -0
  118. package/src/scss/docs/_layout.scss +251 -0
  119. package/src/scss/docs/_search.scss +141 -0
  120. package/src/scss/eldo.scss +74 -0
  121. package/src/scss/layout/_container.scss +37 -0
  122. package/src/scss/layout/_grid.scss +49 -0
  123. package/src/scss/pages/_landing-config.scss +135 -0
  124. package/src/scss/pages/_landing-features-enhanced.scss +165 -0
  125. package/src/scss/pages/_landing-hero-enhanced.scss +427 -0
  126. package/src/scss/pages/_landing-setup.scss +264 -0
  127. package/src/scss/pages/_landing.scss +1828 -0
  128. package/src/scss/utilities/_api.scss +66 -0
  129. package/src/scss/utilities/_colors.scss +32 -0
  130. package/src/scss/utilities/_display.scss +70 -0
  131. package/src/scss/utilities/_glass.scss +32 -0
  132. package/src/scss/utilities/_helpers.scss +16 -0
  133. package/src/scss/utilities/_map.scss +224 -0
  134. package/src/scss/utilities/_spacing.scss +58 -0
@@ -0,0 +1,165 @@
1
+ // ===== Enhanced Features Section =====
2
+ .features-section {
3
+ padding: 6rem 0;
4
+ background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
5
+ position: relative;
6
+ overflow: hidden;
7
+
8
+ &::before {
9
+ content: '';
10
+ position: absolute;
11
+ top: 0;
12
+ left: 50%;
13
+ transform: translateX(-50%);
14
+ width: 1200px;
15
+ height: 1200px;
16
+ background: radial-gradient(circle, rgba(99, 102, 241, 0.03) 0%, transparent 70%);
17
+ pointer-events: none;
18
+ }
19
+
20
+ .feature-card {
21
+ background: white;
22
+ border-radius: 20px;
23
+ padding: 2.5rem;
24
+ border: 1px solid #e2e8f0;
25
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
26
+ height: 100%;
27
+ display: flex;
28
+ flex-direction: column;
29
+ position: relative;
30
+ overflow: hidden;
31
+
32
+ &::before {
33
+ content: '';
34
+ position: absolute;
35
+ top: 0;
36
+ left: 0;
37
+ right: 0;
38
+ height: 4px;
39
+ background: linear-gradient(90deg, #6366f1 0%, #8b5cf6 100%);
40
+ transform: scaleX(0);
41
+ transform-origin: left;
42
+ transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
43
+ }
44
+
45
+ &:hover {
46
+ transform: translateY(-8px);
47
+ box-shadow: 0 20px 60px rgba(99, 102, 241, 0.15);
48
+ border-color: #c7d2fe;
49
+
50
+ &::before {
51
+ transform: scaleX(1);
52
+ }
53
+
54
+ .feature-icon-wrapper {
55
+ transform: scale(1.1) rotate(5deg);
56
+
57
+ .feature-glow {
58
+ opacity: 1;
59
+ transform: scale(1.5);
60
+ }
61
+ }
62
+
63
+ .feature-icon {
64
+ background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
65
+ color: white;
66
+ }
67
+ }
68
+
69
+ .feature-icon-wrapper {
70
+ position: relative;
71
+ width: 80px;
72
+ height: 80px;
73
+ margin-bottom: 1.5rem;
74
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
75
+
76
+ .feature-icon {
77
+ width: 80px;
78
+ height: 80px;
79
+ background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
80
+ border-radius: 20px;
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ font-size: 2rem;
85
+ color: #6366f1;
86
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
87
+ position: relative;
88
+ z-index: 2;
89
+ box-shadow: 0 4px 12px rgba(99, 102, 241, 0.1);
90
+ }
91
+
92
+ .feature-glow {
93
+ position: absolute;
94
+ top: 50%;
95
+ left: 50%;
96
+ transform: translate(-50%, -50%) scale(1);
97
+ width: 100%;
98
+ height: 100%;
99
+ background: radial-gradient(circle, rgba(99, 102, 241, 0.2) 0%, transparent 70%);
100
+ border-radius: 50%;
101
+ opacity: 0;
102
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
103
+ z-index: 1;
104
+ }
105
+ }
106
+
107
+ .feature-title {
108
+ font-size: 1.375rem;
109
+ font-weight: 800;
110
+ color: #0f172a;
111
+ margin-bottom: 1rem;
112
+ line-height: 1.3;
113
+ }
114
+
115
+ .feature-description {
116
+ color: #64748b;
117
+ line-height: 1.7;
118
+ margin-bottom: 1.5rem;
119
+ flex: 1;
120
+ font-size: 0.9375rem;
121
+ }
122
+
123
+ .feature-stats {
124
+ .stat-badge {
125
+ display: inline-flex;
126
+ align-items: center;
127
+ padding: 0.5rem 1rem;
128
+ background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
129
+ border: 1px solid #bae6fd;
130
+ border-radius: 8px;
131
+ font-size: 0.8125rem;
132
+ font-weight: 700;
133
+ color: #0369a1;
134
+ letter-spacing: 0.025em;
135
+ }
136
+ }
137
+ }
138
+ }
139
+
140
+ // Responsive adjustments
141
+ @media (max-width: 768px) {
142
+ .features-section {
143
+ padding: 4rem 0;
144
+
145
+ .feature-card {
146
+ padding: 2rem;
147
+
148
+ .feature-icon-wrapper {
149
+ width: 64px;
150
+ height: 64px;
151
+
152
+ .feature-icon {
153
+ width: 64px;
154
+ height: 64px;
155
+ font-size: 1.5rem;
156
+ border-radius: 16px;
157
+ }
158
+ }
159
+
160
+ .feature-title {
161
+ font-size: 1.25rem;
162
+ }
163
+ }
164
+ }
165
+ }
@@ -0,0 +1,427 @@
1
+ // ===== Enhanced Hero Section =====
2
+ .hero-section {
3
+ padding: 8rem 0 6rem;
4
+ background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
5
+ position: relative;
6
+ overflow: hidden;
7
+
8
+ .version-badge {
9
+ display: inline-flex;
10
+ align-items: center;
11
+ gap: 0.5rem;
12
+ padding: 0.5rem 1rem;
13
+ background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
14
+ border: 1px solid #bae6fd;
15
+ border-radius: 50px;
16
+ font-size: 0.875rem;
17
+ font-weight: 600;
18
+ color: #0369a1;
19
+
20
+ i {
21
+ color: #0284c7;
22
+ }
23
+
24
+ .badge-separator {
25
+ color: #7dd3fc;
26
+ }
27
+ }
28
+
29
+ .hero-title {
30
+ font-size: clamp(2.5rem, 5vw, 4rem);
31
+ font-weight: 900;
32
+ line-height: 1.1;
33
+ color: #0f172a;
34
+ letter-spacing: -0.02em;
35
+ }
36
+
37
+ .hero-subtitle {
38
+ font-size: 1.25rem;
39
+ line-height: 1.7;
40
+ color: #64748b;
41
+ max-width: 540px;
42
+
43
+ strong {
44
+ color: #6366f1;
45
+ font-weight: 700;
46
+ }
47
+ }
48
+
49
+ .install-command-enhanced {
50
+ background: #0f172a;
51
+ border-radius: 12px;
52
+ padding: 1rem;
53
+ border: 1px solid #1e293b;
54
+
55
+ .command-label {
56
+ font-size: 0.75rem;
57
+ text-transform: uppercase;
58
+ letter-spacing: 0.05em;
59
+ color: #94a3b8;
60
+ margin-bottom: 0.5rem;
61
+ font-weight: 600;
62
+ }
63
+
64
+ .command-wrapper {
65
+ display: flex;
66
+ align-items: center;
67
+ gap: 0.75rem;
68
+
69
+ code {
70
+ flex: 1;
71
+ font-family: 'JetBrains Mono', monospace;
72
+ font-size: 0.9375rem;
73
+ color: #e2e8f0;
74
+ background: transparent;
75
+ padding: 0;
76
+ }
77
+
78
+ .copy-btn-enhanced {
79
+ background: #1e293b;
80
+ border: 1px solid #334155;
81
+ color: #94a3b8;
82
+ padding: 0.5rem 0.75rem;
83
+ border-radius: 6px;
84
+ cursor: pointer;
85
+ transition: all 0.2s;
86
+
87
+ &:hover {
88
+ background: #334155;
89
+ color: white;
90
+ }
91
+
92
+ &.copied {
93
+ background: #10b981;
94
+ border-color: #10b981;
95
+ color: white;
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ .component-preview-card {
102
+ background: white;
103
+ border-radius: 16px;
104
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
105
+ border: 1px solid #e2e8f0;
106
+ overflow: hidden;
107
+
108
+ .card-header {
109
+ display: flex;
110
+ align-items: center;
111
+ gap: 0.75rem;
112
+ padding: 1rem 1.25rem;
113
+ background: #f8fafc;
114
+ border-bottom: 1px solid #e2e8f0;
115
+
116
+ .dots {
117
+ display: flex;
118
+ gap: 0.5rem;
119
+
120
+ span {
121
+ width: 12px;
122
+ height: 12px;
123
+ border-radius: 50%;
124
+ background: #cbd5e1;
125
+
126
+ &:nth-child(1) {
127
+ background: #ef4444;
128
+ }
129
+
130
+ &:nth-child(2) {
131
+ background: #f59e0b;
132
+ }
133
+
134
+ &:nth-child(3) {
135
+ background: #10b981;
136
+ }
137
+ }
138
+ }
139
+
140
+ .file-name {
141
+ font-size: 0.875rem;
142
+ color: #64748b;
143
+ font-weight: 500;
144
+ }
145
+ }
146
+
147
+ .code-content {
148
+ padding: 1.5rem;
149
+ background: #0f172a;
150
+
151
+ pre {
152
+ margin: 0;
153
+
154
+ code {
155
+ font-family: 'JetBrains Mono', monospace;
156
+ font-size: 0.875rem;
157
+ line-height: 1.7;
158
+ color: #e2e8f0;
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ .floating-element {
165
+ position: absolute;
166
+ animation: float 6s ease-in-out infinite;
167
+
168
+ &.element-1 {
169
+ top: 10%;
170
+ right: 10%;
171
+ animation-delay: 0s;
172
+
173
+ .mini-card {
174
+ width: 80px;
175
+ height: 60px;
176
+ background: white;
177
+ border-radius: 8px;
178
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
179
+ padding: 0.5rem;
180
+
181
+ .mini-header {
182
+ width: 100%;
183
+ height: 8px;
184
+ background: linear-gradient(90deg, #6366f1 0%, #8b5cf6 100%);
185
+ border-radius: 4px;
186
+ margin-bottom: 0.5rem;
187
+ }
188
+
189
+ .mini-body {
190
+ width: 100%;
191
+ height: 20px;
192
+ background: #f1f5f9;
193
+ border-radius: 4px;
194
+ }
195
+ }
196
+ }
197
+
198
+ &.element-2 {
199
+ bottom: 20%;
200
+ right: 5%;
201
+ animation-delay: 2s;
202
+
203
+ .mini-badge {
204
+ padding: 0.5rem 1rem;
205
+ background: linear-gradient(135deg, #10b981 0%, #059669 100%);
206
+ color: white;
207
+ border-radius: 50px;
208
+ font-weight: 700;
209
+ font-size: 0.875rem;
210
+ box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
211
+ }
212
+ }
213
+
214
+ &.element-3 {
215
+ top: 50%;
216
+ right: 15%;
217
+ animation-delay: 4s;
218
+
219
+ .mini-icon {
220
+ width: 50px;
221
+ height: 50px;
222
+ background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
223
+ border-radius: 12px;
224
+ display: flex;
225
+ align-items: center;
226
+ justify-content: center;
227
+ color: white;
228
+ font-size: 1.5rem;
229
+ box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
230
+ }
231
+ }
232
+ }
233
+
234
+ @keyframes float {
235
+
236
+ 0%,
237
+ 100% {
238
+ transform: translateY(0px);
239
+ }
240
+
241
+ 50% {
242
+ transform: translateY(-20px);
243
+ }
244
+ }
245
+ }
246
+
247
+ // ===== Stats Bar Section =====
248
+ .stats-bar-section {
249
+ padding: 4rem 0;
250
+ background: white;
251
+ border-top: 1px solid #e2e8f0;
252
+ border-bottom: 1px solid #e2e8f0;
253
+
254
+ .stats-grid {
255
+ display: grid;
256
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
257
+ gap: 2rem;
258
+
259
+ .stat-item {
260
+ display: flex;
261
+ align-items: center;
262
+ gap: 1rem;
263
+ padding: 1.5rem;
264
+ background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
265
+ border-radius: 12px;
266
+ border: 1px solid #e2e8f0;
267
+ transition: all 0.3s;
268
+
269
+ &:hover {
270
+ transform: translateY(-4px);
271
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
272
+ }
273
+
274
+ .stat-icon {
275
+ width: 50px;
276
+ height: 50px;
277
+ background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
278
+ border-radius: 12px;
279
+ display: flex;
280
+ align-items: center;
281
+ justify-content: center;
282
+ color: white;
283
+ font-size: 1.5rem;
284
+ flex-shrink: 0;
285
+ }
286
+
287
+ .stat-content {
288
+ .stat-value {
289
+ font-size: 2rem;
290
+ font-weight: 900;
291
+ color: #0f172a;
292
+ line-height: 1;
293
+ margin-bottom: 0.25rem;
294
+ }
295
+
296
+ .stat-label {
297
+ font-size: 0.875rem;
298
+ color: #64748b;
299
+ font-weight: 500;
300
+ }
301
+ }
302
+ }
303
+ }
304
+ }
305
+
306
+ // ===== Quick Start Section =====
307
+ .quick-start-section {
308
+ padding: 6rem 0;
309
+ background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
310
+
311
+ .install-card {
312
+ background: white;
313
+ border-radius: 16px;
314
+ padding: 2rem;
315
+ border: 1px solid #e2e8f0;
316
+ height: 100%;
317
+ transition: all 0.3s;
318
+
319
+ &:hover {
320
+ transform: translateY(-4px);
321
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
322
+ }
323
+
324
+ .install-icon {
325
+ width: 60px;
326
+ height: 60px;
327
+ background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
328
+ border-radius: 12px;
329
+ display: flex;
330
+ align-items: center;
331
+ justify-content: center;
332
+ color: white;
333
+ font-size: 1.75rem;
334
+ margin-bottom: 1.5rem;
335
+ }
336
+
337
+ .install-title {
338
+ font-size: 1.25rem;
339
+ font-weight: 700;
340
+ color: #0f172a;
341
+ margin-bottom: 0.5rem;
342
+ }
343
+
344
+ .install-description {
345
+ color: #64748b;
346
+ margin-bottom: 1.5rem;
347
+ font-size: 0.9375rem;
348
+ }
349
+
350
+ .code-block {
351
+ background: #0f172a;
352
+ border-radius: 8px;
353
+ padding: 0.75rem 1rem;
354
+ margin-bottom: 0.75rem;
355
+ display: flex;
356
+ align-items: center;
357
+ gap: 0.75rem;
358
+ border: 1px solid #1e293b;
359
+
360
+ &:last-child {
361
+ margin-bottom: 0;
362
+ }
363
+
364
+ code {
365
+ flex: 1;
366
+ font-family: 'JetBrains Mono', monospace;
367
+ font-size: 0.8125rem;
368
+ color: #e2e8f0;
369
+ background: transparent;
370
+ padding: 0;
371
+ overflow-x: auto;
372
+ white-space: nowrap;
373
+ }
374
+
375
+ .btn-copy-code {
376
+ background: transparent;
377
+ border: none;
378
+ color: #94a3b8;
379
+ padding: 0.25rem;
380
+ cursor: pointer;
381
+ transition: color 0.2s;
382
+ flex-shrink: 0;
383
+
384
+ &:hover {
385
+ color: white;
386
+ }
387
+
388
+ &.copied {
389
+ color: #10b981;
390
+ }
391
+ }
392
+ }
393
+ }
394
+ }
395
+
396
+ // Responsive
397
+ @media (max-width: 992px) {
398
+ .hero-section {
399
+ padding: 6rem 0 4rem;
400
+
401
+ .hero-title {
402
+ font-size: 2.5rem;
403
+ }
404
+
405
+ .hero-subtitle {
406
+ font-size: 1.125rem;
407
+ }
408
+
409
+ .floating-element {
410
+ display: none;
411
+ }
412
+ }
413
+
414
+ .stats-bar-section {
415
+ .stats-grid {
416
+ grid-template-columns: repeat(2, 1fr);
417
+ }
418
+ }
419
+ }
420
+
421
+ @media (max-width: 768px) {
422
+ .stats-bar-section {
423
+ .stats-grid {
424
+ grid-template-columns: 1fr;
425
+ }
426
+ }
427
+ }