|
4 | 4 | ======================================== */ |
5 | 5 |
|
6 | 6 | @layer components { |
7 | | - /* Button - Modern solid style with hover lift */ |
| 7 | + .btn, |
8 | 8 | .button { |
9 | 9 | appearance: none; |
10 | 10 | background: var(--color-accent); |
| 11 | + background-image: none !important; |
11 | 12 | border: 0; |
12 | | - border-radius: var(--radius-sm); |
13 | | - box-shadow: |
14 | | - var(--shadow-md), |
15 | | - inset 0 1px 0 var(--color-overlay-light); |
| 13 | + border-radius: 6px; |
| 14 | + box-shadow: none; |
16 | 15 | color: var(--color-white); |
17 | 16 | cursor: pointer; |
18 | 17 | display: inline-flex; |
19 | 18 | align-items: center; |
20 | 19 | justify-content: center; |
21 | 20 | gap: 0.5em; |
22 | | - font-family: var(--font-heading); |
23 | | - font-size: var(--text-base); |
24 | | - font-weight: var(--font-weight-bold); |
25 | | - height: 3.25rem; |
26 | | - letter-spacing: var(--tracking-normal); |
27 | | - padding: 0 2em; |
| 21 | + font-family: var(--font-sans); |
| 22 | + font-size: var(--text-sm); |
| 23 | + font-weight: var(--font-weight-medium); |
| 24 | + height: 2.5rem; |
| 25 | + letter-spacing: 0; |
| 26 | + padding: 0 1.5em; |
28 | 27 | text-align: center; |
29 | 28 | text-decoration: none !important; |
30 | | - transition: |
31 | | - transform var(--duration-fast) var(--ease-out), |
32 | | - box-shadow var(--duration-fast) var(--ease-out), |
33 | | - background-color var(--duration-fast) var(--ease-out); |
| 29 | + transition: background-color var(--duration-fast) var(--ease-out); |
34 | 30 | } |
35 | 31 |
|
| 32 | + .btn:hover, |
36 | 33 | .button:hover { |
37 | 34 | background: color-mix(in srgb, var(--color-accent) 85%, black); |
38 | | - box-shadow: var(--shadow-lg); |
39 | | - transform: translateY(var(--lift-sm)); |
40 | 35 | color: var(--color-white); |
41 | 36 | } |
42 | 37 |
|
| 38 | + .btn:active, |
43 | 39 | .button:active { |
44 | | - transform: translateY(0); |
45 | | - box-shadow: var(--shadow-sm); |
| 40 | + background: color-mix(in srgb, var(--color-accent) 75%, black); |
46 | 41 | } |
47 | 42 |
|
| 43 | + .btn:focus-visible, |
48 | 44 | .button:focus-visible { |
49 | | - box-shadow: |
50 | | - var(--shadow-md), |
51 | | - 0 0 0 3px var(--color-accent-light); |
52 | | - outline: none; |
| 45 | + outline: 2px solid var(--color-accent); |
| 46 | + outline-offset: 2px; |
| 47 | + } |
| 48 | + |
| 49 | + /* Primary button */ |
| 50 | + .btn-primary, |
| 51 | + .button-primary { |
| 52 | + /* Inherits from .button */ |
53 | 53 | } |
54 | 54 |
|
55 | 55 | /* Secondary/ghost button variant */ |
| 56 | + .btn-secondary, |
56 | 57 | .button-secondary { |
57 | 58 | background: transparent; |
58 | | - box-shadow: inset 0 0 0 1.5px var(--color-border-alt); |
59 | | - color: var(--color-fg-light); |
60 | | - font-weight: var(--font-weight-medium); |
| 59 | + box-shadow: inset 0 0 0 1px var(--color-border-alt); |
| 60 | + color: var(--color-fg); |
61 | 61 | } |
62 | 62 |
|
| 63 | + .btn-secondary:hover, |
63 | 64 | .button-secondary:hover { |
64 | | - background: var(--color-accent-light); |
65 | | - box-shadow: inset 0 0 0 1.5px var(--color-accent); |
66 | | - color: var(--color-accent); |
67 | | - transform: translateY(var(--lift-sm)); |
| 65 | + background: var(--color-surface-hover); |
| 66 | + box-shadow: inset 0 0 0 1px var(--color-border-alt); |
| 67 | + color: var(--color-fg-bold); |
68 | 68 | } |
69 | 69 |
|
70 | 70 | /* Actions list */ |
|
0 commit comments