81 lines
1.7 KiB
SCSS
81 lines
1.7 KiB
SCSS
// ---------- Article cards ----------
|
|
.section { position: relative; padding-bottom: clamp(56px, 9vh, 96px); }
|
|
|
|
.articles-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
|
|
gap: 20px;
|
|
}
|
|
|
|
.article-card {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
padding: 22px;
|
|
border-radius: 16px;
|
|
border: 1px solid var(--border);
|
|
background: var(--surface);
|
|
text-decoration: none;
|
|
color: inherit;
|
|
box-shadow: var(--shadow-sm);
|
|
transition: transform 0.18s ease, border-color 0.18s, box-shadow 0.18s;
|
|
|
|
&:hover {
|
|
transform: translateY(-3px);
|
|
border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
|
|
box-shadow: var(--shadow-lg);
|
|
}
|
|
|
|
&:focus-visible { box-shadow: var(--ring); }
|
|
}
|
|
|
|
.card-top {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 10px;
|
|
}
|
|
|
|
.card-kicker {
|
|
font-size: 0.72rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.08em;
|
|
color: var(--accent);
|
|
}
|
|
|
|
.card-title {
|
|
margin: 0;
|
|
font-size: 1.14rem;
|
|
font-weight: 720;
|
|
letter-spacing: -0.015em;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.card-meta {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 10px;
|
|
margin-top: 4px;
|
|
font-size: 0.78rem;
|
|
color: var(--faint);
|
|
}
|
|
|
|
.tags { display: flex; flex-wrap: wrap; gap: 6px; }
|
|
|
|
.tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 3px 10px;
|
|
border-radius: 999px;
|
|
background: color-mix(in srgb, var(--accent) 11%, transparent);
|
|
color: var(--accent);
|
|
font-size: 0.75rem;
|
|
font-weight: 600;
|
|
text-decoration: none;
|
|
transition: background-color 0.15s;
|
|
}
|
|
|
|
a.tag:hover { background: color-mix(in srgb, var(--accent) 22%, transparent); }
|