diff options
Diffstat (limited to 'assets/css/components/card.css')
| -rw-r--r-- | assets/css/components/card.css | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/assets/css/components/card.css b/assets/css/components/card.css index 6a8cfaf..3d218bc 100644 --- a/assets/css/components/card.css +++ b/assets/css/components/card.css @@ -153,3 +153,102 @@ height: 150px; } } + +/* ─── Homepage article cards ─────────────────────────────── */ + +.articles-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); + gap: 1.5rem; + margin-bottom: 2rem; +} + +@media (max-width: 768px) { + .articles-grid { grid-template-columns: 1fr; } +} + +.article-card { + background: var(--surface); + border: 1px solid var(--border); + border-radius: 0; + overflow: hidden; + display: flex; + flex-direction: column; + transition: var(--transition); +} + +.article-card:hover { + transform: translate(0, -4px); + box-shadow: 0 8px 30px var(--accent-glow); + border-color: var(--accent); +} + +/* Badge background set via inline style in template using var(--type-*) */ +.article-type { + font-family: var(--font-mono); + font-size: var(--fs-badge); + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.1em; + padding: 0.4rem 1rem; + color: var(--bg); + width: fit-content; + border-radius: 3px; + margin: 1rem 1rem 0; +} + +.article-content { + padding: 1rem 1rem 1.5rem; + display: flex; + flex-direction: column; + flex: 1; +} + +.article-title { + font-family: var(--font-head); + font-size: 1.1rem; + font-weight: 700; + line-height: 1.3; + margin-bottom: 0.5rem; + letter-spacing: -0.025em; +} + +.article-title a { color: var(--text); text-decoration: none; } +.article-title a:hover { color: var(--accent); } + +.article-excerpt { + color: var(--text-dim); + font-size: 0.9rem; + line-height: 1.6; + flex: 1; + margin-bottom: 1rem; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.article-meta { + display: flex; + justify-content: space-between; + align-items: center; + padding-top: 1rem; + border-top: 1px solid var(--border); + font-family: var(--font-mono); + font-size: 0.75rem; + color: var(--muted); + text-transform: uppercase; + letter-spacing: 0.08em; + margin-top: auto; +} + +/* .article-read named distinctly from .article-link (used in 404.css) */ +.article-read { + color: var(--accent); + text-decoration: none; + font-weight: 600; + letter-spacing: 0.05em; + transition: color var(--duration-fast) ease; +} + +.article-read:hover { color: var(--accent2); } |
