|
1 | 1 | import styled from 'styled-components'; |
2 | | -import { typography } from '@/styles/global/typography'; |
3 | 2 |
|
4 | 3 | export const CardWrapper = styled.div` |
5 | | - width: 272px; |
6 | | - height: 422px; |
7 | | - border-radius: 16px; |
8 | | - overflow: hidden; |
9 | | - background-color: white; |
10 | | - border: 1px solid ${({ theme }) => theme.colors.neutral[50]}; |
11 | | - `; |
| 4 | + width: 100%; |
| 5 | + border-radius: ${({ theme }) => theme.radius[3]}; |
| 6 | + overflow: hidden; |
| 7 | + background-color: ${({ theme }) => theme.colors.background.card}; |
| 8 | + border: 1px solid ${({ theme }) => theme.colors.border.card}; |
| 9 | + display: flex; |
| 10 | + flex-direction: column; |
| 11 | +`; |
12 | 12 |
|
13 | 13 | export const ImageBox = styled.div` |
14 | | - width: 272px; |
15 | | - height: 272px; |
16 | | - aspect-ratio: 1 / 1; // 1대 1 비율 유지 |
17 | | - background-color: ${({ theme }) => theme.colors.neutral[50]}; |
18 | | - `; |
| 14 | + width: 100%; |
| 15 | + aspect-ratio: 1 / 1; |
| 16 | + background-color: ${({ theme }) => theme.colors.neutral[50]}; |
| 17 | +`; |
19 | 18 |
|
20 | 19 | export const InfoBox = styled.div` |
21 | | -height: calc(100% - 272px); |
22 | | - padding: 16px; |
23 | | - display: flex; |
24 | | - flex-direction: column; |
25 | | - justify-content: space-between; |
26 | | - `; |
| 20 | + flex: 1; |
| 21 | + padding: ${({ theme }) => theme.spacing[4]}; |
| 22 | + display: flex; |
| 23 | + flex-direction: column; |
| 24 | + justify-content: space-between; |
| 25 | +`; |
27 | 26 |
|
28 | 27 | export const Title = styled.div` |
29 | | - color: ${({ theme }) => theme.colors.content.main}; |
30 | | - font-size: ${typography.size.base}; |
31 | | - font-weight: ${typography.weight.semibold}; |
32 | | - margin-bottom: 8px; |
33 | | - `; |
| 28 | + color: ${({ theme }) => theme.colors.content.main}; |
| 29 | + font-size: ${({ theme }) => theme.typography.size.base}; |
| 30 | + font-weight: ${({ theme }) => theme.typography.weight.semibold}; |
| 31 | + line-height: ${({ theme }) => theme.typography.lineHeight.base}; |
| 32 | + margin-bottom: ${({ theme }) => theme.spacing[2]}; |
| 33 | +`; |
34 | 34 |
|
35 | 35 | export const TagRow = styled.div` |
36 | | - display: flex; |
37 | | - align-items: center; |
38 | | - justify-content: flex-start; |
39 | | - `; |
| 36 | + display: flex; |
| 37 | + align-items: center; |
| 38 | + gap: ${({ theme }) => theme.spacing[2]}; |
| 39 | +`; |
40 | 40 |
|
41 | 41 | export const Store = styled.span` |
42 | | - color: ${({ theme }) => theme.colors.content.sub}; |
43 | | - font-size: ${typography.size.sm}; |
44 | | - font-weight: ${typography.weight.semibold}; |
45 | | - margin-right: 9px; |
46 | | - `; |
| 42 | + color: ${({ theme }) => theme.colors.content.sub}; |
| 43 | + font-size: ${({ theme }) => theme.typography.size.sm}; |
| 44 | + font-weight: ${({ theme }) => theme.typography.weight.semibold}; |
| 45 | +`; |
47 | 46 |
|
48 | 47 | export const Tags = styled.span` |
49 | | - color: ${({ theme }) => theme.colors.content.sub}; |
50 | | - font-size: ${typography.size.sm}; |
51 | | - font-weight: ${typography.weight.regular}; |
52 | | - margin-left: 8px; |
53 | | - white-space: nowrap; |
54 | | - overflow: hidden; |
55 | | - text-overflow: ellipsis; |
56 | | - `; |
| 48 | + color: ${({ theme }) => theme.colors.content.sub}; |
| 49 | + font-size: ${({ theme }) => theme.typography.size.sm}; |
| 50 | + font-weight: ${({ theme }) => theme.typography.weight.regular}; |
| 51 | + white-space: nowrap; |
| 52 | + overflow: hidden; |
| 53 | + text-overflow: ellipsis; |
| 54 | +`; |
57 | 55 |
|
58 | 56 | export const PriceRow = styled.div` |
59 | | - display: flex; |
60 | | - margin: 10px 0 4px 0; |
61 | | - gap: 8px; |
62 | | - align-items: flex-end; |
63 | | - justify-content: flex-end; |
64 | | - `; |
| 57 | + display: flex; |
| 58 | + justify-content: flex-end; |
| 59 | + align-items: flex-end; |
| 60 | + gap: ${({ theme }) => theme.spacing[2]}; |
| 61 | + margin: ${({ theme }) => `${theme.spacing[2]} 0 ${theme.spacing[1]} 0`}; |
| 62 | +`; |
65 | 63 |
|
66 | 64 | export const Percent = styled.span` |
67 | | - color: ${({ theme }) => theme.colors.primary}; |
68 | | - font-size: ${typography.size.lg}; |
69 | | - font-weight: ${typography.weight.semibold}; |
70 | | - `; |
| 65 | + color: ${({ theme }) => theme.colors.primary}; |
| 66 | + font-size: ${({ theme }) => theme.typography.size.lg}; |
| 67 | + font-weight: ${({ theme }) => theme.typography.weight.semibold}; |
| 68 | +`; |
71 | 69 |
|
72 | 70 | export const Price = styled.span` |
73 | | - color: ${({ theme }) => theme.colors.content.main}; |
74 | | - font-size: ${typography.size.lg}; |
75 | | - font-weight: ${typography.weight.semibold}; |
76 | | - `; |
| 71 | + color: ${({ theme }) => theme.colors.content.main}; |
| 72 | + font-size: ${({ theme }) => theme.typography.size.lg}; |
| 73 | + font-weight: ${({ theme }) => theme.typography.weight.semibold}; |
| 74 | +`; |
77 | 75 |
|
78 | 76 | export const Meta = styled.div` |
79 | | - display: flex; |
80 | | - justify-content: flex-end; |
81 | | - align-items: center; |
82 | | - gap: 4px; |
83 | | - font-size: ${typography.size.xs}; |
84 | | - color: ${({ theme }) => theme.colors.content.sub}; |
| 77 | + display: flex; |
| 78 | + justify-content: flex-end; |
| 79 | + align-items: center; |
| 80 | + gap: ${({ theme }) => theme.spacing[1]}; |
| 81 | + font-size: ${({ theme }) => theme.typography.size.xs}; |
| 82 | + color: ${({ theme }) => theme.colors.content.sub}; |
85 | 83 |
|
86 | | - svg { |
87 | | - color: ${({ theme }) => theme.colors.content.tertiary}; |
88 | | - width: 10px; |
89 | | - height: 10px; |
90 | | - margin-right: 4px; |
91 | | - vertical-align: middle; |
92 | | - } |
| 84 | + svg { |
| 85 | + color: ${({ theme }) => theme.colors.content.tertiary}; |
| 86 | + width: 10px; |
| 87 | + height: 10px; |
| 88 | + vertical-align: middle; |
| 89 | + } |
93 | 90 |
|
94 | | - .divider { |
95 | | - color: ${({ theme }) => theme.colors.content.tertiary}; // ✅ 이게 핵심 |
96 | | - margin: 0 4px; |
97 | | - } |
98 | | - `; |
| 91 | + .divider { |
| 92 | + margin: 0 ${({ theme }) => theme.spacing[1]}; |
| 93 | + color: ${({ theme }) => theme.colors.content.tertiary}; |
| 94 | + } |
| 95 | +`; |
0 commit comments