@font-face {
    font-family: 'robotoregular';
    src: url('../Typo/roboto-variablefont_wdthwght-webfont.woff2') format('woff2'),
         url('../Typo/roboto-variablefont_wdthwght-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

body {
  background-color: rgb(0, 0, 0);
  color: white;
  font-family: 'robotoregular';
}

label {
  position: absolute;
  left: -9999px; /* oculto pero accesible */
}

main {
  display: flex;
  flex-direction: row;
  margin-top: 60px; /* igual que la altura de .top_menu */
}

img {
  height: 100%; /*cambiar a 100% para que se vea bien todo dependiendo del tamaño una vez que este todo cuadrado en flex*/
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

h2 {
  font-size: 17pt;
}

/* Estilos para los iconos que hice en png*/
.icons {
  height: 100%;
  border-radius: 50px;
  background-color: inherit;
  color: inherit;
  justify-content: center;
  text-align: center;
}

/* Estilos para el nav superior/header */
.top_menu {
  display: flex;
  flex-wrap: nowrap;
  height: 60px; /* altura real */
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 10px;
  background-color: rgb(0, 0, 0);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  box-sizing: border-box; /*evita que se solape con los elementos de abajo y comience el contenido del main al final de este alto incluyendo el padding*/
}


.left_top_menu {
  display: flex;
  min-width: 200px; /* ancho mínimo para no romper diseño */  
  height: 40px;
  align-items: center; /*centrar verticalmente*/
  gap: 10px;
  justify-content: left; /*espacio entre los elementos*/
 }
.center_top_menu {
  display: flex;
  flex: 1 1 auto; /* pueden crecer y encogerse según el espacio */
  height: 40px;
  align-items: center; /*centrar verticalmente*/
  justify-content: center; /*centrar horizontalmente*/
  margin-left: 150px;
  margin-right: 150px;
}
.right_top_menu {
  display: flex;
  width: 200px; /* ancho mínimo para no romper diseño */
  height: 40px;
  align-items: center; /*centrar verticalmente*/
  justify-content: right; /*espacio entre los elementos*/ 
  gap: 10px;
}

/* Estilos para el contenedor de búsqueda */
.search_container {
  flex: 9;
  display: flex;
  height: 37px;
  align-items: center; /*centrar verticalmente*/
  justify-content: center;
  border-radius: 50px; /* Ajusta el radio según el estilo deseado */
  border: 1px solid rgb(60,60,60);
  background: rgb(19, 19, 19); /*fondo de color */
  margin-left: 10px;
  margin-right: 10px;
}
.search_input {
  height: 100%; /*se ajusta a la altura del contenedor*/
  flex: 9;/*para que se repartan el espacio*/
  border-top-left-radius: 50px; /* Ajuste del borde inferior izquierdo */
  border-bottom-left-radius: 50px; /* Ajuste del borde inferior izquierdo */
  color: inherit; /*hereda el color del texto */
  background: transparent; /*fondo transparente */
  border: none; /*elimina el borde por defecto */
  padding-left: 20px; /* espacio interno a la izquierda */
  outline: none; /* elimina el borde al enfocar */
}
.search_button {
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  border: none;
  background-color: rgb(60, 60, 60); /*cambia el color de fondo del body*/
  color: inherit; /*hereda el color del texto*/
  text-align: center;
  height: 100%; /*se ajusta a la altura del contenedor*/
  flex: 1; /*para que se repartan el espacio*/
}
.search_button:hover {
  background-color: #616161; /* color al pasar el cursor */
}

.top_buttons {
  flex: 0 0 40px; /* ancho fijo botones circulares (0 0 hace que no se deformen y deje el ancho fijo)*/
  color: inherit; /*hereda el color del texto*/
  height: 100%; /*se ajusta a la altura del contenedor - no es necesario el with  porque ya esta definido en el flex*/
  border-radius: 50%; 
  border: none; /*elimina el borde por defecto solo si es un boton*/
  background-color: rgb(60, 60, 60); /*cambia el color de fondo del body*/
  justify-content: center; /*centrar horizontalmente*/
  text-align: center; /*centrar el contenido*/
  margin: 10px; /*espacio entre los elementos agregado por fuera*/
}
.top_buttons:hover {
  background-color: #616161; /* color al pasar el cursor */
}

/* Estilos para el boton crear */
.boton_create {
  flex: 0 0 90px;
  border-radius: 50px; /* Ajusta el radio según el estilo deseado */
  background-color: rgb(60, 60, 60); /*cambia el color de fondo del body*/
  align-items: center;
  justify-content: center;
  color: inherit; /*hereda el color del texto */
  display: flex;
  height: 37px;
  width: 80px;
  padding-right: 20px; /* espacio interno a la izquierda */
  padding-left: 5px; /* espacio interno a la izquierda */
}
.boton_create:hover {
  background-color: #616161; /* color al pasar el cursor */
}
.text_create {
  flex: 0 0 40px;
  color: inherit;
  background-color: inherit;
  border: none;
  border-radius: 50px; /* Ajusta el radio según el estilo deseado */
  text-align: center;
}

/* Estilos para el main */

/* Estilos para el menú lateral izquierdo */
.left_menu {
  display: flex;
  flex-direction: column;
  width: 250px; /* ancho mínimo para no romper diseño */
  height: 100%;
  align-items: flex-start; /*centrar verticalmente*/
  justify-content: left; /*espacio entre los elementos*/
  padding-top: 5px;
  box-sizing: border-box; /*incluye padding/border en el cálculo del ancho*/
  margin-left: 15px;

}
.options_menu {
  display: flex;
  flex-direction: row;
  width: 100%; /* ancho mínimo para no romper diseño */
  height:35px;
  align-items: center;
  font-size: 11pt;
  justify-content: flex-start; /*espacio entre los elementos*/
  gap: 8px;
}
.options_menu:hover {
  background-color: rgb(40, 40, 40);
  border-radius: 10px;
}
.hr_nav {
  border: 0.5px solid rgb(60, 60, 60);
  width: 100%;
}
.footer_text {
  display: flex;
  width: 90%;
  flex-wrap: wrap;
  color: rgb(60, 60, 60);
  background-color: inherit;
  gap: 4px 12px; /* espacio entre líneas y entre palabras */
  font-size: 10pt;
  margin-top: 20px;
  align-items: center;
  justify-content: flex-start;
}
.footer_text p {
  margin: 0;
  padding: 0;
  line-height: 1;
  color: rgb(168, 168, 168);
}
.footer_text p:hover {
  text-decoration: underline;
}
.h3_options_menu{
  width: 100%;
  margin-left: 5px;
  align-items: center;
}

.navegacion_horizontal{
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 30px;
  gap: 5px;
  margin-bottom: 5px;
}
.nav_button{
  flex:content;
  border-radius: 50px; /* Ajusta el radio según el estilo deseado */
  background-color: rgb(60, 60, 60); /*cambia el color de fondo del body*/
  align-items: center;
  justify-content: center;
  color: inherit; /*hereda el color del texto */
  border: none;
}
.nav_button:hover{
  background-color: #616161; /* color al pasar el cursor */
}

.main_content {
  display: flex;
  flex-direction: column;
  width: 100%; /* respeta el menú lateral */
  margin: 20px auto 0;/* auto centra horizontalmente */
  box-sizing: border-box;    /* incluye padding/border en el cálculo */
}

.video_container {
  margin-top: 25px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: flex-start;
  width: 100%;
  height: 350px;
}

.shorts_container {
  margin-top: 5px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: flex-start;
  width: 100%;
  height: 450px;
}

.video_item {
  flex: 1; /* cada item ocupa el mismo espacio */
  min-width: 0; /* evita que el contenido desborde */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  height: 100%;
}
.video_item:hover {
  background: rgb(14, 14, 14); /*fondo de color */
  border-radius: 10px;
}

.video_img {
  padding: 5px;
  width: 100%;
  box-sizing: border-box;
}

.video_img img {
  border-radius: 10px;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.video_footer {
  display: flex;
  flex-direction: row;
  margin-left: 5px;
  align-items: flex-start;
  gap: 10px; /* separación entre bloques */
  margin-bottom: 10px;
}

.video_user {
  flex: 0 0 auto; /* ocupa solo lo que necesita */
  width: 40px;
  height: 40px;
}

.video_user img {
  border-radius: 50%;
  width: 35px;
  height: 35px;
  object-fit: cover;
}

.video_info {
  flex: 1; /* ocupa todo el espacio sobrante */
  min-width: 0; /* clave para que el texto no fuerce ancho extra */
  overflow: hidden; /* evita que se salga del recuadro */
  white-space: normal; /* permite saltos de línea */
}

.video_info h4,
.video_info p,
.video_info footer {
  margin: 0; /* elimina márgenes extra */
  line-height: 1.4; /* mejora legibilidad */
  margin-bottom: 5px;
}
.video_info footer {
  color: rgb(150, 150, 150);
}
.video_info footer strong {
  color: white;
}
.verify {
  height: 14px;
  width: 14px;
  margin-left: 5px;
}
.video_info p {
  color: rgb(150, 150, 150);
  font-size: 14px;
  display: flex;
  align-items: center;
}

.options_icon {
  flex: 0 0 30px; /* ancho fijo para el icono */
  height: 30px;
  display: flex;
  margin-left: auto;
  justify-content: flex-end;
}
.options_icon:hover {
  background-color: rgb(40, 40, 40);
  border-radius: 50%;
}
.shorts {
  display: flex;
  flex-direction: row;
  margin-top: 25px;
  width: 98%; /* ancho mínimo para no romper diseño */
  height: 35px; /* mejora legibilidad */
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}