/* Estilos generales del menú */
.nav {
    padding: 10px 0px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    height: 8vh;
    transition: all 0.3s ease-in-out; /* Transición suave */
    backdrop-filter: blur(0px);
    background: rgba(27, 27, 31, 0);
    border-bottom: 1px solid rgba(255, 255, 255, 0);
}

.nav.scrolled {
    backdrop-filter: blur(10px);
    background: rgba(27, 27, 31, 0.7);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
}

/* Contenedor para los apartados y logo */
.nav-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
}

/* Espaciado entre los elementos del menú */
.nav-menu li {
    font-weight: 550;
    margin-left: 40px;
    text-shadow: 
        0 0 10px #000,
        0 0 20px #000,
        0 0 30px #000,
        0 0 40px #000;
    text-align: center;
}

/* Opcional: quita el margen izquierdo solo al primer elemento para que el logo quede centrado */
.nav-menu li:first-child {
    margin-left: 0;
}

/* Estilo de los enlaces */
.nav-menu a {
    color: white;
    padding: 14px 25px; /* Más espacio en los enlaces */
    border: 0;
    font-size: 1.5vh;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s;
    border-radius: 5px;
}

/* Efecto hover */
.nav-menu li a:hover {
    color: #ffffff;
    text-shadow: 0 0 5px #49a9f8, 0 0 10px #2e4081, 0 0 15px #1f2d6d, 0 0 20px #11054f;
    border-radius: 5px;
}

/* Contenedor del logo */
.logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 40px;
}

/* Estilo del logo */
.logoDG {
    width: 90px;  /* Ajustamos el tamaño del logo */
    height: auto;
}

.nav-menu li.logo-container {
    margin: 0 60px;
}

.logo-container a:hover .logoDG {
    filter: brightness(2) drop-shadow(0 0 16px #49a9f8) drop-shadow(0 0 32px #49a9f8);
    transform: scale(1.12) rotate(-8deg);
    transition: filter 0.3s, transform 0.3s;
}

/* Estilos del botón de menú hamburguesa */

.hamburger {
  cursor: pointer;
   display: none;
}

.hamburger svg {
  /* The size of the SVG defines the overall size */
  height: 3em;
  /* Define the transition for transforming the SVG */
  transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.line {
  fill: none;
  stroke: white;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  /* Define the transition for transforming the Stroke */
  transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
              stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.line-top-bottom {
  stroke-dasharray: 12 63;
}

.hamburger.active svg {
  transform: rotate(-45deg);
}

.hamburger.active svg .line-top-bottom {
  stroke-dasharray: 20 300;
  stroke-dashoffset: -32.42;
}

/* Menú por defecto (desktop) */
.nav-left,
.nav-right {
  display: flex;
  gap: 40px;
}

.mobile-menu {
  display: none;
}

/* Aplica esto para móviles */
@media (max-width: 768px) {
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box; /* Asegura que el padding y border no afecten el tamaño de los elementos */
    }

    body {
        overflow-x: hidden; /* Elimina cualquier desbordamiento horizontal */
        margin: 0; /* Elimina márgenes por defecto */
    }

.nav-menu {
  display: none;
  position: absolute;
  top: 80px;
  left: 0;
  right: 0;
  background-color: #1b1b1f;
  flex-direction: column;
  align-items: center;
  padding: 20px 0;
}

.nav-menu.active {
  display: flex;
}

.nav-menu li {
  margin: 15px 0; /* Espacio entre los elementos del menú */
}

    .hamburger {
        display: block;
    }

/* Estilo del menú móvil oculto inicialmente */
/* Estilo base del menú móvil, inicialmente oculto fuera de la pantalla */
  .mobile-menu {
      display: flex; /* Se usa flexbox para organizar los elementos */
      max-height: 70vh; /* Altura máxima visible (se puede ajustar o eliminar) */
      width: 100%; /* Ocupa todo el ancho */
      height: 75vh; /* ❌ Este valor limita el contenido: deberías eliminarlo si usas max-height dinámico */
      overflow: hidden; /* Oculta el contenido que sobrepasa max-height */
      transition: max-height 0.4s ease-out; /* Transición suave al cerrarse */
      background-color: #1b1b1f; /* Fondo oscuro del menú */
      position: absolute; /* Posición absoluta para que se superponga */
      top: -100vh; /* Empuja el menú fuera de la vista inicialmente */
      text-align: center; /* Alineado a la izquierda */
      z-index: 1000;
  }

  /* Clase opcional (no automática) para mostrar el menú */
  .mobile-menu.active {
      top: 10vh; /* Baja el menú dentro de la vista */
  }

  /* Cuando el checkbox está activado, se muestra el menú */
  #menu-toggle:checked ~ .mobile-menu {
      top: 10vh; /* Mueve el menú visible en pantalla */
      max-height: none; /* Permite que el menú crezca a su altura natural */
      transition: max-height 0.5s ease-in; /* Transición suave al abrirse */
  }

  /* Lista del menú (contenedor de los <li>) */
  .mobile-menu ul {
      display: flex; /* Flexbox para organizar elementos */
      flex-direction: column; /* Coloca los elementos en columna (verticalmente) */
      gap: 30px; /* Espacio entre elementos del menú */
      list-style: none; /* Quita los bullets de lista */
      padding: 10px; /* Espaciado interno */
      margin: 0; /* Quita margen por defecto */
      width: 100%; /* Ocupa todo el ancho del contenedor */
      justify-content: center; /* Centra los elementos verticalmente */
  }

  /* Estilo de cada ítem del menú */
  .mobile-menu ul li {
      padding: 0; /* Elimina padding adicional */
      border: none; /* Sin bordes */
      min-height: 50px; /* Altura mínima para buena interacción táctil */
  }

  /* Enlaces dentro del menú */
  .mobile-menu ul li a {
      display: block; /* El enlace ocupa toda el área clicable */
      color: white; /* Color del texto */
      text-decoration: none; /* Sin subrayado */
      font-weight: 600; /* Negrita */
      padding: 20px 16px; /* Espaciado interno para comodidad táctil */
      white-space: nowrap; /* Evita que el texto se divida en varias líneas */
      font-size: 4vw; /* Tamaño de fuente responsivo */
  }

  /* Efecto hover en enlaces */
  .mobile-menu ul li a:hover {
      background-color: #1b1b1f; /* Fondo al pasar el mouse (puede ajustarse para diferenciarlo más) */
  }
}