@import url("variables.css");

*{
    box-sizing: border-box;
    color: #fff;
    font-family: "Roboto";
}


 /* ------------------------------------- CAJAS --------------------------------------- */

body, html{
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}


 .main{
    display: grid;
    grid-template-columns: 1fr 3fr 1fr;
    width: 100%;
    height: 100vh;
    background: #000000;
    margin: 0 0 0 0;
}

.left_aside{
    display: flex;
    flex-direction: column;
    height:100vh;
    width: 25vw;
}

.right_aside{
    display: flex;
    flex-direction: column;
    height:100vh;
    width: 20vw;

}

.section_middle{
    display: flex;
    flex-direction: column;
    height:100vh;
    width: 100%;
}



/* ------------------------------- ASIDE IZQUIERDO -------------------------------------- */


.left_header{
    display: flex;   
    width: 100%;
    height: 13%;
    font-size: 160%;
    /* border: 1px solid yellow; */
}

.left_header h1{
    display: flex;   
    margin-left: 5%;
    margin-top: 3%;
}


.left_topChart{
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 5%;
    margin-left: 0;
    justify-content: space-between;
    align-items: center;

}

.left_search{
    display: flex;
    /* font-size: 200%; */
    align-items: center;
    margin-left: 5%;
    width: 100%;
    height: 100%;

}



/* ----------------------------------- COMPONENTE BUSCADOR_-------------------------------------- */

/* this is a recreation of twitter search in css */
.form {
    --input-text-color: #fff;
    --input-bg-color: #1f1f1f;
    --focus-input-bg-color: transparent;
    --text-color: #949faa;
    --active-color: #fff;
    --width-of-input: 95%;
    height: 100%;
    --inline-padding-of-input: 1.2em;
    --gap: 0.9rem;
    margin-left: 0%;
  }
  /* form style */
  .form {
    font-size: 1rem;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    width: var(--width-of-input);
    position: relative;
    isolation: isolate;
  }
  /* a fancy bg for showing background and border when focus. */
  .fancy-bg {
    position: absolute;
    width: 100%;
    inset: 0;
    background: var(--input-bg-color);
    border-radius: 30px;
    height: 100%;
    z-index: -1;
    pointer-events: none;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
  }
  /* label styling */
  label {
    width: 100%;
    padding: 0.8em;
    height: 40px;
    padding-inline: var(--inline-padding-of-input);
    display: flex;
    align-items: center;
  }
  
  .search,.close-btn {
    position: absolute;
  }
  /* styling search-icon */
  .search {
    fill: var(--text-color);
    left: var(--inline-padding-of-input);
  }
  /* svg -- size */
  svg {
    width: 17px;
    display: block;
  }
  /* styling of close button */
  .close-btn {
    border: none;
    right: var(--inline-padding-of-input);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    padding: 0.1em;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--active-color);
    opacity: 0;
    visibility: hidden;
  }
  /* styling of input */
  .input {
    color: var(--input-text-color);
    width: 100%;
    margin-inline: min(2em,calc(var(--inline-padding-of-input) + var(--gap)));
    background: none;
    border: none;
  }
  
  .input:focus {
    outline: none;
  }
  
  .input::placeholder {
    color: var(--text-color)
  }
  /* input background change in focus */
  .input:focus ~ .fancy-bg {
    border: 1px solid var(--active-color);
    background: var(--focus-input-bg-color);
  }
  /* search icon color change in focus */
  .input:focus ~ .search {
    fill: var(--active-color);
  }
  /* showing close button when typing */
  .input:valid ~ .close-btn {
    opacity: 1;
    visibility: visible;
  }
  /* this is for the default background in input,when selecting autofill options -- you can remove this code if you do not want to override the browser style.  */
  input:-webkit-autofill,
  input:-webkit-autofill:hover,
  input:-webkit-autofill:focus,
  input:-webkit-autofill:active {
    -webkit-transition: "color 9999s ease-out, background-color 9999s ease-out";
    -webkit-transition-delay: 9999s;
  }


  /* ------------------------------- left album ------------------------------------------------- */



  .left_albumsPosition{
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 350vh;
    width: 100%;
  }

  .left_baseAlbum{
    display: flex;
    flex-direction: row;
    /* border: 1px solid purple; */
    width: 100%;
    justify-content: baseline;
    align-items: center;
    height: 25vh;
    margin-top: 3%;
  }

  .left_baseAlbum:hover{
    cursor: pointer;
  }

  .left_baseAlbum2{
    display: flex;
    flex-direction: row;
    /* border: 1px solid purple; */
    width: 100%;
    justify-content: baseline;
    align-items: center;
    height: 25vh;
    margin-top: 4%;
  }

  .left_albumContent:hover{
    cursor: pointer;
    border-radius: 5%;
    border: 1px solid rgba(255, 255, 255, 0.205);
  }

  .left_album2:hover{
    cursor: pointer;
  }

  .left_album{
    display: flex;
    flex-direction: row;
    /* border: 1px solid lightblue; */
    justify-content: center;
    align-items: flex-start;
    padding: 0;
    width: 40%;
    height: 25vh;
    margin-left: 7%;
  }

  .left_album2{
    display: flex;
    flex-direction: row;
    /* border: 1px solid lightblue; */
    justify-content: center;
    align-items: flex-start;
    padding: 0;
    width: 40%;
    height: 25vh;
    margin-left: 6%;
  }

  .left_albumContent{
    display: flex;
    flex-direction: column;
  }

  .left_albumContent img{
    display: flex;
    width: 100%;
    height: 50%;
    border-radius: 5%;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin: 0;
  }

  .left_albumContent h2{
    display: flex;
    font-size: 100%;
    align-items: center;
    height: 70%;
    width:100%;
    margin-top: 3%;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  .left_albumContent p{
    display: flex;
    margin-top: -9%;
    font-size: 90%;
    color: #949faa;
  }
  

  /* ---------------------------- left YOU MAY LIKE --------------------------------------------------- */

  .left_youMayLike{
    display: flex;
    /* border: 1px solid yellow; */
    width: 100%;
    height: 5vh;
    margin-top:2.5%;
    align-items: center;
    margin-top: 8%;
  }

  .left_youMayLikeTitle{
    display: flex;
    /* border: 1px solid blue; */
    width: 100%;
    height: 100%;
    align-items: center;
    margin-left: 5%;
    font-size: 100%;
  }

  /* ---------------------------- YOU MAY LIKE CONTENT ------------------------------------- */

  .left_youMayLikeList{
    display: flex;
    flex-direction: column;
    /* border: 1px solid yellow; */
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
  }

  .left_youMayLikeListBoxes{
    display: flex;
    /* border: 1px solid palevioletred; */
    width: 90%;
    height: 8vh;
    gap: 4%;
    margin-top: 2%;
    margin-left: 5%;
    margin-right: 20%;
  }

  .left_youMayLikeListBoxes{
    cursor: pointer;
  }

  .left_youMayLikeListImg{
    display: flex;
    /* border: 1px solid red; */
    width: 8vh;
    height: 100%; 
  }

  .left_youMayLikeListImg img{
    display: flex;
    width: 100%;
    height: 100%;
    border-radius: 10%; 
  }


  .left_youMayLikeListDescription{
    display: flex;
    flex-direction: column;
    /* border: 1px solid brown; */
    justify-content: center;
    width: 50%;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  .left_youMayLikeListDescription h3{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 3vh;
    margin: 0;
    padding: 0;
    font-size: 130%;
  }

  .left_youMayLikeListDescription p{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 3vh;
    font-size: 90%;
    margin: 0;
    padding: 0;
    margin-top: 3%;
  }


  .left_youMayLikeListTime{
    display: flex;
    /* border: 1px solid blue; */
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 20%;
    height: 100%;
    margin-left: 4%;
  }

  .left_youMayLikeListTime h3{
    width: 100%;
    height: 3vh;
    /* border: 1px solid orange; */
    justify-content: flex-end;
    text-align: end;
    align-items: flex-end;
    font-size: 140%;
    margin: 0;
    margin-right: 0;
  }

  .left_youMayLikeListTime p{
    display: flex;
    /* border: 1px solid orange; */
    flex-direction: column;
    justify-content: center;
    align-items: end;
    width: 100%;
    height: 3vh;
    font-size: 90%;
    margin-top: -3%;
    margin: 0;
  }


/* -------------------------------------- BOX PRINCIPAL CENTRAL ------------------------------------------------------- */

.section_middleHeader{
  display: flex;
  /* border: 1px solid red; */
  width: 100%;
  height: 5vh;
  justify-content: center;
  margin-top: 4%;
}

.section_middleHeader h1{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 170%;
}

.frame_boxPosition{
  display: flex;
  flex-direction: column;
  /* border: 1px solid green; */
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 80vh;
  margin-top: 0;
}

.section_middleFrame{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 70%;
  height: 60vh;
}

.middle_topChart{
  display: flex;
  flex-direction: row;
  /* border: 1px solid pink; */
  width: 100%;
  height: 5%;
  margin-left: 0;
  margin-top: 1%;
  justify-content: space-between;
  align-items: center;

}

.middle_search{
  display: flex;
  /* font-size: 200%; */
  align-items: center;
  margin-left: 5%;
  width: 100%;
  height: 100%;
}


/* ----------------------------------------- RIGHT ASIDE TITLE --------------------------------------- */


.right_asideTitle{
  display: flex;
  /* border: 1px solid purple;  */
  width: 100%;
  height: 5vh;
  align-items: center;
  margin-top: 5%;
  margin-bottom: 5%;
}

.right_asideTitle h1{
  display: flex;
  font-size: 170%;
  margin-left: 5%;
}

.right_topChart{
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 5%;
  margin-left: 0;
  justify-content: space-between;
  align-items: center;

}

.right_search{
  display: flex;
  /* font-size: 200%; */
  align-items: center;
  margin-left: 5%;
  width: 100%;
  height: 100%;
}


.right_asideList{
  display: flex;
  flex-direction: column;
  /* border: 1px solid yellow; */
  width: 100%;
  height: 80%;
  overflow-y: scroll;
  overflow-x: hidden;
  margin-top: 10%;
  margin-bottom: 15%;
}

.right_asideListBoxes{
  display: flex;
  /* border: 1px solid palevioletred; */
  width: 90%;
  height: 8vh;
  gap: 4%;
  margin-top: 2%;
  margin-left: 5%;
  margin-right: 20%;
}

.right_asideListBoxes:hover{
  cursor: pointer;
}

.right_asideListImg{
  display: flex;
  /* border: 1px solid red; */
  width: 8vh;
  height: 100%; 
}

.right_asideListImg img{
  display: flex;
  width: 100%;
  height: 100%;
  border-radius: 10%; 
}


.right_asideListDescription{
  display: flex;
  flex-direction: column;
  /* border: 1px solid brown; */
  justify-content: center;
  width: 50%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.right_asideListDescription h3{
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 3vh;
  margin: 0;
  padding: 0;
  font-size: 90%;
}

.right_asideListDescription p{
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 3vh;
  font-size: 90%;
  margin: 0;
  padding: 0;
  margin-top: -3%;
}


.right_asideListTime{
  display: flex;
  /* border: 1px solid blue; */
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 20%;
  height: 100%;
  margin-left: 4%;
}

.right_asideListTime h3{
  width: 100%;
  height: 3vh;
  /* border: 1px solid orange; */
  justify-content: flex-end;
  text-align: end;
  align-items: flex-end;
  font-size: 140%;
  margin: 0;
  margin-right: 0;
}

.right_asideListTime p{
  display: flex;
  /* border: 1px solid orange; */
  flex-direction: column;
  justify-content: center;
  align-items: end;
  width: 100%;
  height: 3vh;
  font-size: 90%;
  margin-top: -3%;
  margin: 0;
}


/* ------------------ BOTONES ------------------ */

/* Estilos para los botones */
.show_left_button, .show_right_button {
  display: none;
  position: fixed;
  bottom: 20px; /* Ajusta la distancia desde el borde inferior */
  z-index: 9999;
  background-color: #000000; /* Color de fondo azul */
  border: 1px solid #fff;
  color: #ffffff; /* Color del texto blanco */
  padding: 10px 20px; /* Espaciado interno */
  border-radius: 5px; /* Bordes redondeados */
  cursor: pointer; /* Cursor de puntero */
}

/* Estilos específicos para los botones */
.show_left_button {
  left: 20px;
}

.show_right_button {
  right: 20px;
}

.menu__mobile{
  display: none;
}

.ampliar-imagen {
  width: 30px;
  height: 30px;
  border-width: 0; /* Ancho del borde */
  border-style: none; /* Estilo del borde */
  border-color: transparent; /* Color del borde */
}

/* -------------------------------- RESPONSIVE --------------------------------------- */

/* Estilos para los botones en dispositivos móviles */


@media only screen and (max-width: 768px) {
  .main {
    display: flex;
    flex-direction: column;
    height: auto;
  }
  
  .left_aside, .right_aside {
    width: 100%;
  }
  
  .section_middle {
    width: 100%;
  }

  .menu__mobile{
    display: none;
  }
  
  .menu__mobile{
    position: fixed;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-around;
    width: 400px;
    background-color: var(--color2);
    padding: 20px;
    border-radius: 2rem ;
    background-color: rgb(42, 73, 42);
    z-index: 999;
   
  }
  .menu__mobile button{
    background: transparent;
    border: none;
    cursor: pointer;
  }
  
  
  .menu__mobile i{
    font-size: 2rem;
    background: transparent;
    color: var(--color5);
    
  }
  .menu__mobile button:hover {
    border: 1px solid #fff; 
  }

  .left_albumsPosition{
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 200px;
    width: 100%;
  }

  .left_youMayLikeList{
    display: flex;
    flex-direction: column;
    /* border: 1px solid yellow; */
    width: 100%;
    height: 300px;
    overflow-y: scroll;
    overflow-x: hidden;
  }

  .section_middleHeader h1{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 170%;
    margin-top: 50px;
  }

  .right_asideList{
    display: flex;
    flex-direction: column;
    /* border: 1px solid yellow; */
    width: 100%;
    height: 65%;
    overflow-y: scroll;
    overflow-x: hidden;
    margin-top: 10%;
    margin-bottom: 15%;
  }
  
}