diff --git a/DeepDrftPublic.Client/Pages/ArchiveView.razor b/DeepDrftPublic.Client/Pages/ArchiveView.razor
index 3eeb150..4dc3885 100644
--- a/DeepDrftPublic.Client/Pages/ArchiveView.razor
+++ b/DeepDrftPublic.Client/Pages/ArchiveView.razor
@@ -10,52 +10,54 @@
The release grid still prerenders so the archive is meaningful before hydration. *@
@if (RendererInfo.IsInteractive)
{
-
-
-
-
-
-
- All
- @foreach (var medium in _media)
- {
- @MediumLabel(medium)
- }
-
-
-
- @if (_genres.Count > 0)
- {
-
-
- @foreach (var genre in _genres)
- {
- @genre.Genre
- }
-
+
+
+
- }
+
+
+
+ All
+ @foreach (var medium in _media)
+ {
+ @MediumLabel(medium)
+ }
+
+
+
+ @if (_genres.Count > 0)
+ {
+
+
+ @foreach (var genre in _genres)
+ {
+ @genre.Genre
+ }
+
+
+ }
+
}
@if (_loading)
diff --git a/DeepDrftPublic.Client/Pages/ArchiveView.razor.css b/DeepDrftPublic.Client/Pages/ArchiveView.razor.css
index d47c02e..867a730 100644
--- a/DeepDrftPublic.Client/Pages/ArchiveView.razor.css
+++ b/DeepDrftPublic.Client/Pages/ArchiveView.razor.css
@@ -2,10 +2,19 @@
padding-top: 16px;
}
-.archive-search-row {
+/* Single flex row: search left | toggle center | chips right.
+ On narrow screens the medium toggle reflows to its own centered row below. */
+.archive-controls-row {
display: flex;
- justify-content: flex-start;
- padding: 0 0 12px 0;
+ flex-wrap: wrap;
+ align-items: center;
+ gap: 24px;
+ padding: 0 0 20px 0;
+}
+
+.archive-controls-search {
+ flex: 1 1 auto;
+ min-width: 180px;
}
/* archive-search-field rides on MudTextField, whose root is a child Razor component element.
@@ -15,11 +24,35 @@
width: 100%;
}
-.archive-filter-row {
+.archive-controls-medium {
+ flex: 0 0 auto;
display: flex;
- justify-content: flex-start;
- flex-wrap: wrap;
- padding: 0 0 12px 0;
+ justify-content: center;
+}
+
+.archive-controls-genre {
+ flex: 0 0 auto;
+ display: flex;
+ justify-content: flex-end;
+}
+
+/* Narrow screens: push the medium toggle to a full-width centered second row.
+ Search and genre chips stay together on the first row. */
+@media (max-width: 600px) {
+ .archive-controls-medium {
+ order: 1;
+ flex: 1 0 100%;
+ justify-content: center;
+ }
+
+ .archive-controls-search {
+ order: 0;
+ }
+
+ .archive-controls-genre {
+ order: 0;
+ flex: 0 1 auto;
+ }
}
.archive-card-center {