feat: CSS for home layout, story cards, trip sidebar, escape link

This commit is contained in:
2026-06-19 15:36:38 +02:00
parent 035c92f293
commit 86b2778a47
+199
View File
@@ -648,3 +648,202 @@ body::after {
outline: 2px solid var(--color-accent);
outline-offset: 2px;
}
/* ── Home page layout ────────────────────────────────────────────────────────── */
.home-page .site-main { max-width: none; padding: 0; }
.home-layout {
display: grid;
grid-template-columns: 45% 55%;
}
.home-map-col {
position: sticky;
top: var(--site-header-height);
height: calc(100vh - var(--site-header-height));
align-self: start;
}
.home-map {
width: 100%;
height: 100%;
}
.home-feed-col {
padding: var(--space-8) var(--space-8);
}
.home-trip-header {
margin-bottom: var(--space-8);
padding-bottom: var(--space-6);
border-bottom: 1px solid var(--color-border);
}
.home-trip-name {
font-family: var(--font-display);
font-size: var(--text-2xl);
font-weight: 400;
color: var(--color-ink);
margin-bottom: var(--space-2);
}
.home-trip-counts {
font-size: var(--text-sm);
color: var(--color-ink-muted);
}
@media (max-width: 768px) {
.home-layout { display: flex; flex-direction: column; }
.home-map-col { position: static; height: 40vh; }
.home-feed-col { padding: var(--space-6) var(--space-5); }
}
/* ── Past trips archive ──────────────────────────────────────────────────────── */
.trips-heading {
font-family: var(--font-display);
font-size: var(--text-2xl);
font-weight: 400;
color: var(--color-ink);
margin-bottom: var(--space-8);
}
.trips-list {
display: flex;
flex-direction: column;
gap: var(--space-4);
}
.trip-card {
display: block;
background: var(--color-canvas);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: var(--space-6);
text-decoration: none;
color: inherit;
transition: border-color 0.15s, background 0.15s;
}
.trip-card:hover {
border-color: var(--color-accent);
background: var(--color-surface-raised);
}
.trip-card-title {
font-family: var(--font-display);
font-size: var(--text-xl);
font-weight: 400;
color: var(--color-ink);
margin-bottom: var(--space-2);
}
.trip-card-meta {
display: flex;
gap: var(--space-4);
flex-wrap: wrap;
align-items: center;
}
.trip-card-dates { font-size: var(--text-sm); color: var(--color-ink-2); }
.trip-card-counts { font-size: var(--text-sm); color: var(--color-ink-muted); }
/* ── Trip page sidebar ───────────────────────────────────────────────────────── */
.trip-counts {
font-size: var(--text-sm);
color: var(--color-ink-muted);
margin-top: var(--space-2);
}
.trip-layout {
display: grid;
grid-template-columns: 1fr 220px;
gap: var(--space-10);
align-items: start;
}
.trip-sidebar {
position: sticky;
top: calc(var(--site-header-height) + var(--space-6));
display: flex;
flex-direction: column;
gap: var(--space-6);
}
.trip-sidebar-heading {
font-size: var(--text-xs);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--color-ink-muted);
margin-bottom: var(--space-3);
}
.trip-sidebar-list {
list-style: none;
display: flex;
flex-direction: column;
gap: var(--space-1);
}
.trip-sidebar-link {
display: block;
font-size: var(--text-sm);
color: var(--color-ink-2);
text-decoration: none;
padding: var(--space-1) 0;
transition: color 0.15s;
}
.trip-sidebar-link:hover { color: var(--color-accent); }
.trip-sidebar-date {
font-size: var(--text-xs);
color: var(--color-ink-muted);
margin-right: var(--space-2);
}
@media (max-width: 900px) {
.trip-layout { grid-template-columns: 1fr; }
.trip-sidebar { position: static; display: none; }
}
/* ── Story cards in feed ─────────────────────────────────────────────────────── */
.entry-card--story {
border-left: 3px solid var(--color-accent);
padding-left: var(--space-5);
}
.entry-card-photo--story { aspect-ratio: 16 / 7; }
.story-badge {
display: inline-block;
font-size: var(--text-xs);
font-weight: 600;
font-variant: small-caps;
letter-spacing: 0.08em;
color: var(--color-accent);
margin-bottom: var(--space-2);
}
/* ── Story page escape link ──────────────────────────────────────────────────── */
.story-escape {
position: fixed;
top: var(--space-5);
left: var(--space-5);
z-index: 200;
font-size: var(--text-sm);
font-weight: 500;
color: var(--color-ink);
text-decoration: none;
background: rgba(0,0,0,0.6);
padding: var(--space-2) var(--space-4);
border-radius: var(--radius-full);
backdrop-filter: blur(4px);
}
.story-escape:hover { color: var(--color-accent); }