/* Estilos globales */
body {
    font-family: 'Nunito', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #161b1a;
    color: #CCD6F6;
  }
  
  h1, h2, h3 {
    margin: 0;
  }
  
  a {
    text-decoration: none;
    color: #420255;
  }
  
  /* Navbar */
  header {
    position: fixed;
    top: 0;
    width: 100%;
    padding: 10px; 
    background-color: #161b1a;
    z-index: 1000;
  }
  
  nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
  }
  
  nav h1 {
    font-size: 24px;
    color: #8928f8;
    margin-left: 500px;
  }
  
  nav ul {
    list-style: none;
    display: flex;
    margin-right: 400px; 
  }
  
  nav ul li {
    margin: 0 15px; 
  }
  
  nav ul li a {
    font-weight: 600;
    color: #CCD6F6;
    transition: color 0.3s;
  }
  
  nav ul li a:hover {
    color: #8928f8;
  }

  #home {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 100vh;
    padding: 0 100px;
    flex-direction: row;
    gap: 50px;
  }
  
  .intro {
    max-width: 600px;
    flex: 1;
  }
  
  .intro h2 {
    font-size: 48px;
    color: #CCD6F6;
  }
  
  .intro h3 {
    font-size: 24px;
    font-weight: 400;
    color: #b9bfd3;
  }
  
  .intro p {
    margin-top: 20px;
    font-size: 18px;
  }
  
  .social-icons {
    margin-top: 20px;
  }
  
  .social-icons a {
    font-size: 24px;
    margin-right: 15px;
    color: #8928f8;
  }
  
  .social-icons a:hover {
    color: #560caa;
  }
  
  .btn {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #8928f8;
    color: #c9c0c0;
    border-radius: 5px;
    font-weight: 700;
    transition: background-color 0.3s;
  }
  
  .btn:hover {
    background-color: #560caa;
  }
  

  .profile-pic {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .profile-pic img {
    width: 100%;
    max-width: 250px;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(2, 12, 27, 0.7);
  }



#about {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: #161b1a;
    padding: 100px 0;
  }
 
  .about-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    width: 100%;
    padding: 0 50px;
  }
  
  .about-text {
    max-width: 600px;
  }
  
  .about-text h2 {
    font-size: 36px;
    color: #CCD6F6;
  }
  
  .about-text .resume {
    font-size: 16px;
    color: #8928f8;
    margin-bottom: 20px;
  }
  
  .about-text p {
    font-size: 18px;
    color: #d0d3dd;
    margin: 10px 0;
  }
  
  .about-text strong {
    color: #8928f8;
  }
  
  .btn-download-cv {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #8928f8;
    color: #c9c0c0;
    border-radius: 5px;
    font-weight: 700;
    transition: background-color 0.3s;
  }
  
  .btn-download-cv:hover {
    background-color: #560caa;
  }
  
  .about-img img {
    width: 350px;
    border-radius: 10px;
    box-shadow: 0 10px 30px #8928f8;
  }

  /* Sección "Habilidades" */
#skills {
    padding: 100px 0;
    background-color: #161b1a;
  }
  
  .skills-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 50px;
    text-align: center;
  }
  
  .skills-container h2 {
    font-size: 36px;
    color: #CCD6F6;
  }
  
  .skills-container p {
    font-size: 18px;
    color: #dce1e6;
    margin-bottom: 30px;
  }
  
  .skills-tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
  }
  
  .tab-link {
    background-color: transparent;
    border: none;
    color: #8928f8;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 18px;
    transition: color 0.3s;
  }
  
  .tab-link.active,
  .tab-link:hover {
    color: #b777ff;
  }
  
  .tab-content {
    display: none;
  }
  
  .tab-content.active {
    display: block;
  }
  
  .skills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 20px 0;
  }
  
  .skills span {
    background-color: transparent;
    border: 2px solid #8928f8;
    color: #CCD6F6;
    margin: 10px;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 16px;
    transition: background-color 0.3s, color 0.3s;
  }
  
  .skills span:hover {
      background-color: #8928f8;
      color: #ffffff;
  }

  .Project {
      background-color: #161b1a;
      color: #fff;
      padding: 20px;
  }

  .project-card {
      background-color: #161b1a;
      border-radius: 8px;
      padding: 15px;
      margin: 10px 0;
  }

  .technologies span {
      background-color: #3a3a3a;
      border-radius: 5px;
      padding: 5px;
      margin: 5px;
  }

  .demo-button {
      background-color: #007bff;
      color: #fff;
      padding: 10px 15px;
      text-decoration: none;
      border-radius: 5px;
  }

  #projects {
      background-color: #161b1a; /* Mismo color que el resto de la página */
      padding: 100px 0; /* Asegúrate de que tenga el mismo padding */
  }

  .carousel {
    position: relative;
    max-width: 350px; /* Ajusta según sea necesario */
    margin: auto;
    overflow: hidden;
    height: 350px; /* Establece una altura fija para el carrusel */
  }

  .carousel-image {
    display: none;
    width: 100%;
    height: 100%; /* Asegúrate de que las imágenes ocupen toda la altura del contenedor */
    object-fit: cover; /* Mantiene la proporción de la imagen y evita deformaciones */
    border-radius: 10px;
    box-shadow: 0 10px 30px #8928f8;
  }

  .carousel-image.active {
    display: block;
  }

  .carousel-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
  }

  .carousel-controls button {
    background-color: #8928f8;
    border: none;
    cursor: pointer;
    padding: 10px;
    border-radius: 5px;
    transition: background-color 0.3s;
  }

  .carousel-controls button:hover {
    background-color: #560caa;
  }

  .carousel-controls .prev {
    left: 10px; /* Ajusta la posición de la flecha izquierda */
  }

  .carousel-controls .next {
    right: 10px; /* Ajusta la posición de la flecha derecha */
  }

  .carousel-indicators {
    display: flex;
    margin: 0 10px;
  }

  .indicator {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    border-radius: 50%;
    background-color: #bbb;
    cursor: pointer;
    transition: background-color 0.3s;
  }

  .indicator.active {
    background-color: #8928f8;
  }

  .typing-cursor {
    border-right: 2px solid #8928f8; /* Color del cursor */
    animation: blink 1s step-end infinite; /* Efecto de parpadeo */
  }

  @keyframes blink {
    0%, 100% {
      border-color: transparent; /* Cursor invisible al inicio y al final */
    }
    50% {
      border-color: #560caa; /* Cursor visible en el medio */
    }
  }

/* Estilos para la sección de contacto */
#contact {
    padding: 100px 0;
    background-color: #161b1a;
    color: #CCD6F6;
    text-align: center;
}

.contact-container {
    max-width: 600px;
    margin: 0 auto;
    background-color: #2a2a2a; /* Color más claro para el fondo */
    padding: 20px;
    border-radius: 10px; /* Bordes redondeados */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); /* Sombra para el contenedor */
}

.contact-info {
    margin-top: 20px;
    font-size: 18px;
}

.contact-info p {
    margin: 10px 0;
}

.contact-info i {
    margin-right: 10px;
    color: #8928f8; /* Color de los iconos */
}

.btn {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #00bcd4; 
    color: #fff;
    border-radius: 5px;
    font-weight: 700;
    transition: background-color 0.3s;
}

.btn:hover {
    background-color: #0097a7;
}

@media (max-width: 650px) {
  header {
    display: none; 
}  
    #home, #about, #skills, #projects, #contact {
        display: flex;
        flex-direction: column; 
        align-items: center; 
        text-align: center; 
        border: 1px solid #8928f8; 
        border-radius: 10px; 
        padding: 20px; 
        margin: 10px 0; 
    }

    .about-container, .skills-container, .contact-container {
        padding: 0 20px; 
    }

    .social-icons a {
      font-size: 50px; 
      margin: 0 30px;
  }
}

@media (max-width: 650px) {
  .about-container {
      flex-direction: column; /* Cambia a columna para centrar verticalmente */
  }

  .about-img {
      order: 2; /* Asegura que la imagen del carrusel esté debajo del texto */
      width: 100%; /* Asegúrate de que ocupe el ancho completo */
  }

  .about-text {
      order: 1; /* Asegura que el texto esté arriba */
      width: 100%; /* Asegúrate de que ocupe el ancho completo */
      text-align: justify; /* Justifica el texto */
  }
  .about-text h2 {
      text-align: center; /* Centra el título */
  }
}

@media (max-width: 650px) {
    .intro {
        flex-direction: column;
    }

    .contact-btn {
        order: 2; 
    }

    .project-btn {
        order: 3;
    }
}
