@@ -179,99 +179,114 @@ section h3 {
179
179
text-transform : capitalize;
180
180
}
181
181
182
- /* Enhanced Buttons */
182
+ /* Enhanced Buttons - shadcn/ui style */
183
183
.btn {
184
184
display : inline-flex;
185
185
align-items : center;
186
186
justify-content : center;
187
- padding : 0.75rem 1.5rem ;
188
- border : 2px solid transparent;
189
- border-radius : 0.75rem ;
187
+ border-radius : 0.5rem ;
190
188
font-size : 0.875rem ;
191
- font-weight : 600 ;
189
+ font-weight : 500 ;
192
190
text-decoration : none;
193
191
cursor : pointer;
194
192
transition : all 0.2s ease;
195
- background-color : var (--bg-tertiary );
196
- color : var (--text-primary );
197
- box-shadow : 0 1px 3px 0 rgb (0 0 0 / 0.1 ), 0 1px 2px -1px rgb (0 0 0 / 0.1 );
198
193
position : relative;
199
194
overflow : hidden;
195
+ border : 1px solid transparent;
196
+ background-color : transparent;
197
+ color : var (--text-primary );
198
+ padding : 0.5rem 1rem ;
199
+ line-height : 1.25rem ;
200
+ white-space : nowrap;
200
201
}
201
202
202
- .btn ::before {
203
- content : '' ;
204
- position : absolute;
205
- top : 0 ;
206
- left : -100% ;
207
- width : 100% ;
208
- height : 100% ;
209
- background : linear-gradient (90deg , transparent, rgba (255 , 255 , 255 , 0.1 ), transparent);
210
- transition : left 0.5s ;
203
+ .btn : hover {
204
+ background-color : var (--bg-secondary );
205
+ color : var (--text-primary );
211
206
}
212
207
213
- .btn : hover ::before {
214
- left : 100% ;
208
+ .btn : focus-visible {
209
+ outline : 2px solid var (--accent-color );
210
+ outline-offset : 2px ;
215
211
}
216
212
217
- .btn : hover {
218
- background-color : var (--bg-secondary );
219
- transform : translateY (-1px );
220
- box-shadow : 0 4px 6px -1px rgb (0 0 0 / 0.1 ), 0 2px 4px -2px rgb (0 0 0 / 0.1 );
213
+ .btn : disabled {
214
+ opacity : 0.5 ;
215
+ cursor : not-allowed;
221
216
}
222
217
223
- .btn : active {
224
- transform : translateY (0 );
225
- box-shadow : 0 1px 3px 0 rgb (0 0 0 / 0.1 ), 0 1px 2px -1px rgb (0 0 0 / 0.1 );
218
+ .btn-sm {
219
+ height : 2rem ;
220
+ padding : 0 0.75rem ;
221
+ font-size : 0.75rem ;
226
222
}
227
223
228
- .btn-primary {
224
+ .btn-theme {
229
225
background-color : var (--accent-color );
230
226
color : white;
231
- border-color : var (--accent-color );
227
+ font-weight : 600 ;
228
+ padding : 0.5rem 1rem ;
229
+ border-radius : 0.5rem ;
230
+ border : 1px solid var (--accent-color );
231
+ box-shadow : 0 1px 2px 0 rgb (0 0 0 / 0.05 );
232
232
}
233
233
234
- .btn-primary : hover {
234
+ .btn-theme : hover {
235
235
background-color : var (--accent-hover );
236
236
border-color : var (--accent-hover );
237
+ color : white;
237
238
}
238
239
240
+ .btn-theme : focus-visible {
241
+ outline : 2px solid var (--accent-color );
242
+ outline-offset : 2px ;
243
+ }
244
+
245
+ /* Black button variant */
246
+ .btn-black {
247
+ background-color : var (--text-primary );
248
+ color : var (--bg-primary );
249
+ border : 1px solid var (--text-primary );
250
+ font-weight : 600 ;
251
+ }
252
+
253
+ .btn-black : hover {
254
+ background-color : var (--text-secondary );
255
+ border-color : var (--text-secondary );
256
+ color : var (--bg-primary );
257
+ }
258
+
259
+ .btn-black : focus-visible {
260
+ outline : 2px solid var (--text-primary );
261
+ outline-offset : 2px ;
262
+ }
263
+
264
+ /* Secondary button variant */
239
265
.btn-secondary {
240
266
background-color : var (--bg-secondary );
241
- border-color : var (--border-color );
242
267
color : var (--text-primary );
268
+ border : 1px solid var (--border-color );
269
+ font-weight : 500 ;
243
270
}
244
271
245
272
.btn-secondary : hover {
246
273
background-color : var (--bg-tertiary );
247
- border-color : var (--accent-color );
248
- }
249
-
250
- .btn-sm {
251
- padding : 0.5rem 1rem ;
252
- font-size : 0.75rem ;
253
- border-radius : 0.5rem ;
274
+ border-color : var (--text-secondary );
275
+ color : var (--text-primary );
254
276
}
255
277
256
- .btn-theme {
257
- background : linear-gradient (135deg , var (--accent-color ), var (--accent-hover ));
258
- color : white;
259
- font-weight : 700 ;
260
- font-size : 1rem ;
261
- padding : 0.875rem 2rem ;
262
- border-radius : 1rem ;
263
- box-shadow : 0 4px 6px -1px rgb (0 0 0 / 0.1 ), 0 2px 4px -2px rgb (0 0 0 / 0.1 );
264
- border : none;
278
+ .btn-secondary : focus-visible {
279
+ outline : 2px solid var (--text-secondary );
280
+ outline-offset : 2px ;
265
281
}
266
282
267
- .btn-theme : hover {
268
- background : linear-gradient (135deg , var (--accent-hover ), var (--accent-color ));
269
- transform : translateY (-2px );
270
- box-shadow : 0 10px 15px -3px rgb (0 0 0 / 0.1 ), 0 4px 6px -4px rgb (0 0 0 / 0.1 );
283
+ /* Remove old button styles */
284
+ .btn ::before {
285
+ display : none;
271
286
}
272
287
273
- .btn-theme : active {
274
- transform : translateY ( 0 ) ;
288
+ .btn : hover :: before {
289
+ display : none ;
275
290
}
276
291
277
292
/* Footer */
0 commit comments