/* ── NAV LINK BASE ── */
.nav-link {
  margin: 0 15px;
  text-decoration: none;
  color: #1c5b3d;
  font-weight: 500;
  font-size: 15px;
  position: relative;
  transition: color 0.3s;
}

/* Línea animada abajo */
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: #3fb67c;
  border-radius: 2px;
  transition: width 0.3s ease;
}

.nav-link:hover { color: #3fb67c; }
.nav-link:hover::after { width: 100%; }

/* Activo (scroll spy o página actual) */
.nav-active {
  color: #2b8e5c !important;
  font-weight: 700;
}

.nav-active::after {
  width: 100% !important;
  background: #2b8e5c;
}
/* ── NAV LINK BASE ── */
.nav-link {
  margin: 0 15px;
  text-decoration: none;
  color: #1c5b3d;
  font-weight: 500;
  font-size: 15px;
  position: relative;
  transition: color 0.3s;
}

/* Línea animada abajo */
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: #3fb67c;
  border-radius: 2px;
  transition: width 0.3s ease;
}

.nav-link:hover { color: #3fb67c; }
.nav-link:hover::after { width: 100%; }

/* Activo (scroll spy o página actual) */
.nav-active {
  color: #2b8e5c !important;
  font-weight: 700;
}

.nav-active::after {
  width: 100% !important;
  background: #2b8e5c;
}

 /* ── HEADER ── */
    header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 20px 60px;
      position: sticky;
      top: 0;
      background: rgba(255,255,255,0.5);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 2px 10px rgba(0,0,0,0.05);
      z-index: 200;
    }

    .logo-link {
      display: flex;
      align-items: center;
      height: 60px;
      text-decoration: none;
      transition: transform 0.3s ease;
    }

    .logo-link:hover { transform: scale(1.05); }

    .logo-link img {
    height: 20rem;
    width: auto;
}

    /* ── NAV LINKS ── */
    .nav-link {
      margin: 0 15px;
      text-decoration: none;
      color: #1c5b3d;
      font-weight: 500;
      font-size: 15px;
      position: relative;
      transition: color 0.3s;
    }

    .nav-link::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 0;
      width: 0;
      height: 2px;
      background: #3fb67c;
      border-radius: 2px;
      transition: width 0.3s ease;
    }

    .nav-link:hover { color: #3fb67c; }
    .nav-link:hover::after { width: 100%; }

    .nav-active {
      color: #2b8e5c !important;
      font-weight: 700;
    }

    .nav-active::after {
      width: 100% !important;
      background: #2b8e5c;
    }

    /* ── LOGIN BTN ── */
    .login-btn {
      background: linear-gradient(135deg, #3fb67c 0%, #2f6f56 100%);
      color: #ffffff;
      font-weight: 700;
      padding: 12px 28px;
      border-radius: 14px;
      text-decoration: none;
      transition: all 0.25s ease;
      box-shadow: 0 4px 14px rgba(0,0,0,0.18);
      border: 1px solid rgba(255,255,255,0.25);
    }

    .login-btn:hover {
      transform: translateY(-2px) scale(1.03);
      background: linear-gradient(135deg, #2f6f56 0%, #3fb67c 100%);
      box-shadow: 0 6px 18px rgba(0,0,0,0.25);
    }

    /* ── MENÚ HAMBURGUESA ── */
    .menu-toggle {
      display: none;
      font-size: 28px;
      cursor: pointer;
      color: #1c5b3d;
      transition: transform 0.3s ease;
    }

    .menu-toggle.active { transform: rotate(90deg); }

    @media (max-width: 900px) {
      header { padding: 15px 25px; }

      .menu-toggle { display: block; }

      nav {
        position: absolute;
        top: 70px;
        right: 0;
        background: rgba(255,255,255,0.97);
        backdrop-filter: blur(12px);
        flex-direction: column;
        align-items: center;
        width: 100%;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        z-index: 150;
      }

      nav.show { max-height: 400px; }

      .nav-link {
        display: block;
        padding: 14px 0;
        width: 100%;
        text-align: center;
        border-bottom: 1px solid rgba(0,0,0,0.05);
        margin: 0;
      }

      .login-btn {
        display: none; /* se oculta en móvil para no romper el header */
      }
    }



