.song-list {
    display: flex;
    justify-content: center;
    flex-direction: column;
    max-width: 1000px;
    padding: 10px 20px;
    margin: 0 auto;
    border-radius: var(--radius);
}

.song {
    background: var(--foreground);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    transition: var(--hover-transition);
    text-decoration: none;
    display: grid;
    padding: 10px;
    grid-template-columns: 9em 1fr;
    grid-template-rows: 3em 4em 2em;
    grid-column-gap: 10px;
    grid-template-areas:
    "thumbnail title ."
    "thumbnail artist ."
    "thumbnail views .";
}

.song:hover {
    background: var(--highlighted);
    transform: var(--hover-transform);
}

.song:not(:last-child) {
    margin-bottom: 10px;
}

.song-title {
    grid-area: title;
    font-weight: 900;
    color: var(--text);
    font-size: min(4vw, 32px);
    text-overflow: ellipsis;
    overflow: hidden; 
    height: 1.2em; 
    white-space: nowrap;
}

.song-artist {
    grid-area: artist;
    font-weight: 600;
    font-size: 16px;
    color: var(--text);
}

.song-views {
    grid-area: views;
    font-weight: 500;
    font-size: 12px;
    color: var(--text);
}

.song-thumbnail {
    grid-area: thumbnail;
    width: 100%;
    height: 100%;
    border-radius: var(--radius);
}
