.page h2{
    margin-top:25px;
    margin-bottom:15px;
}

.album-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fill,minmax(180px,1fr));

    gap:20px;
}

.album-card{
    background:#181818;
    padding:15px;
    border-radius:12px;
    cursor:pointer;
    transition:.2s;
}

.album-card:hover{
    background:#282828;
}

.album-cover{
    width:100%;
    aspect-ratio:1;

    background:#333;

    border-radius:10px;

    margin-bottom:10px;
}

.album-card h3{
    font-size:15px;
}

.album-card p{
    color:#b3b3b3;
    font-size:13px;
}

.song-list{
    margin-top:15px;
}

.song-row{

    background:#181818;

    padding:15px;

    margin-bottom:10px;

    border-radius:10px;

    display:flex;

    justify-content:space-between;

    cursor:pointer;

    transition:.2s;
}

.song-row:hover{

    background:#282828;
}

.song-left{
    display:flex;
    align-items:center;
    gap:12px;
}

.song-cover{
    width:50px;
    height:50px;
    border-radius:8px;
    object-fit:cover;
    flex-shrink:0;
}

.song-meta{
    display:flex;
    flex-direction:column;
}

.song-title{
    color:white;
    font-weight:600;
}

.song-artist{
    color:#b3b3b3;
    font-size:13px;
}

.card-row{

    display:flex;

    gap:15px;

    overflow-x:auto;

    padding:10px 0;

}

.song-card{

    min-width:180px;

    background:#181818;

    border-radius:12px;

    padding:12px;

    cursor:pointer;

    transition:.2s;

}

.song-card:hover{

    background:#282828;

}

.song-card img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    border-radius:10px;

}

.song-card h4{

    margin-top:10px;

    font-size:14px;

}

.song-card p{

    color:#b3b3b3;

    font-size:12px;

}

.hero-banner{

    display:flex;

    align-items:center;

    gap:20px;

    padding:20px;

    border-radius:16px;

    background:
    linear-gradient(
        135deg,
        #1DB954,
        #121212
    );

    margin-bottom:25px;

}

.hero-banner img{

    width:120px;
    height:120px;

    border-radius:12px;

    object-fit:cover;

}

.hero-banner h1{

    margin:0;

    font-size:28px;

}

.hero-banner p{

    margin-top:8px;

    color:#d9d9d9;

}

.card-row{

    display:flex;

    gap:15px;

    overflow-x:auto;

    padding:10px 0 25px;

}

.song-card{

    min-width:180px;

    background:#181818;

    border-radius:12px;

    padding:12px;

    cursor:pointer;

    transition:.2s;

}

.song-card:hover{

    background:#282828;

}

.song-card img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    border-radius:10px;

}

.song-card h4{

    margin-top:10px;

    font-size:14px;

}

.song-card p{

    color:#b3b3b3;

    font-size:12px;

}

.song-list{

    display:flex;

    flex-direction:column;

    gap:10px;

    margin-bottom:100px;

}

.home-search{

    background:#282828;

    padding:14px;

    border-radius:10px;

    margin-bottom:20px;

    cursor:pointer;

}


/* ===========================
   ARTIST SECTION
=========================== */

.artist-row{

    display:flex;

    gap:18px;

    overflow-x:auto;

    padding:10px 0 20px;

    scrollbar-width:none;

}

.artist-row::-webkit-scrollbar{

    display:none;

}

.artist-card{

    min-width:160px;

    max-width:160px;

    background:#181818;

    border-radius:12px;

    padding:16px;

    cursor:pointer;

    transition:.25s;

    flex-shrink:0;

}

.artist-card:hover{

    background:#282828;

    transform:translateY(-4px);

}

.artist-avatar{

    width:120px;

    height:120px;

    border-radius:50%;

    object-fit:cover;

    display:block;

    margin:auto;

}

.artist-card h4{

    margin-top:14px;

    text-align:center;

    font-size:15px;

    color:#fff;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;

}

.artist-card small{

    display:block;

    text-align:center;

    margin-top:6px;

    color:#b3b3b3;

    font-size:12px;

}

/* ===========================
   PLAYLIST
=========================== */

.playlist-row{

    display:flex;

    gap:18px;

    overflow-x:auto;

    padding:10px 0 20px;

    scrollbar-width:none;

}

.playlist-row::-webkit-scrollbar{

    display:none;

}

.playlist-card{

    min-width:170px;

    max-width:170px;

    background:#181818;

    border-radius:12px;

    padding:14px;

    cursor:pointer;

    transition:.25s;

    flex-shrink:0;

}

.playlist-card:hover{

    background:#282828;

    transform:translateY(-4px);

}

.playlist-card img{

    width:100%;

    aspect-ratio:1;

    object-fit:cover;

    border-radius:10px;

}

.playlist-card h4{

    margin-top:12px;

    color:#fff;

    font-size:15px;

}

.playlist-card small{

    color:#b3b3b3;

    font-size:12px;

}

/* ===========================
   GENRE
=========================== */

.genre-row{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

    margin-top:12px;

}

.genre-card{

    min-width:140px;

    height:90px;

    border-radius:14px;

    padding:18px;

    font-weight:bold;

    font-size:18px;

    color:#fff;

    display:flex;

    align-items:flex-end;

    cursor:pointer;

    transition:.25s;

    overflow:hidden;

}

.genre-card:hover{

    transform:scale(1.04);

}

/* Warna bergantian seperti Spotify */

.genre-card:nth-child(6n+1){

    background:#E13300;

}

.genre-card:nth-child(6n+2){

    background:#1E3264;

}

.genre-card:nth-child(6n+3){

    background:#8D67AB;

}

.genre-card:nth-child(6n+4){

    background:#148A08;

}

.genre-card:nth-child(6n+5){

    background:#B06239;

}

.genre-card:nth-child(6n){

    background:#E8115B;

}

.album-section{

    margin-top:28px;

}

.album-container{

    display:flex;

    gap:16px;

    overflow-x:auto;

    padding-bottom:10px;

    scrollbar-width:none;

}

.album-container::-webkit-scrollbar{

    display:none;

}

.album-card{

    width:150px;

    flex-shrink:0;

}

.album-card img{

    width:100%;

    aspect-ratio:1;

    object-fit:cover;

    border-radius:10px;

}

.album-card h4{

    margin:10px 0 4px;

    color:#fff;

    font-size:15px;

    font-weight:600;

}

.album-card p{

    margin:0;

    color:#a6a6a6;

    font-size:13px;

}