/* catalogue/static/css/style.css */

body {
    font-family: sans-serif;
    margin: 0;
    background-color: #f4f4f9;
    color: #333;
}

.site-header {
    background-color: #007bff;
    color: white;
    padding: 15px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* Grid for navigation and auth links */
    display: grid;
    grid-template-columns: auto 1fr auto; 
    gap: 20px;
}

.site-header h1 {
    font-size: 1.8em;
    margin: 0;
}

.main-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
}

.main-menu a, .auth-links a, .auth-links span {
    color: white;
    text-decoration: none;
    font-weight: bold;
}

.main-menu a:hover, .auth-links a:hover {
    text-decoration: underline;
}

.content-grid {
    max-width: 1200px;
    margin: 30px auto;
    padding: 0 20px;
    /* Main content grid for a clean layout */
    display: grid;
    grid-template-columns: 1fr; 
    gap: 20px;
}

/* Specific Page Styles (e.g., List View) */
.list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #ccc;
    padding-bottom: 10px;
}

.item-list {
    list-style: none;
    padding: 0;
}

.grid-list {
    /* Using CSS Grid for the list of items */
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.artist-item, .album-item {
    background: white;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* ... more styles for forms, buttons, footer, etc. ... */