Index: KernelRecordsMVC.Application/ViewModels/CreateTrackViewModel.cs
===================================================================
--- KernelRecordsMVC.Application/ViewModels/CreateTrackViewModel.cs	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Application/ViewModels/CreateTrackViewModel.cs	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -5,15 +5,17 @@
 public class CreateTrackViewModel
 {
-    [Required]
+    [Required(ErrorMessage = "Track name is required.")]
     [Display(Name = "Track Name")]
     public string SongName { get; set; } = string.Empty;
 
 
-    [Required]
+    [Required(ErrorMessage = "Track duration is required.")]
+    [RegularExpression(
+        @"^\d{1,2}:[0-5]\d$",
+        ErrorMessage = "Track duration must be in MM:SS format, for example 03:42.")]
     [Display(Name = "Duration")]
     public string SongDuration { get; set; } = string.Empty;
 
 
-    [Display(Name = "Track Artists")]
     public List<long> ArtistIds { get; set; } = new();
 }
Index: KernelRecordsMVC.Application/obj/Debug/net8.0/KernelRecordsMVC.Application.AssemblyInfo.cs
===================================================================
--- KernelRecordsMVC.Application/obj/Debug/net8.0/KernelRecordsMVC.Application.AssemblyInfo.cs	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Application/obj/Debug/net8.0/KernelRecordsMVC.Application.AssemblyInfo.cs	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -14,5 +14,5 @@
 [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
 [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d89d25b3a7f785676877cf198c9cc706308ab4a3")]
 [assembly: System.Reflection.AssemblyProductAttribute("KernelRecordsMVC.Application")]
 [assembly: System.Reflection.AssemblyTitleAttribute("KernelRecordsMVC.Application")]
Index: KernelRecordsMVC.Application/obj/Debug/net8.0/KernelRecordsMVC.Application.AssemblyInfoInputs.cache
===================================================================
--- KernelRecordsMVC.Application/obj/Debug/net8.0/KernelRecordsMVC.Application.AssemblyInfoInputs.cache	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Application/obj/Debug/net8.0/KernelRecordsMVC.Application.AssemblyInfoInputs.cache	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -1,1 +1,1 @@
-0a806091492b419d863bcf31dc25ce545b03be1d3b3d188a337ab3ca6889ac3f
+1de1e67b21e6555460bba54dec4600f29627ec11612fbabaf75aead1668384fb
Index: KernelRecordsMVC.Application/obj/Debug/net8.0/KernelRecordsMVC.Application.sourcelink.json
===================================================================
--- KernelRecordsMVC.Application/obj/Debug/net8.0/KernelRecordsMVC.Application.sourcelink.json	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Application/obj/Debug/net8.0/KernelRecordsMVC.Application.sourcelink.json	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -1,1 +1,1 @@
-{"documents":{"C:\\Users\\Marko\\RiderProjects\\KernelRecordsMVC\\*":"https://raw.githubusercontent.com/mmilevski/kernelrecords/d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63/*"}}
+{"documents":{"C:\\Users\\Marko\\RiderProjects\\KernelRecordsMVC\\*":"https://raw.githubusercontent.com/mmilevski/kernelrecords/d89d25b3a7f785676877cf198c9cc706308ab4a3/*"}}
Index: KernelRecordsMVC.Domain/obj/Debug/net8.0/KernelRecordsMVC.Domain.AssemblyInfo.cs
===================================================================
--- KernelRecordsMVC.Domain/obj/Debug/net8.0/KernelRecordsMVC.Domain.AssemblyInfo.cs	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Domain/obj/Debug/net8.0/KernelRecordsMVC.Domain.AssemblyInfo.cs	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -14,5 +14,5 @@
 [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
 [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d89d25b3a7f785676877cf198c9cc706308ab4a3")]
 [assembly: System.Reflection.AssemblyProductAttribute("KernelRecordsMVC.Domain")]
 [assembly: System.Reflection.AssemblyTitleAttribute("KernelRecordsMVC.Domain")]
Index: KernelRecordsMVC.Domain/obj/Debug/net8.0/KernelRecordsMVC.Domain.AssemblyInfoInputs.cache
===================================================================
--- KernelRecordsMVC.Domain/obj/Debug/net8.0/KernelRecordsMVC.Domain.AssemblyInfoInputs.cache	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Domain/obj/Debug/net8.0/KernelRecordsMVC.Domain.AssemblyInfoInputs.cache	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -1,1 +1,1 @@
-9ac54125bd905265e26e18e6c5ad395dc962c3187cbd749ef37d34bb164ca220
+2c5c6269aac41449bcb50d10a12b287cb457ef35a5d93683092ccb6ff4c72e0c
Index: KernelRecordsMVC.Domain/obj/Debug/net8.0/KernelRecordsMVC.Domain.sourcelink.json
===================================================================
--- KernelRecordsMVC.Domain/obj/Debug/net8.0/KernelRecordsMVC.Domain.sourcelink.json	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Domain/obj/Debug/net8.0/KernelRecordsMVC.Domain.sourcelink.json	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -1,1 +1,1 @@
-{"documents":{"C:\\Users\\Marko\\RiderProjects\\KernelRecordsMVC\\*":"https://raw.githubusercontent.com/mmilevski/kernelrecords/d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63/*"}}
+{"documents":{"C:\\Users\\Marko\\RiderProjects\\KernelRecordsMVC\\*":"https://raw.githubusercontent.com/mmilevski/kernelrecords/d89d25b3a7f785676877cf198c9cc706308ab4a3/*"}}
Index: KernelRecordsMVC.Infrastructure/obj/Debug/net8.0/KernelRecordsMVC.Infrastructure.AssemblyInfo.cs
===================================================================
--- KernelRecordsMVC.Infrastructure/obj/Debug/net8.0/KernelRecordsMVC.Infrastructure.AssemblyInfo.cs	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Infrastructure/obj/Debug/net8.0/KernelRecordsMVC.Infrastructure.AssemblyInfo.cs	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -14,5 +14,5 @@
 [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
 [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d89d25b3a7f785676877cf198c9cc706308ab4a3")]
 [assembly: System.Reflection.AssemblyProductAttribute("KernelRecordsMVC.Infrastructure")]
 [assembly: System.Reflection.AssemblyTitleAttribute("KernelRecordsMVC.Infrastructure")]
Index: KernelRecordsMVC.Infrastructure/obj/Debug/net8.0/KernelRecordsMVC.Infrastructure.AssemblyInfoInputs.cache
===================================================================
--- KernelRecordsMVC.Infrastructure/obj/Debug/net8.0/KernelRecordsMVC.Infrastructure.AssemblyInfoInputs.cache	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Infrastructure/obj/Debug/net8.0/KernelRecordsMVC.Infrastructure.AssemblyInfoInputs.cache	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -1,1 +1,1 @@
-0a244f365ce2ab97b7911a45cd06642ace0b6002cc3788b6ed779b9b4d4fb537
+5ec5e89a0b05a9fba0312a8736adff239c38327d3e73e894fad14b10b6985769
Index: KernelRecordsMVC.Infrastructure/obj/Debug/net8.0/KernelRecordsMVC.Infrastructure.sourcelink.json
===================================================================
--- KernelRecordsMVC.Infrastructure/obj/Debug/net8.0/KernelRecordsMVC.Infrastructure.sourcelink.json	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Infrastructure/obj/Debug/net8.0/KernelRecordsMVC.Infrastructure.sourcelink.json	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -1,1 +1,1 @@
-{"documents":{"C:\\Users\\Marko\\RiderProjects\\KernelRecordsMVC\\*":"https://raw.githubusercontent.com/mmilevski/kernelrecords/d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63/*"}}
+{"documents":{"C:\\Users\\Marko\\RiderProjects\\KernelRecordsMVC\\*":"https://raw.githubusercontent.com/mmilevski/kernelrecords/d89d25b3a7f785676877cf198c9cc706308ab4a3/*"}}
Index: KernelRecordsMVC.Web/Controllers/AdminController.cs
===================================================================
--- KernelRecordsMVC.Web/Controllers/AdminController.cs	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/Controllers/AdminController.cs	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -497,7 +497,12 @@
 
 
-        // =====================================================
-        // RELEASE TYPE VALIDATION
-        // =====================================================
+        // =========================================================
+        // NORMALIZE RELEASE TYPE
+        // =========================================================
+
+        model.ReleaseType =
+            model.ReleaseType?.Trim().ToUpperInvariant()
+            ?? string.Empty;
+
 
         if (model.ReleaseType != "ALBUM" &&
@@ -510,12 +515,11 @@
 
 
-        // =====================================================
+        // =========================================================
         // MAIN ARTIST VALIDATION
-        // =====================================================
+        // =========================================================
 
         var mainArtistExists =
             _context.Artists.Any(a =>
-                a.ArtistId ==
-                model.MainArtistId);
+                a.ArtistId == model.MainArtistId);
 
 
@@ -528,7 +532,7 @@
 
 
-        // =====================================================
+        // =========================================================
         // FEATURED ARTISTS
-        // =====================================================
+        // =========================================================
 
         model.FeaturedArtistIds ??=
@@ -539,14 +543,9 @@
             model.FeaturedArtistIds
                 .Distinct()
+                .Where(id =>
+                    id != model.MainArtistId)
                 .ToList();
 
 
-        // Do not allow the main artist
-        // to also be a featured artist.
-        model.FeaturedArtistIds.Remove(
-            model.MainArtistId);
-
-
-        // Validate that featured artists exist.
         if (model.FeaturedArtistIds.Count > 0)
         {
@@ -567,12 +566,32 @@
 
 
-        // =====================================================
+        // =========================================================
         // SINGLE VALIDATION
-        // =====================================================
+        // =========================================================
 
         if (model.ReleaseType == "SINGLE")
         {
+            // Album track values do not apply to a single.
+            model.Tracks =
+                new List<CreateTrackViewModel>();
+
+
+            var trackModelStateKeys =
+                ModelState.Keys
+                    .Where(key =>
+                        key.StartsWith(
+                            "Tracks[",
+                            StringComparison.OrdinalIgnoreCase))
+                    .ToList();
+
+
+            foreach (var key in trackModelStateKeys)
+            {
+                ModelState.Remove(key);
+            }
+
+
             if (string.IsNullOrWhiteSpace(
-                model.SingleDuration))
+                    model.SingleDuration))
             {
                 ModelState.AddModelError(
@@ -580,18 +599,51 @@
                     "Duration is required for a single.");
             }
-        }
-
-
-        // =====================================================
+            else if (!System.Text.RegularExpressions.Regex.IsMatch(
+                         model.SingleDuration.Trim(),
+                         @"^\d{1,2}:[0-5]\d$"))
+            {
+                ModelState.AddModelError(
+                    nameof(model.SingleDuration),
+                    "Duration must be in MM:SS format, for example 03:42.");
+            }
+        }
+
+
+        // =========================================================
         // ALBUM VALIDATION
-        // =====================================================
+        // =========================================================
 
         if (model.ReleaseType == "ALBUM")
         {
+            // Single duration does not apply to an album.
+            ModelState.Remove(
+                nameof(model.SingleDuration));
+
+            model.SingleDuration =
+                null;
+
+
             model.Tracks ??=
                 new List<CreateTrackViewModel>();
 
 
-            // Remove completely empty rows.
+            // The model binder may already have added validation
+            // errors for blank track rows. Remove those and validate
+            // the cleaned list ourselves.
+            var existingTrackKeys =
+                ModelState.Keys
+                    .Where(key =>
+                        key.StartsWith(
+                            "Tracks[",
+                            StringComparison.OrdinalIgnoreCase))
+                    .ToList();
+
+
+            foreach (var key in existingTrackKeys)
+            {
+                ModelState.Remove(key);
+            }
+
+
             model.Tracks =
                 model.Tracks
@@ -625,5 +677,5 @@
                     ModelState.AddModelError(
                         $"Tracks[{i}].SongName",
-                        "Track name is required.");
+                        $"Track {i + 1}: name is required.");
                 }
 
@@ -634,5 +686,5 @@
                     ModelState.AddModelError(
                         $"Tracks[{i}].SongDuration",
-                        "Track duration is required.");
+                        $"Track {i + 1}: duration is required.");
                 }
 
@@ -648,5 +700,4 @@
 
 
-                // Validate selected track artists.
                 if (track.ArtistIds.Count > 0)
                 {
@@ -662,5 +713,5 @@
                         ModelState.AddModelError(
                             $"Tracks[{i}].ArtistIds",
-                            "One or more selected track artists are invalid.");
+                            $"Track {i + 1}: one or more artists are invalid.");
                     }
                 }
@@ -669,4 +720,8 @@
 
 
+        // =========================================================
+        // VALIDATION FAILED
+        // =========================================================
+
         if (!ModelState.IsValid)
         {
@@ -676,4 +731,8 @@
         }
 
+
+        // =========================================================
+        // DATABASE TRANSACTION
+        // =========================================================
 
         using var transaction =
@@ -683,7 +742,7 @@
         try
         {
-            // =================================================
-            // CREATE RELEASE
-            // =================================================
+            // =====================================================
+            // RELEASE
+            // =====================================================
 
             var release =
@@ -719,9 +778,9 @@
 
 
-            // =================================================
-            // MAIN RELEASE ARTIST
-            // =================================================
-
-            var mainReleaseArtist =
+            // =====================================================
+            // RELEASE ARTISTS
+            // =====================================================
+
+            _context.ReleaseArtists.Add(
                 new ReleaseArtist
                 {
@@ -732,18 +791,11 @@
                         model.MainArtistId,
 
-                    ReleaseOrdinal = 1,
+                    ReleaseOrdinal =
+                        1,
 
                     Type =
                         ArtistReleaseType.MAIN
-                };
-
-
-            _context.ReleaseArtists.Add(
-                mainReleaseArtist);
-
-
-            // =================================================
-            // FEATURED RELEASE ARTISTS
-            // =================================================
+                });
+
 
             long releaseOrdinal = 2;
@@ -753,5 +805,5 @@
                      in model.FeaturedArtistIds)
             {
-                var featuredArtist =
+                _context.ReleaseArtists.Add(
                     new ReleaseArtist
                     {
@@ -767,9 +819,5 @@
                         Type =
                             ArtistReleaseType.FEATURE
-                    };
-
-
-                _context.ReleaseArtists.Add(
-                    featuredArtist);
+                    });
             }
 
@@ -778,7 +826,7 @@
 
 
-            // =================================================
+            // =====================================================
             // ALBUM
-            // =================================================
+            // =====================================================
 
             if (model.ReleaseType == "ALBUM")
@@ -798,7 +846,9 @@
 
 
-                // =============================================
-                // TRACKS
-                // =============================================
+                // Get the next song ID once for this request.
+                // Each track then gets a unique incremented ID.
+                var nextSongId =
+                    GetNextSongId();
+
 
                 foreach (var trackModel
@@ -809,15 +859,11 @@
                         {
                             SongId =
-                                GetNextSongId(),
+                                nextSongId++,
 
                             SongName =
-                                trackModel
-                                    .SongName
-                                    .Trim(),
+                                trackModel.SongName.Trim(),
 
                             SongDuration =
-                                trackModel
-                                    .SongDuration
-                                    .Trim()
+                                trackModel.SongDuration.Trim()
                         };
 
@@ -829,9 +875,5 @@
 
 
-                    // =========================================
-                    // LINK SONG TO ALBUM
-                    // =========================================
-
-                    var albumSong =
+                    _context.AlbumSongs.Add(
                         new AlbumSong
                         {
@@ -841,14 +883,6 @@
                             SongId =
                                 song.SongId
-                        };
-
-
-                    _context.AlbumSongs.Add(
-                        albumSong);
-
-
-                    // =========================================
-                    // SONG ARTISTS
-                    // =========================================
+                        });
+
 
                     var trackArtistIds =
@@ -858,7 +892,6 @@
 
 
-                    // If no track artists were selected,
-                    // automatically use the release's
-                    // main artist.
+                    // Default to the main release artist when
+                    // no track-specific artists were selected.
                     if (trackArtistIds.Count == 0)
                     {
@@ -874,5 +907,5 @@
                              in trackArtistIds)
                     {
-                        var songArtist =
+                        _context.SongArtists.Add(
                             new SongArtist
                             {
@@ -885,9 +918,5 @@
                                 SongOrdinal =
                                     songOrdinal++
-                            };
-
-
-                        _context.SongArtists.Add(
-                            songArtist);
+                            });
                     }
 
@@ -898,11 +927,11 @@
 
 
-            // =================================================
+            // =====================================================
             // SINGLE
-            // =================================================
+            // =====================================================
 
             else
             {
-                var single =
+                _context.SingleReleases.Add(
                     new SingleRelease
                     {
@@ -911,11 +940,7 @@
 
                         Duration =
-                            model.SingleDuration!
-                                .Trim()
-                    };
-
-
-                _context.SingleReleases.Add(
-                    single);
+                            model.SingleDuration!.Trim()
+                    });
+
 
                 _context.SaveChanges();
@@ -931,11 +956,27 @@
 
             return RedirectToAction(
-                nameof(Index));
-        }
-        catch
+                nameof(Releases));
+        }
+        catch (Exception ex)
         {
             transaction.Rollback();
 
-            throw;
+
+            Console.WriteLine(
+                "CREATE RELEASE FAILED:");
+
+            Console.WriteLine(ex);
+
+
+            ModelState.AddModelError(
+                string.Empty,
+                ex.InnerException?.Message
+                ?? ex.Message);
+
+
+            LoadArtists();
+
+
+            return View(model);
         }
     }
Index: KernelRecordsMVC.Web/Controllers/ReleaseController.cs
===================================================================
--- KernelRecordsMVC.Web/Controllers/ReleaseController.cs	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/Controllers/ReleaseController.cs	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -139,14 +139,16 @@
     {
         var release = _context.Releases
+            .Include(r => r.ReleaseArtists)
+            .ThenInclude(ra => ra.Artist)
+
             .Include(r => r.Products)
-
-            .Include(r => r.ReleaseArtists)
-                .ThenInclude(ra => ra.Artist)
+            .ThenInclude(p => p.ModificationProducts)
+            .ThenInclude(mp => mp.Modification)
 
             .Include(r => r.Album)
-                .ThenInclude(a => a!.AlbumSongs)
-                    .ThenInclude(x => x.Song)
-                        .ThenInclude(s => s.SongArtists)
-                            .ThenInclude(sa => sa.Artist)
+            .ThenInclude(a => a.AlbumSongs)
+            .ThenInclude(albumSong => albumSong.Song)
+            .ThenInclude(song => song.SongArtists)
+            .ThenInclude(songArtist => songArtist.Artist)
 
             .Include(r => r.SingleRelease)
Index: KernelRecordsMVC.Web/Views/Admin/CreateRelease.cshtml
===================================================================
--- KernelRecordsMVC.Web/Views/Admin/CreateRelease.cshtml	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/Views/Admin/CreateRelease.cshtml	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -43,8 +43,7 @@
 
 
-        <div asp-validation-summary="ModelOnly"
+        <div asp-validation-summary="All"
              class="admin-validation">
         </div>
-
 
         <!-- =================================================
@@ -489,5 +488,7 @@
                                 <input asp-for="Tracks[i].SongDuration"
                                        data-field="SongDuration"
-                                       placeholder="03:42" />
+                                       placeholder="03:42"
+                                       inputmode="numeric"
+                                       maxlength="5" />
 
                                 <span asp-validation-for="Tracks[i].SongDuration"
@@ -645,5 +646,9 @@
                     <input type="text"
                            data-field="SongDuration"
-                           placeholder="03:42" />
+                           placeholder="03:42"
+                           inputmode="numeric"
+                           maxlength="5"
+                           pattern="\d{1,2}:[0-5]\d"
+                           title="Enter a duration like 03:42" />
 
                 </div>
Index: KernelRecordsMVC.Web/Views/Admin/Index.cshtml
===================================================================
--- KernelRecordsMVC.Web/Views/Admin/Index.cshtml	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/Views/Admin/Index.cshtml	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -13,9 +13,4 @@
         <div>
 
-            <img src="~/images/logo.png"
-                 asp-append-version="true"
-                 alt="Kernel Records"
-                 class="admin-page-logo" />
-
             <h1>Admin Dashboard</h1>
 
@@ -310,96 +305,3 @@
     </section>
 
-
-    <!-- =====================================================
-         WORKFLOW INFO
-         ===================================================== -->
-
-    <section class="admin-section">
-
-        <div class="admin-section-heading">
-
-            <div>
-
-                <span class="admin-eyebrow">
-                    ADMIN WORKFLOW
-                </span>
-
-                <h2>Catalog Process</h2>
-
-            </div>
-
-        </div>
-
-
-        <div class="admin-workflow-grid">
-
-            <div class="admin-workflow-card">
-
-                <span class="admin-workflow-number">
-                    01
-                </span>
-
-                <div>
-
-                    <strong>
-                        Create Release
-                    </strong>
-
-                    <p>
-                        Add the album or single,
-                        artists and track information.
-                    </p>
-
-                </div>
-
-            </div>
-
-
-            <div class="admin-workflow-card">
-
-                <span class="admin-workflow-number">
-                    02
-                </span>
-
-                <div>
-
-                    <strong>
-                        Create Product
-                    </strong>
-
-                    <p>
-                        Add its vinyl, CD or cassette
-                        store edition.
-                    </p>
-
-                </div>
-
-            </div>
-
-
-            <div class="admin-workflow-card">
-
-                <span class="admin-workflow-number">
-                    03
-                </span>
-
-                <div>
-
-                    <strong>
-                        Manage Inventory
-                    </strong>
-
-                    <p>
-                        Change prices, stock,
-                        descriptions or apply discounts.
-                    </p>
-
-                </div>
-
-            </div>
-
-        </div>
-
-    </section>
-
 </div>
Index: KernelRecordsMVC.Web/Views/Release/Details.cshtml
===================================================================
--- KernelRecordsMVC.Web/Views/Release/Details.cshtml	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/Views/Release/Details.cshtml	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -1,3 +1,4 @@
-﻿@model KernelRecordsMVC.Models.Release
+﻿@using KernelRecordsMVC.Domain.Enums
+@model KernelRecordsMVC.Models.Release
 
 @{
@@ -172,4 +173,37 @@
                     .OrderBy(x => x.Format))
                 {
+                    var latestModification =
+                        product.ModificationProducts?
+                            .Select(mp => mp.Modification)
+                            .OrderByDescending(m => m.DateModified)
+                            .ThenByDescending(m => m.ModificationId)
+                            .FirstOrDefault();
+
+                    var isDiscounted =
+                        latestModification != null &&
+                        latestModification.TypeOfModification ==
+                            ModificationType.DISCOUNT &&
+                        latestModification.Discount.HasValue &&
+                        latestModification.Discount.Value > 0 &&
+                        latestModification.Discount.Value < 100;
+
+                    decimal? originalPrice = null;
+                    decimal? discountPercentage = null;
+
+                    if (isDiscounted)
+                    {
+                        discountPercentage =
+                            latestModification!.Discount!.Value;
+
+                        originalPrice =
+                            Math.Round(
+                                product.Price /
+                                (1m -
+                                 discountPercentage.Value / 100m),
+                                2,
+                                MidpointRounding.AwayFromZero);
+                    }
+
+
                     <div class="store-product-card">
 
@@ -197,7 +231,36 @@
 
 
-                        <div class="product-price">
-                            @product.Price.ToString("C")
-                        </div>
+                        <!-- PRICE -->
+
+                        @if (isDiscounted &&
+                             originalPrice.HasValue &&
+                             discountPercentage.HasValue)
+                        {
+                            <div class="product-sale-price">
+
+                                <div class="product-price-row">
+
+                                    <span class="product-original-price">
+                                        @originalPrice.Value.ToString("C")
+                                    </span>
+
+                                    <span class="product-current-price">
+                                        @product.Price.ToString("C")
+                                    </span>
+
+                                </div>
+
+                                <span class="product-discount-badge">
+                                    -@discountPercentage.Value.ToString("0.##")%
+                                </span>
+
+                            </div>
+                        }
+                        else
+                        {
+                            <div class="product-price">
+                                @product.Price.ToString("C")
+                            </div>
+                        }
 
 
@@ -249,6 +312,4 @@
                         {
                             <div class="product-actions">
-
-                                <!-- OUT OF STOCK: WISHLIST ONLY -->
 
                                 <form asp-controller="Wishlist"
Index: KernelRecordsMVC.Web/Views/Release/Index.cshtml
===================================================================
--- KernelRecordsMVC.Web/Views/Release/Index.cshtml	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/Views/Release/Index.cshtml	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -318,5 +318,5 @@
 
                                 <strong>
-                                    @(lowestPrice?.ToString("C") ?? "N/A")
+                                    @(lowestPrice?.ToString("C") ?? "Coming soon!")
                                 </strong>
 
Index: KernelRecordsMVC.Web/Views/Shared/_Layout.cshtml
===================================================================
--- KernelRecordsMVC.Web/Views/Shared/_Layout.cshtml	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/Views/Shared/_Layout.cshtml	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -1,6 +1,26 @@
 ﻿@using Microsoft.AspNetCore.Http
+@using Microsoft.EntityFrameworkCore
+@using KernelRecordsMVC.Infrastructure.Data
+@using KernelRecordsMVC.Domain.Enums
+@inject KernelRecordsContext DbContext
+
+@{
+    long cartCount = 0;
+
+    var sessionUserId = Context.Session.GetInt32("UserId");
+
+    if (sessionUserId.HasValue)
+    {
+        var userId = (long)sessionUserId.Value;
+
+        cartCount = await DbContext.OrderProducts
+            .Where(op =>
+                op.Order.UserId == userId &&
+                op.Order.Status == OrderStatusType.PENDING)
+            .SumAsync(op => (long?)op.Quantity) ?? 0;
+    }
+}
 
 <!DOCTYPE html>
-
 <html lang="en">
 <head>
@@ -8,10 +28,9 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 
-
-<title>@ViewData["Title"] - Kernel Records</title>
-
-<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
-
-
+    <title>@ViewData["Title"] - Kernel Records</title>
+
+    <link rel="stylesheet"
+          href="~/css/site.css"
+          asp-append-version="true" />
 </head>
 
@@ -20,414 +39,293 @@
 <header class="site-header">
 
-
-<!-- =====================================================
-     MAIN NAVBAR
-     ===================================================== -->
-
-<nav class="navbar">
-
-    <div class="navbar-container">
-
-        <!-- LOGO -->
-
-        <a asp-controller="Home"
-           asp-action="Index"
-           class="navbar-brand logo-brand">
-
-            <img src="~/images/logo.png"
-                 asp-append-version="true"
-                 alt="Kernel Records"
-                 class="site-logo" />
-
-        </a>
-
-
-        <!-- MOBILE MENU BUTTON -->
-
-        <button class="mobile-menu-button"
-                type="button"
-                aria-label="Toggle navigation"
-                onclick="toggleMobileMenu()">
-
-            ☰
-
-        </button>
-
-
-        <!-- NAVBAR CONTENT -->
-
-        <div class="navbar-content"
-             id="navbarContent">
-
-
-            <!-- =================================================
-                 MAIN NAVIGATION
-                 ================================================= -->
-
-            <ul class="nav-links">
-
-                <!-- Browse -->
-
-                <li>
-
-                    <a asp-controller="Release"
-                       asp-action="Index">
-
-                        Browse
-
-                    </a>
-
-                </li>
-
-
-                <!-- Top Sellers -->
-
-                <li>
-
-                    <a asp-controller="TopSellers"
-                       asp-action="Index">
-
-                        Top Sellers
-
-                    </a>
-
-                </li>
-
-
-                <!-- Artists -->
-
-                <li>
-
-                    <a asp-controller="Artist"
-                       asp-action="Index">
-
-                        Artists
-
-                    </a>
-
-                </li>
-
-
-                <!-- Genres -->
-
-                <li class="nav-dropdown">
-
-                    <a href="#"
-                       class="dropdown-toggle">
-
-                        Genres
-
-                        <span class="arrow">
-                            ⌄
-                        </span>
-
-                    </a>
-
-
-                    <div class="dropdown-menu">
-
-                        <a asp-controller="Release"
-                           asp-action="Index"
-                           asp-route-genre="Rock">
-
-                            Rock
-
-                        </a>
-
-                        <a asp-controller="Release"
-                           asp-action="Index"
-                           asp-route-genre="Pop">
-
-                            Pop
-
-                        </a>
-
-                        <a asp-controller="Release"
-                           asp-action="Index"
-                           asp-route-genre="Hip-Hop">
-
-                            Hip-Hop
-
-                        </a>
-
-                        <a asp-controller="Release"
-                           asp-action="Index"
-                           asp-route-genre="Jazz">
-
-                            Jazz
-
-                        </a>
-
-                        <a asp-controller="Release"
-                           asp-action="Index"
-                           asp-route-genre="Electronic">
-
-                            Electronic
-
-                        </a>
-
+    <!-- =====================================================
+         MAIN NAVBAR
+         ===================================================== -->
+
+    <nav class="navbar">
+
+        <div class="navbar-container">
+
+            <!-- LOGO -->
+
+            <a asp-controller="Home"
+               asp-action="Index"
+               class="navbar-brand logo-brand">
+
+                <img src="~/images/logo.png"
+                     asp-append-version="true"
+                     alt="Kernel Records"
+                     class="site-logo" />
+
+            </a>
+
+
+            <!-- MOBILE MENU BUTTON -->
+
+            <button class="mobile-menu-button"
+                    type="button"
+                    aria-label="Toggle navigation"
+                    onclick="toggleMobileMenu()">
+                ☰
+            </button>
+
+
+            <!-- NAVBAR CONTENT -->
+
+            <div class="navbar-content"
+                 id="navbarContent">
+
+                <!-- =================================================
+                     MAIN NAVIGATION
+                     ================================================= -->
+
+                <ul class="nav-links">
+
+                    <li>
                         <a asp-controller="Release"
                            asp-action="Index">
-
-                            All Genres
-
+                            Browse
                         </a>
-
-                    </div>
-
-                </li>
-
-
-                <!-- Sale -->
-
-                <li>
-
-                    <a asp-controller="Sale"
+                    </li>
+
+                    <li>
+                        <a asp-controller="TopSellers"
+                           asp-action="Index">
+                            Top Sellers
+                        </a>
+                    </li>
+
+                    <li>
+                        <a asp-controller="Artist"
+                           asp-action="Index">
+                            Artists
+                        </a>
+                    </li>
+
+                    <li class="nav-dropdown">
+
+                        <a href="#"
+                           class="dropdown-toggle">
+                            Genres
+                            <span class="arrow">⌄</span>
+                        </a>
+
+                        <div class="dropdown-menu">
+
+                            <a asp-controller="Release"
+                               asp-action="Index"
+                               asp-route-genre="Rock">
+                                Rock
+                            </a>
+
+                            <a asp-controller="Release"
+                               asp-action="Index"
+                               asp-route-genre="Pop">
+                                Pop
+                            </a>
+
+                            <a asp-controller="Release"
+                               asp-action="Index"
+                               asp-route-genre="Hip-Hop">
+                                Hip-Hop
+                            </a>
+
+                            <a asp-controller="Release"
+                               asp-action="Index"
+                               asp-route-genre="Jazz">
+                                Jazz
+                            </a>
+
+                            <a asp-controller="Release"
+                               asp-action="Index"
+                               asp-route-genre="Electronic">
+                                Electronic
+                            </a>
+
+                            <a asp-controller="Release"
+                               asp-action="Index">
+                                All Genres
+                            </a>
+
+                        </div>
+
+                    </li>
+
+                    <li>
+                        <a asp-controller="Sale"
+                           asp-action="Index"
+                           class="nav-sale">
+                            Sale
+                        </a>
+                    </li>
+
+                </ul>
+
+
+                <!-- =================================================
+                     SEARCH
+                     ================================================= -->
+
+                <form class="navbar-search"
+                      asp-controller="Release"
+                      asp-action="Index"
+                      method="get">
+
+                    <input type="text"
+                           name="search"
+                           placeholder="Search releases..."
+                           autocomplete="off" />
+
+                    <button type="submit"
+                            aria-label="Search">
+                        <span>⌕</span>
+                    </button>
+
+                </form>
+
+
+                <!-- =================================================
+                     RIGHT SIDE ACTIONS
+                     ================================================= -->
+
+                <div class="navbar-actions">
+
+                    <!-- WISHLIST -->
+
+                    <a class="nav-icon"
+                       asp-controller="Wishlist"
                        asp-action="Index"
-                       class="nav-sale">
-
-                        Sale
+                       title="Wishlist">
+
+                        <span class="icon">♡</span>
+
+                        <span class="icon-label">
+                            Wishlist
+                        </span>
 
                     </a>
 
-                </li>
-
-            </ul>
-
-
-            <!-- =================================================
-                 SEARCH
-                 ================================================= -->
-
-            <form class="navbar-search"
-                  asp-controller="Release"
-                  asp-action="Index"
-                  method="get">
-
-                <input type="text"
-                       name="search"
-                       placeholder="Search releases..."
-                       autocomplete="off" />
-
-                <button type="submit"
-                        aria-label="Search">
-
-                    <span>
-                        ⌕
-                    </span>
-
-                </button>
-
-            </form>
-
-
-            <!-- =================================================
-                 RIGHT SIDE ACTIONS
-                 ================================================= -->
-
-            <div class="navbar-actions">
-
-
-                <!-- =================================================
-                     WISHLIST
-                     ================================================= -->
-
-                <a class="nav-icon"
-                   asp-controller="Wishlist"
-                   asp-action="Index"
-                   title="Wishlist">
-
-                    <span class="icon">
-                        ♡
-                    </span>
-
-                    <span class="icon-label">
-                        Wishlist
-                    </span>
-
-                </a>
-
-
-                <!-- =================================================
-                     CART
-                     ================================================= -->
-
-                <a class="nav-icon"
-                   asp-controller="Order"
-                   asp-action="Cart"
-                   title="Shopping Cart">
-
-                    <span class="icon cart-icon">
-                        🛒
-                    </span>
-
-                    <span class="icon-label">
-                        Cart
-                    </span>
-
-                </a>
-
-
-                <!-- =================================================
-                     ACCOUNT
-                     ================================================= -->
-
-                @if (Context.Session.GetInt32("UserId") != null)
-                {
-
-                    <!-- LOGGED IN -->
-
-                    <div class="account-dropdown">
-
-
-                        <button class="account-button"
-                                type="button">
-
-                            <span class="user-icon">
-                                ●
+
+                    <!-- CART -->
+
+                    <a class="nav-icon nav-cart-link"
+                       asp-controller="Order"
+                       asp-action="Cart"
+                       title="Shopping Cart">
+
+                        <span class="nav-cart-icon-wrap">
+
+                            <span class="icon cart-icon">
+                                🛒
                             </span>
 
-                            <span class="account-name">
-
-                                @Context.Session.GetString("Username")
-
-                            </span>
-
-                            <span class="arrow">
-                                ⌄
-                            </span>
-
-                        </button>
-
-
-                        <!-- ACCOUNT MENU -->
-
-                        <div class="account-menu">
-
-
-                            <!-- PROFILE -->
+                            @if (cartCount > 0)
+                            {
+                                <span class="nav-cart-count"
+                                      aria-label="@cartCount item(s) in cart">
+                                    @(cartCount > 99 ? "99+" : cartCount.ToString())
+                                </span>
+                            }
+
+                        </span>
+
+                        <span class="icon-label">
+                            Cart
+                        </span>
+
+                    </a>
+
+
+                    <!-- ACCOUNT -->
+
+                    @if (Context.Session.GetInt32("UserId") != null)
+                    {
+                        <div class="account-dropdown">
+
+                            <button class="account-button"
+                                    type="button">
+
+                                <span class="user-icon">●</span>
+
+                                <span class="account-name">
+                                    @Context.Session.GetString("Username")
+                                </span>
+
+                                <span class="arrow">⌄</span>
+
+                            </button>
+
+                            <div class="account-menu">
+
+                                <a asp-controller="Account"
+                                   asp-action="Profile">
+                                    <span>👤</span>
+                                    My Profile
+                                </a>
+
+                                <a asp-controller="Order"
+                                   asp-action="Cart">
+                                    <span>📦</span>
+                                    My Orders
+                                </a>
+
+                                <a asp-controller="Wishlist"
+                                   asp-action="Index">
+                                    <span>♡</span>
+                                    My Wishlist
+                                </a>
+
+                                @if (Context.Session.GetString("Role") == "Admin")
+                                {
+                                    <div class="menu-divider"></div>
+
+                                    <a asp-controller="Admin"
+                                       asp-action="Index"
+                                       class="admin-link">
+                                        <span>⚙</span>
+                                        Admin Dashboard
+                                    </a>
+                                }
+
+                                <div class="menu-divider"></div>
+
+                                <form asp-controller="Account"
+                                      asp-action="Logout"
+                                      method="post">
+
+                                    @Html.AntiForgeryToken()
+
+                                    <button type="submit"
+                                            class="logout-button">
+                                        <span>↪</span>
+                                        Logout
+                                    </button>
+
+                                </form>
+
+                            </div>
+
+                        </div>
+                    }
+                    else
+                    {
+                        <div class="auth-buttons">
 
                             <a asp-controller="Account"
-                               asp-action="Profile">
-
-                                <span>
-                                    👤
-                                </span>
-
-                                My Profile
-
-                            </a>
-
-
-                            <!-- ORDERS -->
-
-                            <a asp-controller="Order"
-                               asp-action="Cart">
-
-                                <span>
-                                    📦
-                                </span>
-
-                                My Orders
-
-                            </a>
-
-
-                            <!-- WISHLIST -->
-
-                            <a asp-controller="Wishlist"
-                               asp-action="Index">
-
-                                <span>
-                                    ♡
-                                </span>
-
-                                My Wishlist
-
-                            </a>
-
-
-                            <!-- ADMIN -->
-
-                            @if (Context.Session.GetString("Role") == "Admin")
-                            {
-
-                                <div class="menu-divider"></div>
-
-
-                                <a asp-controller="Admin"
-                                   asp-action="Index"
-                                   class="admin-link">
-
-                                    <span>
-                                        ⚙
-                                    </span>
-
-                                    Admin Dashboard
-
-                                </a>
-
-                            }
-
-
-                            <div class="menu-divider"></div>
-
-
-                            <!-- LOGOUT -->
-
-                            <form asp-controller="Account"
-                                  asp-action="Logout"
-                                  method="post">
-
-                                @Html.AntiForgeryToken()
-
-                                <button type="submit"
-                                        class="logout-button">
-
-                                    <span>↪</span>
-
-                                    Logout
-
-                                </button>
-
-                            </form>
-
+                               asp-action="Login"
+                               class="login-button">
+                                Login
+                            </a>
+
+                            <a asp-controller="Account"
+                               asp-action="Register"
+                               class="register-button">
+                                Register
+                            </a>
 
                         </div>
-
-                    </div>
-
-                }
-                else
-                {
-
-                    <!-- =================================================
-                         NOT LOGGED IN
-                         ================================================= -->
-
-                    <div class="auth-buttons">
-
-
-                        <a asp-controller="Account"
-                           asp-action="Login"
-                           class="login-button">
-
-                            Login
-
-                        </a>
-
-
-                        <a asp-controller="Account"
-                           asp-action="Register"
-                           class="register-button">
-
-                            Register
-
-                        </a>
-
-
-                    </div>
-
-                }
+                    }
+
+                </div>
 
             </div>
@@ -435,31 +333,22 @@
         </div>
 
+    </nav>
+
+
+    <!-- =====================================================
+         ANNOUNCEMENT BAR
+         ===================================================== -->
+
+    <div class="announcement-bar">
+
+        <span>
+            FREE SHIPPING ON ORDERS OVER $100
+        </span>
+
     </div>
-
-</nav>
-
-
-<!-- =====================================================
-     ANNOUNCEMENT BAR
-     ===================================================== -->
-
-<div class="announcement-bar">
-
-    <span>
-        FREE SHIPPING ON ORDERS OVER €50
-    </span>
-
-    <span class="announcement-separator">
-        •
-    </span>
-
-    <span>
-        NEW VINYL EVERY WEEK
-    </span>
-
-</div>
-
+    
 
 </header>
+
 
 <!-- =========================================================
@@ -468,10 +357,7 @@
 
 <main class="main-content">
-
-
-@RenderBody()
-
-
+    @RenderBody()
 </main>
+
 
 <!-- =========================================================
@@ -481,158 +367,113 @@
 <footer class="site-footer">
 
-
-<div class="footer-container">
-
-
-    <!-- BRAND -->
-
-    <div class="footer-brand">
-
-        <div class="footer-logo">
-            KERNEL RECORDS
+    <div class="footer-container">
+
+        <div class="footer-brand">
+
+            <div class="footer-logo">
+                KERNEL RECORDS
+            </div>
+
+            <p>
+                Your destination for vinyl, CDs and cassettes.
+            </p>
+
         </div>
 
-        <p>
-            Your destination for vinyl, CDs and cassettes.
-        </p>
+
+        <div class="footer-column">
+
+            <h4>Shop</h4>
+
+            <a asp-controller="Release"
+               asp-action="Index">
+                Releases
+            </a>
+
+            <a asp-controller="Release"
+               asp-action="Index">
+                New Releases
+            </a>
+
+            <a asp-controller="Artist"
+               asp-action="Index">
+                Artists
+            </a>
+
+        </div>
+
+
+        <div class="footer-column">
+
+            <h4>Account</h4>
+
+            @if (Context.Session.GetInt32("UserId") != null)
+            {
+                <a asp-controller="Account"
+                   asp-action="Profile">
+                    My Profile
+                </a>
+
+                <a asp-controller="Order"
+                   asp-action="Cart">
+                    My Orders
+                </a>
+
+                <a asp-controller="Wishlist"
+                   asp-action="Index">
+                    Wishlist
+                </a>
+            }
+            else
+            {
+                <a asp-controller="Account"
+                   asp-action="Login">
+                    Login
+                </a>
+
+                <a asp-controller="Account"
+                   asp-action="Register">
+                    Register
+                </a>
+            }
+
+        </div>
+
+
+        <div class="footer-column">
+
+            <h4>Help</h4>
+
+            <a href="#">
+                Shipping
+            </a>
+
+            <a href="#">
+                Returns
+            </a>
+
+            <a href="#">
+                Contact
+            </a>
+
+        </div>
 
     </div>
 
 
-    <!-- SHOP -->
-
-    <div class="footer-column">
-
-        <h4>
-            Shop
-        </h4>
-
-
-        <a asp-controller="Release"
-           asp-action="Index">
-
-            Releases
-
-        </a>
-
-
-        <a asp-controller="Release"
-           asp-action="Index">
-
-            New Releases
-
-        </a>
-
-
-        <a asp-controller="Artist"
-           asp-action="Index">
-
-            Artists
-
-        </a>
+    <div class="footer-bottom">
+
+        <span>
+            © @DateTime.Now.Year Kernel Records
+        </span>
+
+        <span>
+            All rights reserved.
+        </span>
 
     </div>
 
-
-    <!-- ACCOUNT -->
-
-    <div class="footer-column">
-
-        <h4>
-            Account
-        </h4>
-
-
-        @if (Context.Session.GetInt32("UserId") != null)
-        {
-
-            <a asp-controller="Account"
-               asp-action="Profile">
-
-                My Profile
-
-            </a>
-
-
-            <a asp-controller="Order"
-               asp-action="Cart">
-
-                My Orders
-
-            </a>
-
-
-            <a asp-controller="Wishlist"
-               asp-action="Index">
-
-                Wishlist
-
-            </a>
-
-        }
-        else
-        {
-
-            <a asp-controller="Account"
-               asp-action="Login">
-
-                Login
-
-            </a>
-
-
-            <a asp-controller="Account"
-               asp-action="Register">
-
-                Register
-
-            </a>
-
-        }
-
-    </div>
-
-
-    <!-- HELP -->
-
-    <div class="footer-column">
-
-        <h4>
-            Help
-        </h4>
-
-        <a href="#">
-            Shipping
-        </a>
-
-        <a href="#">
-            Returns
-        </a>
-
-        <a href="#">
-            Contact
-        </a>
-
-    </div>
-
-</div>
-
-
-<!-- FOOTER BOTTOM -->
-
-<div class="footer-bottom">
-
-    <span>
-        © @DateTime.Now.Year Kernel Records
-    </span>
-
-    <span>
-        All rights reserved.
-    </span>
-
-</div>
-
-
 </footer>
+
 
 <!-- =========================================================
@@ -641,5 +482,4 @@
 
 <script>
-
     function toggleMobileMenu()
     {
@@ -650,7 +490,4 @@
     }
 
-
-    // Close mobile menu when clicking outside
-
     document.addEventListener("click", function (event)
     {
@@ -661,4 +498,6 @@
             document.querySelector(".mobile-menu-button");
 
+        if (!menu || !button)
+            return;
 
         if (!menu.contains(event.target) &&
@@ -667,12 +506,10 @@
             menu.classList.remove("mobile-open");
         }
-
     });
-
 </script>
 
 @await RenderSectionAsync(
-"Scripts",
-required: false)
+    "Scripts",
+    required: false)
 
 </body>
Index: KernelRecordsMVC.Web/Views/Wishlist/Index.cshtml
===================================================================
--- KernelRecordsMVC.Web/Views/Wishlist/Index.cshtml	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/Views/Wishlist/Index.cshtml	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -8,10 +8,21 @@
 
     <div class="page-header">
+
         <div>
-            <span class="page-eyebrow">YOUR COLLECTION</span>
+
+            <span class="page-eyebrow">
+                YOUR COLLECTION
+            </span>
+
             <h1>My Wishlist</h1>
-            <p>Save releases and physical formats you want to get later.</p>
-        </div>
+
+            <p>
+                Save releases and physical formats you want to get later.
+            </p>
+
+        </div>
+
     </div>
+
 
     @if (TempData["Success"] != null)
@@ -35,4 +46,5 @@
         </div>
     }
+
 
     @if (Model.WishlistProducts == null ||
@@ -45,5 +57,7 @@
             </div>
 
-            <h2>Your wishlist is empty</h2>
+            <h2>
+                Your wishlist is empty
+            </h2>
 
             <p>
@@ -54,6 +68,8 @@
             <a asp-controller="Release"
                asp-action="Index"
-               class="btn-primary">
+               class="store-button primary">
+
                 Browse Releases
+
             </a>
 
@@ -69,5 +85,8 @@
                 var release = product.Release;
 
+
                 <div class="wishlist-card">
+
+                    <!-- COVER -->
 
                     <a asp-controller="Release"
@@ -76,8 +95,21 @@
                        class="wishlist-cover">
 
-                        <img src="@release.CoverPhoto"
-                             alt="@release.Title" />
+                        @if (!string.IsNullOrWhiteSpace(
+                            release.CoverPhoto))
+                        {
+                            <img src="@release.CoverPhoto"
+                                 alt="@release.Title" />
+                        }
+                        else
+                        {
+                            <div class="release-no-cover">
+                                <span>♪</span>
+                            </div>
+                        }
 
                     </a>
+
+
+                    <!-- CONTENT -->
 
                     <div class="wishlist-info">
@@ -87,11 +119,17 @@
                         </span>
 
+
                         <h2>
+
                             <a asp-controller="Release"
                                asp-action="Details"
                                asp-route-id="@release.ReleaseId">
+
                                 @release.Title
+
                             </a>
+
                         </h2>
+
 
                         <p class="wishlist-genre">
@@ -99,27 +137,59 @@
                         </p>
 
-                        <div class="wishlist-price">
-                            @product.Price.ToString("C")
-                        </div>
-
-                        @if (product.Stock > 0)
-                        {
-                            <span class="stock available">
-                                In stock
-                            </span>
-                        }
-                        else
-                        {
-                            <span class="stock unavailable">
-                                Out of stock
-                            </span>
-                        }
-
-                        <div class="wishlist-actions">
-
-                            @if (product.Stock > 0)
-                            {
+
+                        <!-- PRICE + BUTTONS -->
+
+                        <div class="wishlist-bottom">
+
+                            <div class="wishlist-price-area">
+
+                                <div class="wishlist-price">
+                                    @product.Price.ToString("C")
+                                </div>
+
+
+                                @if (product.Stock > 0)
+                                {
+                                    <span class="stock available">
+                                        In stock
+                                    </span>
+                                }
+                                else
+                                {
+                                    <span class="stock unavailable">
+                                        Out of stock
+                                    </span>
+                                }
+
+                            </div>
+
+
+                            <div class="wishlist-actions">
+
+                                @if (product.Stock > 0)
+                                {
+                                    <form asp-controller="Wishlist"
+                                          asp-action="AddToCart"
+                                          method="post">
+
+                                        @Html.AntiForgeryToken()
+
+                                        <input type="hidden"
+                                               name="productId"
+                                               value="@product.ProductId" />
+
+                                        <button type="submit"
+                                                class="store-button">
+
+                                            Add to Cart
+
+                                        </button>
+
+                                    </form>
+                                }
+
+
                                 <form asp-controller="Wishlist"
-                                      asp-action="AddToCart"
+                                      asp-action="Remove"
                                       method="post">
 
@@ -131,27 +201,13 @@
 
                                     <button type="submit"
-                                            class="btn-primary">
-                                        Add to Cart
+                                            class="btn-remove">
+
+                                        Remove
+
                                     </button>
 
                                 </form>
-                            }
-
-                            <form asp-controller="Wishlist"
-                                  asp-action="Remove"
-                                  method="post">
-
-                                @Html.AntiForgeryToken()
-
-                                <input type="hidden"
-                                       name="productId"
-                                       value="@product.ProductId" />
-
-                                <button type="submit"
-                                        class="btn-remove">
-                                    Remove
-                                </button>
-
-                            </form>
+
+                            </div>
 
                         </div>
Index: KernelRecordsMVC.Web/obj/Debug/net8.0/KernelRecordsMVC.Web.AssemblyInfo.cs
===================================================================
--- KernelRecordsMVC.Web/obj/Debug/net8.0/KernelRecordsMVC.Web.AssemblyInfo.cs	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/obj/Debug/net8.0/KernelRecordsMVC.Web.AssemblyInfo.cs	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -15,5 +15,5 @@
 [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
 [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d89d25b3a7f785676877cf198c9cc706308ab4a3")]
 [assembly: System.Reflection.AssemblyProductAttribute("KernelRecordsMVC.Web")]
 [assembly: System.Reflection.AssemblyTitleAttribute("KernelRecordsMVC.Web")]
Index: KernelRecordsMVC.Web/obj/Debug/net8.0/KernelRecordsMVC.Web.AssemblyInfoInputs.cache
===================================================================
--- KernelRecordsMVC.Web/obj/Debug/net8.0/KernelRecordsMVC.Web.AssemblyInfoInputs.cache	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/obj/Debug/net8.0/KernelRecordsMVC.Web.AssemblyInfoInputs.cache	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -1,1 +1,1 @@
-c7c64d4b5585be3def76ca8244acd21f3a41a4886ee5b2db049d2b6c7160a3f4
+5c4ef787946962959a0ba14b7ffc3cd723d328624707161e0bc37e6293c6f25c
Index: KernelRecordsMVC.Web/obj/Debug/net8.0/KernelRecordsMVC.Web.sourcelink.json
===================================================================
--- KernelRecordsMVC.Web/obj/Debug/net8.0/KernelRecordsMVC.Web.sourcelink.json	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/obj/Debug/net8.0/KernelRecordsMVC.Web.sourcelink.json	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -1,1 +1,1 @@
-{"documents":{"C:\\Users\\Marko\\RiderProjects\\KernelRecordsMVC\\*":"https://raw.githubusercontent.com/mmilevski/kernelrecords/d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63/*"}}
+{"documents":{"C:\\Users\\Marko\\RiderProjects\\KernelRecordsMVC\\*":"https://raw.githubusercontent.com/mmilevski/kernelrecords/d89d25b3a7f785676877cf198c9cc706308ab4a3/*"}}
Index: KernelRecordsMVC.Web/wwwroot/css/site.css
===================================================================
--- KernelRecordsMVC.Web/wwwroot/css/site.css	(revision d89d25b3a7f785676877cf198c9cc706308ab4a3)
+++ KernelRecordsMVC.Web/wwwroot/css/site.css	(revision 595d2e58cf322a776ba1d3cedcb86e9bb2ee8093)
@@ -76,28 +76,4 @@
 }
 
-.brand {
-  display: flex;
-  flex-direction: column;
-  flex-shrink: 0;
-
-  line-height: .9;
-  letter-spacing: 2px;
-}
-
-.brand-main {
-  font-size: 25px;
-  font-weight: 900;
-}
-
-.brand-sub {
-  margin-top: 6px;
-
-  font-size: 11px;
-  font-weight: 600;
-  letter-spacing: 5px;
-
-  opacity: .65;
-}
-
 .navbar-content {
   flex: 1;
@@ -484,4 +460,45 @@
 }
 
+/* =========================================================
+   NAVBAR CART COUNT
+   ========================================================= */
+
+.nav-cart-link {
+  position: relative;
+}
+
+.nav-cart-icon-wrap {
+  position: relative;
+
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.nav-cart-count {
+  position: absolute;
+
+  top: -10px;
+  right: -13px;
+
+  min-width: 18px;
+  height: 18px;
+
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+
+  padding: 0 5px;
+
+  border: 2px solid #111;
+  border-radius: 999px;
+
+  background: white;
+  color: #111;
+
+  font-size: 9px;
+  font-weight: 900;
+  line-height: 1;
+}
 
 /* =========================================================
@@ -504,9 +521,4 @@
   letter-spacing: 1.3px;
 }
-
-.announcement-separator {
-  opacity: .45;
-}
-
 
 /* =========================================================
@@ -1570,5 +1582,4 @@
 }
 
-
 /* =========================================================
    WISHLIST
@@ -1577,7 +1588,5 @@
 .wishlist-page {
   max-width: 1250px;
-
   margin: 0 auto;
-
   padding: 55px 30px 80px;
 }
@@ -1589,8 +1598,6 @@
 .page-header h1 {
   margin-top: 7px;
-
   font-size: 44px;
   font-weight: 900;
-
   letter-spacing: -1.5px;
 }
@@ -1598,7 +1605,5 @@
 .page-header p {
   margin-top: 8px;
-
   color: #777;
-
   font-size: 14px;
 }
@@ -1606,58 +1611,78 @@
 .wishlist-grid {
   display: grid;
-
-  grid-template-columns:
-        repeat(2, minmax(0, 1fr));
-
+  grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 20px;
 }
 
 .wishlist-card {
+  min-width: 0;
+  min-height: 190px;
+
   display: grid;
-
-  grid-template-columns:
-        190px 1fr;
+  grid-template-columns: 190px minmax(0, 1fr);
 
   overflow: hidden;
 
   background: white;
-
   border: 1px solid #ddd;
-  border-radius: 9px;
+  border-radius: 10px;
+
+  transition:
+          transform .2s ease,
+          box-shadow .2s ease,
+          border-color .2s ease;
+}
+
+.wishlist-card:hover {
+  transform: translateY(-2px);
+  border-color: #ccc;
+  box-shadow: 0 12px 30px rgba(0,0,0,.06);
 }
 
 .wishlist-cover {
-  aspect-ratio: 1 / 1;
+  width: 190px;
+  height: 190px;
+
+  display: block;
 
   overflow: hidden;
-
   background: #ddd;
 }
 
+.wishlist-cover img,
+.wishlist-cover .release-no-cover {
+  width: 190px;
+  height: 190px;
+  display: block;
+}
+
 .wishlist-cover img {
-  width: 100%;
-  height: 100%;
-
+  object-fit: cover;
+  object-position: center;
+  transition: transform .35s ease;
+}
+
+.wishlist-card:hover .wishlist-cover img {
+  transform: scale(1.035);
+}
+
+.wishlist-info {
+  min-width: 0;
+
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+
+  padding: 22px 24px;
+}
+
+.wishlist-format {
   display: block;
-
-  object-fit: cover;
-
-  transition: transform .35s ease;
-}
-
-.wishlist-card:hover .wishlist-cover img {
-  transform: scale(1.04);
-}
-
-.wishlist-info {
-  padding: 22px;
-}
-
-.wishlist-format {
+  margin-bottom: 7px;
+
   color: #888;
 
   font-size: 9px;
   font-weight: 900;
-
   text-transform: uppercase;
   letter-spacing: 1px;
@@ -1665,8 +1690,8 @@
 
 .wishlist-info h2 {
-  margin-top: 7px;
-
+  margin: 0;
   font-size: 20px;
   font-weight: 900;
+  line-height: 1.2;
 }
 
@@ -1677,22 +1702,32 @@
 .wishlist-genre {
   margin-top: 6px;
-
   color: #777;
-
   font-size: 12px;
 }
 
+.wishlist-bottom {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+
+  gap: 18px;
+  margin-top: 20px;
+}
+
+.wishlist-price-area {
+  min-width: 90px;
+  flex-shrink: 0;
+}
+
 .wishlist-price {
-  margin-top: 18px;
-
-  font-size: 22px;
-  font-weight: 900;
+  margin: 0;
+  font-size: 23px;
+  font-weight: 900;
+  line-height: 1;
 }
 
 .stock {
-  display: inline-block;
-
+  display: block;
   margin-top: 7px;
-
   font-size: 10px;
   font-weight: 800;
@@ -1709,15 +1744,50 @@
 .wishlist-actions {
   display: flex;
+  align-items: center;
+  justify-content: flex-end;
   flex-wrap: wrap;
 
   gap: 8px;
-
-  margin-top: 20px;
-}
-
-.btn-remove {
-  min-height: 42px;
-
-  padding: 0 17px;
+  margin: 0;
+}
+
+.wishlist-actions form {
+  margin: 0;
+}
+
+.wishlist-actions .store-button,
+.wishlist-actions .btn-remove {
+  min-height: 40px;
+
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+
+  padding: 0 15px;
+
+  border-radius: 6px;
+
+  font-size: 10px;
+  font-weight: 900;
+  line-height: 1;
+  white-space: nowrap;
+}
+
+.wishlist-actions .store-button {
+  border: 1px solid #171717;
+  background: #171717;
+  color: white;
+}
+
+.wishlist-actions .store-button:hover {
+  background: #333;
+  color: white;
+}
+
+.btn-remove,
+.wishlist-actions .btn-remove {
+  min-height: 40px;
+
+  padding: 0 15px;
 
   border: 1px solid #ccc;
@@ -1725,15 +1795,110 @@
 
   background: white;
+  color: #666;
+
+  font-size: 10px;
+  font-weight: 900;
+}
+
+.btn-remove:hover,
+.wishlist-actions .btn-remove:hover {
+  border-color: #a33;
+  background: #fff7f7;
+  color: #a33;
+}
+
+.empty-wishlist {
+  padding: 75px 25px;
+
+  text-align: center;
+
+  background: white;
+
+  border: 1px solid #ddd;
+  border-radius: 10px;
+}
+
+.empty-wishlist .empty-icon {
+  margin-bottom: 15px;
   color: #777;
-
-  font-size: 12px;
-  font-weight: 800;
-}
-
-.btn-remove:hover {
-  border-color: #a33;
-  color: #a33;
-}
-
+  font-size: 48px;
+}
+
+.empty-wishlist h2 {
+  margin-bottom: 8px;
+  font-size: 25px;
+}
+
+.empty-wishlist p {
+  margin-bottom: 22px;
+  color: #777;
+}
+
+@media (max-width: 1000px) {
+  .wishlist-grid {
+    grid-template-columns: 1fr;
+  }
+}
+
+@media (max-width: 650px) {
+  .wishlist-card {
+    grid-template-columns: 140px minmax(0, 1fr);
+    min-height: 140px;
+  }
+
+  .wishlist-cover,
+  .wishlist-cover img,
+  .wishlist-cover .release-no-cover {
+    width: 140px;
+    height: 140px;
+  }
+
+  .wishlist-info {
+    padding: 18px;
+  }
+
+  .wishlist-bottom {
+    align-items: flex-start;
+    flex-direction: column;
+    gap: 13px;
+    margin-top: 16px;
+  }
+
+  .wishlist-actions {
+    justify-content: flex-start;
+  }
+}
+
+@media (max-width: 500px) {
+  .wishlist-card {
+    grid-template-columns: 1fr;
+  }
+
+  .wishlist-cover,
+  .wishlist-cover img,
+  .wishlist-cover .release-no-cover {
+    width: 100%;
+    height: auto;
+    aspect-ratio: 1 / 1;
+  }
+
+  .wishlist-info {
+    padding: 20px;
+  }
+
+  .wishlist-actions {
+    width: 100%;
+    flex-direction: row;
+  }
+
+  .wishlist-actions form {
+    flex: 1;
+  }
+
+  .wishlist-actions .store-button,
+  .wishlist-actions .btn-remove {
+    width: 100%;
+  }
+}
 
 /* =========================================================
@@ -1953,13 +2118,4 @@
 }
 
-.home-eyebrow {
-  color: #aaa;
-
-  font-size: 11px;
-  font-weight: 900;
-
-  letter-spacing: 3px;
-}
-
 .home-hero h1 {
   margin-top: 16px;
@@ -2027,18 +2183,4 @@
 .home-button.secondary:hover {
   background: #292929;
-}
-
-.home-hero-mark {
-  position: absolute;
-
-  right: 5%;
-  bottom: -60px;
-
-  color: #1e1e1e;
-
-  font-size: 420px;
-  font-weight: 900;
-
-  line-height: 1;
 }
 
@@ -2534,8 +2676,4 @@
     grid-template-columns:
             repeat(2, minmax(0, 1fr));
-  }
-
-  .wishlist-grid {
-    grid-template-columns: 1fr;
   }
 
@@ -2805,13 +2943,4 @@
   }
 
-  .wishlist-grid {
-    grid-template-columns: 1fr;
-  }
-
-  .wishlist-card {
-    grid-template-columns:
-            120px 1fr;
-  }
-
   .home-hero {
     min-height: 500px;
@@ -2819,9 +2948,4 @@
     padding: 45px 30px;
   }
-
-  .home-hero-mark {
-    font-size: 250px;
-  }
-
   .home-feature-grid {
     grid-template-columns: 1fr;
@@ -2865,21 +2989,4 @@
 @media (max-width: 500px) {
 
-  .wishlist-card {
-    grid-template-columns: 1fr;
-  }
-
-  .wishlist-cover {
-    max-height: 300px;
-  }
-
-  .wishlist-actions {
-    flex-direction: column;
-  }
-
-  .wishlist-actions .store-button,
-  .wishlist-actions .btn-remove {
-    width: 100%;
-  }
-
   .home-hero {
     padding: 35px 22px;
@@ -2910,5 +3017,56 @@
   }
 }
-
+/* =========================================================
+   RELEASE PRODUCT DISCOUNT PRICE
+   ========================================================= */
+
+.product-sale-price {
+  margin-bottom: 12px;
+}
+
+.product-price-row {
+  display: flex;
+  align-items: baseline;
+  flex-wrap: wrap;
+
+  gap: 10px;
+}
+
+.product-original-price {
+  color: #999;
+
+  font-size: 16px;
+  font-weight: 700;
+
+  text-decoration: line-through;
+}
+
+.product-current-price {
+  color: #171717;
+
+  font-size: 28px;
+  font-weight: 900;
+}
+
+.product-discount-badge {
+  width: fit-content;
+
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+
+  margin-top: 7px;
+  padding: 5px 8px;
+
+  border-radius: 4px;
+
+  background: #171717;
+  color: white;
+
+  font-size: 9px;
+  font-weight: 900;
+
+  letter-spacing: .5px;
+}
 /* =========================================================
  ADMIN
@@ -3043,5 +3201,100 @@
   font-size: 10px;
 }
-
+/* =========================================================
+   ADMIN ARTIST LIST
+   ========================================================= */
+
+.admin-artist-cell {
+  display: flex;
+  align-items: center;
+
+  gap: 14px;
+
+  min-width: 220px;
+}
+
+.admin-artist-thumb {
+  width: 70px;
+  height: 70px;
+
+  min-width: 70px;
+  max-width: 70px;
+
+  flex: 0 0 70px;
+
+  display: block;
+
+  overflow: hidden;
+
+  border-radius: 8px;
+
+  background: #eee;
+
+  object-fit: cover;
+  object-position: center;
+}
+
+.admin-artist-thumb.placeholder {
+  width: 70px;
+  height: 70px;
+
+  min-width: 70px;
+  max-width: 70px;
+
+  flex: 0 0 70px;
+
+  display: flex;
+  align-items: center;
+  justify-content: center;
+
+  background: #171717;
+  color: white;
+
+  font-size: 24px;
+  font-weight: 900;
+}
+
+.admin-artist-cell strong {
+  min-width: 0;
+
+  font-size: 13px;
+  font-weight: 900;
+
+  overflow-wrap: anywhere;
+}
+
+.admin-table-actions {
+  white-space: nowrap;
+
+  text-align: right;
+}
+
+.admin-table-actions .admin-button {
+  margin-left: 6px;
+}
+
+
+/* =========================================================
+   ADMIN ARTISTS RESPONSIVE
+   ========================================================= */
+
+@media (max-width: 700px) {
+
+  .admin-artist-thumb,
+  .admin-artist-thumb.placeholder {
+    width: 58px;
+    height: 58px;
+
+    min-width: 58px;
+    max-width: 58px;
+
+    flex-basis: 58px;
+  }
+
+  .admin-artist-cell {
+    min-width: 180px;
+  }
+
+}
 
 /* =========================================================
@@ -4139,4 +4392,5 @@
 
 }
+
 /* =========================================================
    KERNEL RECORDS LOGO
@@ -4144,38 +4398,34 @@
 
 .logo-brand {
+  width: 170px;
+  height: 72px;
+
+  flex: 0 0 170px;
+
   display: flex;
   align-items: center;
+  justify-content: flex-start;
 
   padding: 0;
 
+  overflow: hidden;
   text-decoration: none;
 }
 
-.site-logo {
+.logo-brand > .site-logo {
+  width: 160px !important;
+  height: 64px !important;
+
+  max-width: 160px !important;
+  max-height: 64px !important;
+
   display: block;
 
-  width: auto;
-  height: 72px;
-
   object-fit: contain;
-}
-
-@media (max-width: 700px) {
-
-  .site-logo {
-    height: 55px;
-  }
-
-}
-.admin-page-logo {
-  display: block;
-
-  width: auto;
-  height: 80px;
-
-  margin-bottom: 12px;
-
-  object-fit: contain;
-}
+  object-position: left center;
+
+  transform: none !important;
+}
+
 .hero-logo {
   display: flex;
@@ -4187,7 +4437,33 @@
   width: min(520px, 90%);
   height: auto;
+
   display: block;
+
   object-fit: contain;
+
   transform: translate(55px, 55px);
+}
+
+@media (max-width: 950px) {
+  .logo-brand {
+    width: 145px;
+    height: 60px;
+    flex-basis: 145px;
+  }
+
+  .logo-brand > .site-logo {
+    width: 135px !important;
+    height: 52px !important;
+
+    max-width: 135px !important;
+    max-height: 52px !important;
+  }
+}
+
+@media (max-width: 700px) {
+  .hero-logo-image {
+    width: min(360px, 92%);
+    transform: translate(0, 0);
+  }
 }
 
@@ -4236,8 +4512,8 @@
 .artist-grid {
   display: grid;
-  grid-template-columns: repeat(auto-fill, 200px);
+  grid-template-columns: repeat(6, 200px);
   gap: 24px;
   align-items: start;
-  justify-content: start;
+  justify-content: space-between;
 }
 
@@ -4330,4 +4606,35 @@
   text-transform: uppercase;
 }
+@media (max-width: 1450px) {
+  .artist-grid {
+    grid-template-columns: repeat(5, 200px);
+    justify-content: space-between;
+  }
+}
+
+@media (max-width: 1200px) {
+  .artist-grid {
+    grid-template-columns: repeat(4, 200px);
+  }
+}
+
+@media (max-width: 950px) {
+  .artist-grid {
+    grid-template-columns: repeat(3, 200px);
+  }
+}
+
+@media (max-width: 700px) {
+  .artist-grid {
+    grid-template-columns: repeat(2, 200px);
+    justify-content: center;
+  }
+}
+
+@media (max-width: 430px) {
+  .artist-grid {
+    grid-template-columns: 200px;
+  }
+}
 
 /* Artist details: fixed 200 x 200 profile image */
