 * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  body {
    font-family: "roboto", sans-serif;
    background: linear-gradient(to bottom, #ffffff 35%, #bfbfbf 100%)
  }

  ul {
    margin: 0;
  }


  button {
    border: none;
  }

  .contenedor-general {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 2rem;
    max-width: 100%;
    max-height: 100%;
  }

  fieldset {
    display: flex;
    flex-direction: column;
  }

  section h1 {
    color: blue;
  }

  .central {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    gap: 20px;
    margin: 15px 0;
  }

  /* Estilos para la sección de información */
  .contenedor-info {
    max-width: 500px;
  }

  .contenedor-info h1 {
    font-size: 30px;
    color: black;
    text-align: center;
    margin-bottom: 10px;
  }

  .contenedor-info details {
    margin: 10px 0;
  }

  .contenedor-info summary {
    font-size: 18px;
    color: #000000;
    margin-bottom: 10px;
    background-color: #a289a9;
    padding: 8px;
    border-radius: 5px;
    cursor: pointer;
    width: fit-content;
  }

  .contenedor-info summary:hover {
    background-color: #7f5a84;
    color: #e9e9e9;
  }

  details summary::marker {
    content: "";
  }

  details summary:-webkit-details-marker {
    display: none;
  }

  .texto-principal {
    font-size: 20px;
    color: black;
    margin-top: 15px;
    text-align: justify;
    line-height: 1.5lh;
  }


  .texto__principal-ocultable {
    font-weight: lighter;
    font-style: italic;
    color: #555;
  }

  .img {
    min-width: 50%;
    min-height: 50%;
    display: flex;
    justify-content: center;
  }

  /* #borde {
    border: 5px solid rgb(0, 0, 0);
  } */

  .contenedor-info ul {
    list-style: none;
    margin-bottom: 15px;
  }

  .contenedor-info a {
    display: inline-block;
    margin-top: 20px;
    margin-right: 10px;
    padding: 10px 15px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
  }

  .enlace-github {
    background-color: #333;
    color: white;
  }

  .enlace-github:hover {
    background-color: #555;
  }

  .enlance-linkedin {
    background-color: #0077b5;
    color: white;
  }

  .enlance-linkedin:hover {
    background-color: #005582;
  }

  .header {
    display: flex;
    justify-content: space-evenly;
    background-color: black;

  }

  .header a {
    color: white;
    text-decoration: none;
    padding: 15px;
    font-size: 20px;
  }

  .central img {
    width: 300px;
    border-radius: 50%;
  }

  /*Estilos pantalla escritorio*/
  @media (min-width: 768px) {
    .central {
      flex-direction: row;
      gap: 4rem;
    }

    .contenedor-info {
      max-width: 400px;
      text-align: left;
    }

    .contenedor-info h1 {
      text-align: left;
    }
  }

  /* Estilos para la sección de proyectos */
  .contenedor-proyectos {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    justify-content: center;
    transition: 3.4s;
  }

  .card {
    display: flex;
    flex-direction: column;
    text-align: justify;
    height: 490px;
    width: 300px;
    overflow: hidden;
    border: 3px solid #7f5a84;
    border-radius: 10px;
  }

  .card:hover {
    background: radial-gradient(farthest-corner at 70% 60%, #a289a9, #838284, #ddd0e2);

    box-shadow: 10px 10px 11px -1px rgba(0, 0, 0, 0.39);
    -webkit-box-shadow: 10px 10px 11px -1px rgba(0, 0, 0, 0.39);
    -moz-box-shadow: 10px 10px 11px -1px rgba(0, 0, 0, 0.39);
  }

  .card figure {
    border: none;
    padding: 0;
    margin: 0;
    width: 100%;
  }

  #img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  #titulo-card {
    font-size: 15px;
    margin-top: 12px;
    font-weight: bold;
    margin-left: 12px;
  }

  .contenedor-info-proyectos {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem;
  }


  .contenedor-tecnologias {
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 2rem;
  }

  .texto-descripcion {
    font-size: 15px;
    margin: 0;
  }

  .contenedor-botones {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin: 12px 12px;
  }

  .contenedor-botones button {
    border: none;
    padding: 10px;
    border-radius: 5px;
    cursor: pointer;
    max-width: 50%;
    background-color: #a289a9;
  }

  .contenedor-botones button:hover {
    background-color: #7f5a84;
    color: #e9e9e9;
    box-shadow: 5px 5px 10px -1px rgba(220, 148, 249, 0.39);
    box-shadow: -2px -2px 11px 8px rgba(220, 148, 249, 0.15);
    -webkit-box-shadow: -2px -2px 11px 8px rgba(220, 148, 249, 0.15);
    -moz-box-shadow: -2px -2px 11px 8px rgba(220, 148, 249, 0.15);
}

.contenedor-botones a {
    text-decoration: none;
    color: black;
    font-weight: bold;
    padding-right: 10px;
}

  /* Estilos para el formulario de contacto */
.contenedor-formulario {
    max-width: 700px;
    margin: 0 auto;
    width: 100%;
}
.formulario{
    border: 3px solid #7f5a84;
    padding: 1rem;
    border-radius: 10px;
    margin-bottom: 3rem;
}
.formulario:hover {
    box-shadow: 10px 10px 11px -1px rgba(0, 0, 0, 0.39);
    -webkit-box-shadow: 10px 10px 11px -1px rgba(0, 0, 0, 0.39);
    -moz-box-shadow: 10px 10px 11px -1px rgba(0, 0, 0, 0.39);
}

.formulario__grupo{
    border: none;
    padding: 0;
    margin: 0;
}

.formulario__grupo legend {
    font-size: 1.5rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid #7f5a84;
    padding-bottom: 0.5rem;
    width: 100%;
}

.formulario__campo {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.2rem;
}

.formulario__campo label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #555;
}

.formulario__campo input,
.formulario__campo textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;

}

.formulario__campo textarea {
    resize: vertical;
    min-height: 100px;
}

.formulario__campo input:focus{
    border-color: #7f5a84;
    outline: none;
}

.formulario__campo--check {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}
.formulario__campo--check input {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.formulario__campo--check label {
    font-size: 0.9rem;
    font-weight: normal;
    cursor: pointer;
    color: #555;
    margin-bottom: 0;
}

.formulario__acciones {
    display: flex;
    justify-content: space-around;
}
.formulario__btn {
    background-color: #a289a9;
    color: #000000;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1rem;
}
.formulario__btn:hover {
    background-color: #7f5a84;
    color: #e9e9e9;
    box-shadow: 5px 5px 10px -1px rgba(220, 148, 249, 0.39);
    box-shadow: -2px -2px 11px 8px rgba(220, 148, 249, 0.15);
    -webkit-box-shadow: -2px -2px 11px 8px rgba(220, 148, 249, 0.15);
    -moz-box-shadow: -2px -2px 11px 8px rgba(220, 148, 249, 0.15);
}
.formulario__limpiar {
    background-color: #ccc;
    color: #000;
}
select {
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 1rem;
    color: #333;
}
select:focus {
    border-color: #7f5a84;
    outline: none;
}

option {
    font-size: 1rem;
    color: #333;
}

option:hover {
    background-color: #a289a9;
}
