diff --git a/Elternbeirat.Web/Features/Embeds/EventsEmbed.razor b/Elternbeirat.Web/Features/Embeds/EventsEmbed.razor
index 6cdc561..54818cb 100644
--- a/Elternbeirat.Web/Features/Embeds/EventsEmbed.razor
+++ b/Elternbeirat.Web/Features/Embeds/EventsEmbed.razor
@@ -7,15 +7,16 @@
@foreach (var ev in _upcomingEvents)
{
-
- @ev.Title
- @if (!string.IsNullOrWhiteSpace(ev.Location))
- {
- @ev.Location
- }
+
+ @ev.Title
+
+ @if (!string.IsNullOrWhiteSpace(ev.Location))
+ {
+ @ev.Location
+ }
+
}
- Alle Termine →
}
diff --git a/Elternbeirat.Web/Features/Embeds/PostsEmbed.razor b/Elternbeirat.Web/Features/Embeds/PostsEmbed.razor
index f50c856..dbb81d2 100644
--- a/Elternbeirat.Web/Features/Embeds/PostsEmbed.razor
+++ b/Elternbeirat.Web/Features/Embeds/PostsEmbed.razor
@@ -7,11 +7,12 @@
@foreach (var post in _latest)
{
- @post.Title
-
+
+ @post.Title
+
+
}
- Alle Beiträge →
}
diff --git a/Elternbeirat.Web/Features/Events/EventDate.razor.css b/Elternbeirat.Web/Features/Events/EventDate.razor.css
new file mode 100644
index 0000000..dc6f9c4
--- /dev/null
+++ b/Elternbeirat.Web/Features/Events/EventDate.razor.css
@@ -0,0 +1,9 @@
+/* The date's own look: small and softened, matching so post and event
+ cards read as one style. Lives with the component so every place that renders
+ (list, home embed) shows the date the same way. Positioning (margin
+ to neighbours) is NOT set here -- that is the surrounding list's job. */
+time {
+ display: block;
+ color: var(--color-text-soft); /* token, so it adapts in dark mode */
+ font-size: 0.85rem;
+}
diff --git a/Elternbeirat.Web/Features/Events/EventList.razor b/Elternbeirat.Web/Features/Events/EventList.razor
index 3a78f04..3193cdf 100644
--- a/Elternbeirat.Web/Features/Events/EventList.razor
+++ b/Elternbeirat.Web/Features/Events/EventList.razor
@@ -39,16 +39,18 @@ else
@foreach (var ev in _upcomingEvents)
{
-
- @ev.Title
- @if (!string.IsNullOrWhiteSpace(ev.Location))
- {
- @ev.Location
- }
- @if (!string.IsNullOrWhiteSpace(ev.Note))
- {
- @ev.Note
- }
+
+ @ev.Title
+
+ @if (!string.IsNullOrWhiteSpace(ev.Location))
+ {
+ @ev.Location
+ }
+ @if (!string.IsNullOrWhiteSpace(ev.Note))
+ {
+ @ev.Note
+ }
+
}
@@ -61,12 +63,14 @@ else
@foreach (var ev in _pastEvents)
{
-
- @ev.Title
- @if (!string.IsNullOrWhiteSpace(ev.Location))
- {
- @ev.Location
- }
+
+ @ev.Title
+
+ @if (!string.IsNullOrWhiteSpace(ev.Location))
+ {
+ @ev.Location
+ }
+
}
diff --git a/Elternbeirat.Web/Features/Posts/PostList.razor b/Elternbeirat.Web/Features/Posts/PostList.razor
index bbdd30f..a879961 100644
--- a/Elternbeirat.Web/Features/Posts/PostList.razor
+++ b/Elternbeirat.Web/Features/Posts/PostList.razor
@@ -29,8 +29,10 @@ else
@foreach (var post in _posts)
{
- @post.Title
-
+
+ @post.Title
+
+
}
diff --git a/Elternbeirat.Web/wwwroot/app.css b/Elternbeirat.Web/wwwroot/app.css
index 64a2b73..d77750e 100644
--- a/Elternbeirat.Web/wwwroot/app.css
+++ b/Elternbeirat.Web/wwwroot/app.css
@@ -219,7 +219,6 @@ h1:focus {
background: var(--color-bg);
border-radius: var(--radius);
box-shadow: var(--shadow);
- padding: var(--space-3) var(--space-4);
transition: box-shadow var(--transition);
}
@@ -228,6 +227,16 @@ h1:focus {
box-shadow: var(--shadow-hover);
}
+/* The whole card is one link. The fills the card and carries the padding (so
+ the entire surface is clickable, not just the text), and resets link colour and
+ underline so the content inside -- title, date, location -- keeps its own look. */
+.card-link {
+ display: block;
+ padding: var(--space-3) var(--space-4);
+ color: inherit;
+ text-decoration: none;
+}
+
/* FAQ topics: each is a collapsible card. Its summary is the topic heading; open it
to reveal the optional intro and the questions (themselves collapsible .faq-item
cards). The topic marker is a rotating triangle, distinct from the +/- on the
@@ -280,41 +289,28 @@ h1:focus {
color: var(--color-text-soft);
}
-/* Posts */
-.post-list a {
- font-size: 1.15rem;
- font-weight: 600;
- text-decoration: none;
-}
-
-/* The date's look (small, softened) comes from PostDate.razor.css. Here only the
- list-specific spacing: nudge the date down from the post's title link above. */
-.post-list time {
- margin-top: var(--space-1);
-}
-
-/* Events: the date leads in the warm accent colour. */
-.event-list time {
- display: block;
- color: var(--color-accent-dark);
- font-weight: 600;
- font-size: 0.9rem;
-}
-
+/* Post and event cards are built the same way, so they read as one style on the
+ home page where both appear: the title leads in the brand colour (the whole card
+ is the link, so the title itself is plain text), the date sits quietly beneath. */
+.post-title,
.event-title {
display: block;
- margin-top: var(--space-1);
font-size: 1.15rem;
font-weight: 600;
color: var(--color-brand);
}
-.event-location::before {
- content: " · ";
- color: var(--color-text-soft);
+/* The date's small, softened look comes from PostDate.razor.css / EventDate; here
+ only the shared spacing: nudge it down from the title above. */
+.post-list time,
+.event-list time {
+ margin-top: var(--space-1);
}
+/* The location sits on its own quiet line beneath the date. */
.event-location {
+ display: block;
+ margin-top: var(--space-1);
color: var(--color-text-soft);
}
@@ -388,25 +384,3 @@ h1:focus {
padding-top: var(--space-2);
color: var(--color-text);
}
-
-/* "Alle Beiträge/Termine/Fragen →" links below an embedded list on the home page.
- Set apart from the cards with extra space above, and styled as a distinct call
- to action in the accent colour rather than looking like body text. The arrow
- nudges right on hover for a subtle bit of life. */
-.embed-more {
- margin-top: var(--space-4);
- max-width: none; /* override the global paragraph reading cap */
-}
-
-.embed-more a {
- display: inline-flex;
- align-items: center;
- gap: var(--space-2);
- font-weight: 600;
- color: var(--color-accent-dark);
- text-decoration: none;
-}
-
-.embed-more a:hover {
- color: var(--color-brand);
-}