    body {
      background-color: #0e0e1a;
      color: #fff;
      font-family: 'Poppins', sans-serif;
    }

    .hero {
      text-align: center;
      /* padding-top: 8rem; */
      padding-bottom: 4rem;
      padding-top: 64px;

    }
    
    .fw-bold{
        color: #e0d509;
    }

   .logo {
      max-height: 60px;
      width: auto;
      height: auto;
    }

    .profile-card {
      background-color: rgba(30, 30, 47, 0.9);
      border-radius: 25px;
      padding: 2rem;
      max-width: 500px;
      margin: 0 auto;
      box-shadow: 0 0 20px rgba(247, 230, 0, 0.2);
      backdrop-filter: blur(10px);
      transition: transform 0.4s ease, box-shadow 0.4s ease;
}

    .descripcion-profesional {
        color: #bdb971; /* o el color que prefieras */
    }

    .profile-card:hover {
      transform: scale(1.02);
      box-shadow: 0 0 30px rgba(247, 230, 0, 0.4);
    }

    .profile-img {
      width: 160px;
      height: 160px;
      object-fit: cover;
      border-radius: 50%;
      border: 4px solid #e0d509;
      margin-bottom: 1rem;
    }


    .iconos-menu a {
      text-decoration: none;
      color: white;
      text-align: center;
      margin: 0 1rem;
      display: inline-block;
    }

    .iconos-menu i {
      font-size: 1.6rem;
      background-color: #1e1e2e;
      padding: 0.8rem;
      border-radius: 50%;
      margin-bottom: 0.5rem;
      transition: 0.3s;
    }

    .iconos-menu i:hover {
      background-color: #e0d509;
      color: #1e1e2e;
    }

    section {
      padding: 4rem 1rem;
    }

    .section-title {
      color: #e0d509;
      font-weight: 600;
      text-align: center;
      margin-bottom: 2rem;
    }

    .skills i {
      font-size: 2rem;
      margin: 0 1rem;
      transition: transform 0.3s;
    }

    .skills i:hover {
      transform: scale(1.2);
      color: #e0d509;
    }

    .credly-logo {
      max-width: 150px;
      width: 100%;
      height: auto;
    }

/* Mejoras de imágenes responsivas y ordenadas */

    .img-fluid {
      max-width: 100%;
      height: auto;
    }

    /* Ajuste general para el carrusel de proyectos */
    #carruselProyectos .carousel-inner img {
      object-fit: contain;
      height: auto;
      max-height: 500px;
      background-color: #0e0e1a;
      width: 100%;
    }

    img[src*="footerEcudoVeracruz.png"],
    img[src*="Upav2.png"] {
      max-width: 150px; /* ajusta el tamaño deseado aquí */
      width: 100%;
      height: auto;
    }


/* Estilos para las validaciones del formulario */
.form-control:focus {
    border-color: #ffc107;
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
}

.error-message {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    display: block;
}

.success-message {
    color: #198754;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    font-weight: 500;
}

.form-control.is-invalid {
    border-color: #dc3545;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.form-control.is-valid {
    border-color: #198754;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='m2.3 6.73.94-.94c.39-.39.39-1.04 0-1.43l-.94-.94c-.39-.39-1.04-.39-1.43 0l-.94.94c-.39.39-.39 1.04 0 1.43l.94.94c.39.39 1.04.39 1.43 0z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-control.is-valid:focus {
    border-color: #198754;
    box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.25);
}

#btnEnviar:disabled {
  background-color: #444; /* gris oscuro */
  color: #ccc;
  cursor: not-allowed;
}

#btnEnviar {
  transition: background-color 0.3s ease;
}

    footer {
      background: #121227;
      padding: 2rem;
      text-align: center;
      color: #cfcf58;
      font-size: 0.9rem;
    }

/* Ajustes responsivos específicos para imágenes grandes */

@media (max-width: 992px) {

  .navbar-collapse {
    text-align: center;
  }

  .navbar-collapse .nav-link {
    width: 100%;
    text-align: center;
    padding: 0.75rem 0;
  }

  
  .navbar-collapse .navbar-nav {
    flex-direction: column;
    align-items: center;
  }

  .nav-main {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 1.5rem;
  }

  .menu-toggle {
    display: none; /* Oculta el ícono ☰ en escritorio */
  }

  .nav-main .navbar-nav {
    flex-direction: row;
    gap: 2rem;
  }

    .navbar-nav {
    flex-direction: column;
    align-items: center;
  }

  .nav-link {
    width: 100%;
    padding: 0.75rem 0;
  }

  .nav-main .nav-link {
    color: #e0d509;
    font-weight: 500;
  }


}

@media (max-width: 768px) {
  #carruselProyectos .carousel-inner img {
    height: 300px;
  }

  .profile-card img.profile-img {
    width: 120px;
    height: 120px;
  }

  .profile-card {
    padding: 1rem;
  }

  .skills i {
    font-size: 1.5rem;
  }
}

/* Secciones ordenadas con margen para mayor claridad visual */
section {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

/* Ajuste adicional en iconos del menú */
.iconos-menu a {
  margin: 0 0.5rem;
}

.iconos-menu i {
  padding: 0.6rem;
  font-size: 1.2rem;
}
