| ... |
... |
@@ -172,18 +172,54 @@ |
| 172 |
172 |
display: grid; gap: 16px; grid-template-columns: 1fr; |
| 173 |
173 |
@media (min-width: 920px) { grid-template-columns: repeat(3, 1fr); } |
| 174 |
174 |
} |
| 175 |
|
- .card { |
| 176 |
|
- background: #fff; border: 1px solid @line; border-radius: @radius; |
| 177 |
|
- padding: 18px; box-shadow: @shadow-sm; transition: transform .18s ease, box-shadow .18s ease; |
|
175 |
+ .cards { |
|
176 |
+ display: flex; |
|
177 |
+ flex-wrap: wrap; |
|
178 |
+ gap: 24px; |
|
179 |
+ align-items: flex-start; /* << allows different heights per row */ |
|
180 |
+} |
| 178 |
178 |
|
| 179 |
|
- &:hover { transform: translateY(-2px); box-shadow: @shadow; } |
| 180 |
|
- p { color: @muted; margin: 0; } |
| 181 |
|
- details { |
| 182 |
|
- margin-top: .6rem; border-top: 1px dashed @line; padding-top: .6rem; |
| 183 |
|
- summary { cursor: pointer; font-weight: 650; } |
| 184 |
|
- } |
| 185 |
|
- } |
|
182 |
+/* Card */ |
|
183 |
+.card { |
|
184 |
+ flex: 1 1 320px; /* grows nicely, min ~320px */ |
|
185 |
+ max-width: 360px; /* optional: keeps them tidy in 3 cols */ |
|
186 |
+ background: #fff; |
|
187 |
+ border-radius: 14px; |
|
188 |
+ box-shadow: 0 6px 20px rgba(0,0,0,.06); |
|
189 |
+ padding: 20px 20px 16px; |
|
190 |
+} |
| 186 |
186 |
|
|
192 |
+.card h3 { margin: 0 0 .25rem; font-size: 1.25rem; } |
|
193 |
+.card p { margin: 0 0 .75rem; color: #3a4750; } |
|
194 |
+ |
|
195 |
+/* Toggle */ |
|
196 |
+.details-toggle { |
|
197 |
+ display: inline-block; |
|
198 |
+ font-weight: 600; |
|
199 |
+ border: 1.5px solid #008e78; |
|
200 |
+ color: #0a3c37; |
|
201 |
+ background: #e8fbf7; |
|
202 |
+ padding: 6px 10px; |
|
203 |
+ border-radius: 8px; |
|
204 |
+ cursor: pointer; |
|
205 |
+} |
|
206 |
+ |
|
207 |
+/* Details animation */ |
|
208 |
+.details { |
|
209 |
+ margin-top: .5rem; |
|
210 |
+ overflow: hidden; |
|
211 |
+ max-height: 0; /* collapsed */ |
|
212 |
+ opacity: 0; |
|
213 |
+ transition: max-height .28s ease, opacity .2s ease; |
|
214 |
+} |
|
215 |
+ |
|
216 |
+.details.open { |
|
217 |
+ max-height: 260px; /* big enough for your list */ |
|
218 |
+ opacity: 1; |
|
219 |
+} |
|
220 |
+ |
|
221 |
+.details ul { margin: .25rem 0 0; padding-left: 1.1rem; } |
|
222 |
+.details li { margin: .25rem 0; } |
| 187 |
187 |
/* METRICS */ |
| 188 |
188 |
.metrics { |
| 189 |
189 |
display: grid; gap: 14px; grid-template-columns: repeat(2, 1fr); |