@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Montserrat;    
}

::-webkit-scrollbar{
    width: 10px;
}

::-webkit-scrollbar-thumb{
    background-color:#0a0b24;
    border-radius: 15px;
}

::-webkit-scrollbar-track{
    background-color: rgb(23, 11, 63);
}

::-webkit-scrollbar-thumb:hover{
    background-color:#0b0b1fcc;
}

a{
    text-decoration: none;
    color: #cfccccc2;
    transition: all .2s ease-in-out;
    letter-spacing: 0.8px;
}

button{
    color: #fff;
}

a:hover{
    color: #fcf6f6ec;
}

/*------------------GRID ---------------*/

.container{
    display: grid;
    height: 100vh;
    grid-template-columns: 1fr 2fr 2fr;
    grid-template-areas: 
    'box-1 box-2 box-2' 
    'box-1 box-2 box-2' 
    'box-1 box-2 box-2'
    'box-1 box-3 box-4'
    'box-1 box-3 box-4'
    ;
}
.box-1{
    grid-area: box-1;
}
.box-2{
    grid-area: box-2;
    padding: 0 25px;
}
.box-3{
    grid-area: box-3;
    padding: 0 20px;
}
.box-4{
    grid-area: box-4;
    padding: 0 10px;
    overflow: auto;
}

.box-1{
    background-color:#040517;
    color: #e5e5e5e7;
}

.box-2, .box-3, .box-4{
    background-color: rgb(32, 15, 86);
    color: #e5e5e5e7;
}

/*-----------------BARRA LATERAL------------------*/

.perfil {
    display: flex;
}

  .perfil img{
    height: 90px;
    width: 90px;
    border-radius: 10px;
}
  
  header {
    box-sizing: border-box;    
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;     
  }
    
  
  #menu{
    display: flex;
    list-style: none;
    gap: 0.5rem;
    flex-direction: column;
  }
  
  #menu a {
    display: block;
    padding: 0.5rem;
  }

  #menu li a:hover{
      letter-spacing: 1.4px;
  }
  
  .editProfile{
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
  }

  .editProfile img{
      height: 11px;
      width: 10px;
  }

  #nav{
      display: flex;
      justify-content: space-around;
  }

  #menu li img{
    height: 23px;
    width: 23px;
    margin-right: 10px;
  }
    
  #btn-mobile {
    display: none;
  } 

/*----------------- PLAYLISTS --------------------*/

.search{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
}

.search input{
    margin-left: 10px;
    width: 85%;
    height: 35px;
    border-radius: 15px;
    padding: 10px;
    outline: none;
    border: none;
    background-color:#0a0b24;
    color: #e5e5e5e7;
}

.search img{
    height: 25px;
    width: 25px;
}

.box-2 h2{
    font-size: 1.7rem;
    margin-top: 12px;
}

.overflow{
    display: flex;
    overflow: auto;
}

.overflow::-webkit-scrollbar{
    border-radius: 15px;    
    height: 12px;
}

.overflow::-webkit-scrollbar-thumb{
    background-color:#0a0b24;
    border-radius: 15px;
}

.overflow::-webkit-scrollbar-track{
    background-color: #1f215ec0;
    border-radius: 15px;
}

.playlists{
   padding: 13px 10px 5px 20px;
   
}

.playlists img{
    height: 170px;
    width: 300px;
    border-radius: 15px;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.playlists:hover img{
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.playlists h3{
    padding: 5px;
    font-size: 0.9rem;
}

.playlists p{
    padding: 3px;
    font-size: 0.7rem;
}

/*----------------------- VIEWS ------------------------*/

.views{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 11px 15px 0px 15px;
}

.Pviews{
    display: flex;
    align-items: center;
}

.Pviews p{
    padding: 10px;
}

.views img{
    height: 60px;
    width: 60px;
    border-radius: 7px;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.views:hover img{
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

/*----------------------- TRACKS -------------------------------*/

h2{
    margin-top: 10px;
    margin-left: 10px;
}

.overflow2{
    display: flex;
    overflow:auto;
    max-width: 100%;
}

.tracks{
    padding: 10px 15px;
}

.tracks p{
    font-size: 0.8rem;
}

.tracks img{
    height: 120px;
    width: 120px;
    border-radius: 10px;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.tracks:hover img{
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

/*-------------- RESPONSIVO ---------------*/

@media (max-width: 740px) {
    #menu {
      display: block;
      position: absolute;
      width: 100%;
      top: 65px;
      right: 0px;
      background-color: rgb(4 5 23);
      
      transition: 0.6s;
      z-index: 1000;
      height: 0px;
      visibility: hidden;
      overflow-y: hidden;
    }
    #nav.active #menu {
      height: 79vh;
      visibility: visible;
      overflow-y: auto;
    }    
    #menu a {
      padding: 15px;
      margin: 0 1rem;      
    }
    #btn-mobile {
      display: flex;
      padding: 0.5rem 1rem;
      font-size: 1rem;
      border: none;
      background: none;
      cursor: pointer;
      gap: 0.5rem;
    }
    #hamburger {
      border-top: 2px solid;
      width: 20px;
    }
    #hamburger::after,
    #hamburger::before {
      content: '';
      display: block;
      width: 20px;
      height: 2px;
      background: currentColor;
      margin-top: 5px;
      transition: 0.3s;
      position: relative;
    }
    #nav.active #hamburger {
      border-top-color: transparent;
    }
    #nav.active #hamburger::before {
      transform: rotate(135deg);
    }
    #nav.active #hamburger::after {
      transform: rotate(-135deg);
      top: -7px;
    }
    .container{
        display: flex;
        flex-direction: column;
        height: auto;
    }
    header{
        flex-direction: row;
    }
    .perfil a:first-child img{
        height:140px ;
        width:140px ;
    }
    .perfil p{
        font-size: 1.5rem;
        text-align: center;
    }

    .box-3,.box-4{
        padding: 20px;
    }
}